Skip to content

DX-2986: add Claude Fable 5.1 and GPT-6 Astra, correct spark and nano picker entries - #233

Merged
buggyhunter merged 6 commits into
mainfrom
DX-2986
Sep 7, 2026
Merged

buggyhunter merged 6 commits into
mainfrom
DX-2986

Conversation

@alitariksahin

@alitariksahin alitariksahin commented Sep 2, 2026 •

Copy link
Copy Markdown
Collaborator

What

Adds Claude Fable 5.1 and GPT-6 Astra to the SDKs and the model picker, and corrects two picker entries that no longer match what the backend charges.

Changeset included: patch bump on @upstash/box and @upstash/box-cli.

Claude Fable 5.1

Available on the Claude API, OpenRouter, Vercel AI Gateway and OpenCode Zen. Verified against each catalog rather than assumed.

ClaudeCode.Fable_5_1                anthropic/claude-fable-5-1
OpenRouterModel.Claude_Fable_5_1    openrouter/anthropic/claude-fable-5.1
VercelModel.Claude_Fable_5_1        vercel/anthropic/claude-fable-5.1
OpenCodeModel.Claude_Fable_5_1      opencode/claude-fable-5-1
OpenCodeModel.Zen_Claude_Fable_5_1  opencode/claude-fable-5-1

Note the spelling split: the Claude API and Zen use claude-fable-5-1, while the OpenRouter and Vercel gateways list it as claude-fable-5.1. Confirmed against OpenRouter's live /api/v1/models and the Vercel gateway catalog.

Eight picker entries, mirroring exactly where Fable 5 already appears. CursorModel is deliberately untouched, for both models: Cursor publishes no catalog I could check, so an entry there would be a guess.

Same members added to the Python SDK, plus the model table in the SDK README.

GPT-6 Astra

Added to every catalog that carries it, each one checked rather than assumed. Unlike Fable 5.1 there is no spelling split: every provider uses gpt-6-astra.

OpenAICodex.GPT_6_Astra      openai/gpt-6-astra              OpenAI model page
OpenRouterModel.GPT_6_Astra  openrouter/openai/gpt-6-astra   OpenRouter live catalog
VercelModel.GPT_6_Astra      vercel/openai/gpt-6-astra       Vercel gateway catalog
OpenCodeModel.GPT_6_Astra    opencode/gpt-6-astra            Zen pricing page

Six picker entries, mirroring where the current OpenAI flagship already appears. Same members in the Python SDK, plus the SDK README table.

Not added: gpt-6-astra-pro, which OpenRouter lists at a price identical to plain astra while appearing on no OpenAI page and not on Zen; and gpt-6-astra-fast, which is a 2x billing mode rather than a model id on the OpenAI API, exposed as one only by the Vercel gateway.

Picker corrections

OpenAICodex.GPT_5_3_Codex_Spark removed from the picker. It is a ChatGPT research preview, not an API model: its docs page 404s and the coordinator no longer prices it, so selecting it produced a run against a model that does not exist and would bill at the unknown-model default.

OpenCodeModel.GPT_5_3_Codex_Spark is deliberately kept. Same name, different product: Zen sells it and publishes a price.

GPT-5 Nano moved from the free group to the paid group and lost its (Free) suffix. Zen now charges $0.05 / $0.40 per MTok, so the picker was advertising free while the backend billed paid. Big Pickle is still genuinely free and stays.

Not a breaking change

Both spark enum members remain exported from the TypeScript and Python SDKs. Removing them would break consumers, so they should be deprecated with JSDoc in a separate PR. Taking the option out of the picker is what stops users selecting it.

Verification

  • pnpm ci:lint passes across all four workspace projects
  • tsc --noEmit clean on packages/sdk and packages/cli
  • packages/sdk unit tests: 30 files, 431 passed
  • packages/cli unit tests: 43 files, 479 passed
  • Python types.py parses, with every added member carrying the intended value

Note for local checkouts: packages/cli resolves @upstash/box through a workspace symlink to packages/sdk/dist, so the CLI will not typecheck against a stale SDK build. Run pnpm build first. CI does this already.

Related

