Skip to content

v0.24.1

Choose a tag to compare

@kid7st kid7st released this 03 Oct 14:50
· 207 commits to main since this release
967e209

A patch release: a Sign in with ChatGPT lists only the models its account can run.

Changed

A ChatGPT sign-in on openai lists its account's models (#699, closes #698). With Sign in with ChatGPT, availableModelsFromDir listed all 44 built-in openai/ models, and a ChatGPT account is refused most of them on the first run (400 The '<model>' model is not supported when using Codex with a ChatGPT account). It now lists only the models in the account's own catalog: OpenAI's GET /v1/models for the same token, entries with visibility: "list". pi's available-model snapshot, which chat's model selector reads, follows the same list. An API key on openai keeps the built-in list.

  • The catalog is read at login and on every token refresh, and kept on the stored credential as accountModels. A different account brings its own list, and nothing account-specific is written to the definition's models-store.json. A caller's own credentialStore must keep that field as stored.
  • A token refresh never fails because the catalog could not be read: the rotated token is stored and the previous catalog kept.
  • A ChatGPT sign-in made before 0.24.1 lists no openai/ model until its next token refresh (within about an hour) or a new fastagent login. availableModelsFromDir logs why. It does not fall back to the built-in list, and it does not send this to warn, which still reports only a broken credentials file.

Known limits: capabilities().allowedModels and update({ model }) still cover the whole registry, and model metadata (contextWindow, thinking levels) still comes from pi's built-in data, not the catalog.

Full Changelog: v0.24.0...v0.24.1