This is the picker and SDK half of DX-2986. Pricing for both models is in upstash/box-backend#246 and the console display mirror is a separate PR on DX-2986 in upstash-console-v2. The backend PR should land first; this one removes the (Free) label that the backend change would otherwise contradict.

Two model picker entries no longer match what the backend charges.

OpenAICodex.GPT_5_3_Codex_Spark is a ChatGPT research preview, not an API
model; its OpenAI docs page 404s and the coordinator no longer prices it, so
selecting it produced a run against a model that does not exist and would
bill at the {3.0, 1.50, 15.0} unknown-model default. Removed from the picker.

OpenCodeModel.GPT_5_3_Codex_Spark is deliberately untouched: same name,
different product. Zen sells it and still publishes a price.

Zen now charges $0.05 / $0.40 per MTok for GPT-5 Nano, but the picker still
listed it under "OpenCode — Free" as "GPT-5 Nano (Free)", so the UI advertised
free while the backend billed paid. Moved to the Paid group and dropped the
suffix. Big Pickle is still genuinely free and stays.

The SDK enums keep both spark members. They are exported from the TypeScript
and Python SDKs, so removing them is a breaking change; deprecating them is a
separate PR. Taking them out of the picker is what stops users selecting one.
Anthropic released Claude Fable 5.1. Same $10 / $50 per MTok as Fable 5, but
cache reads are 0.025x base input ($0.25 / MTok) rather than the 0.1x every
other Claude model uses. Fable 5 moves to the legacy list and stays selectable.

Added across every provider that actually carries it, verified against each
catalog rather than assumed:

  ClaudeCode.Fable_5_1          anthropic/claude-fable-5-1
  OpenRouterModel.Claude_Fable_5_1  openrouter/anthropic/claude-fable-5.1
  VercelModel.Claude_Fable_5_1      vercel/anthropic/claude-fable-5.1
  OpenCodeModel.Claude_Fable_5_1    opencode/claude-fable-5-1
  OpenCodeModel.Zen_Claude_Fable_5_1  opencode/claude-fable-5-1

Note the spelling split: the Claude API and Zen use claude-fable-5-1, while
the OpenRouter and Vercel gateways list it as claude-fable-5.1. Confirmed
against OpenRouter's live /api/v1/models and the Vercel gateway catalog.

CursorModel is deliberately untouched. Cursor publishes no catalog I could
check, so adding an entry there would be a guess.

Eight picker entries added, mirroring where Fable 5 already appears.
@linear-code

linear-code Bot commented Sep 2, 2026

Copy link
Copy Markdown

DX-2986

OpenAI released gpt-6-astra. Added to every catalog that carries it, each one
checked rather than assumed:

  OpenAICodex.GPT_6_Astra      openai/gpt-6-astra              OpenAI model page
  OpenRouterModel.GPT_6_Astra  openrouter/openai/gpt-6-astra   OpenRouter live catalog
  VercelModel.GPT_6_Astra      vercel/openai/gpt-6-astra       Vercel gateway catalog
  OpenCodeModel.GPT_6_Astra    opencode/gpt-6-astra            Zen pricing page

Six picker entries, mirroring where the current OpenAI flagship already
appears. Same members in the Python SDK, plus the SDK README table.

`CursorModel` is untouched, as with Fable 5.1: Cursor publishes no catalog to
check against.

Not added: gpt-6-astra-pro, which OpenRouter lists at a price identical to
plain astra and which appears on no OpenAI page and not on Zen; and
gpt-6-astra-fast, which is a 2x billing mode rather than a model id on the
OpenAI API, exposed as an id only by the Vercel gateway.

Pricing for both new rows is in upstash/box-backend#246.
The SDK README's model table and the collapsed single-entry OpenCode free
group were left unformatted. pnpm ci:lint now passes across all four
workspace projects.
@alitariksahin alitariksahin changed the title DX-2986: add Claude Fable 5.1, correct spark and nano picker entries DX-2986: add Claude Fable 5.1 and GPT-6 Astra, correct spark and nano picker entries Sep 7, 2026
@buggyhunter
buggyhunter merged commit 9280c56 into main Sep 7, 2026
11 checks passed
@buggyhunter
buggyhunter deleted the DX-2986 branch September 7, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants