Skip to content

[Bug]: pinned claude-agent-sdk 0.3.241 ships Claude Code 2.1.241, which rejects claude-fable-5-1 (needs 2.1.251+) #1298

Description

@orientpine

What happened?

claude-sdk-oauth/claude-fable-5-1 is in the 2026.9.2 model catalog, but every turn on it fails. The claude-sdk-oauth provider spawns the Claude Code binary bundled with @anthropic-ai/claude-agent-sdk, and packages/coding-agent/package.json pins that SDK to exactly 0.3.241 (still 0.3.241 at HEAD, 2026.9.2-4). The SDK's own package.json says "claudeCodeVersion": "2.1.241", and the API refuses the model from that binary:

API Error: 400 Claude Code 2.1.241 does not support this model; version 2.1.251 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.

Same prompt, only the binary differs (repro is against the binaries directly, so no extension is involved):

binary version -p --output-format json --model claude-fable-5-1 "Reply with exactly PONG"
node_modules/@anthropic-ai/claude-agent-sdk-linux-x64/claude (what senpi spawns) 2.1.241 rc=1, "is_error":true, "terminal_reason":"api_error", "api_error_status":400, modelUsage only has claude-haiku-4-5-20251001
~/.local/bin/claude (standalone install) 2.1.258 rc=0, "terminal_reason":"completed", modelUsage includes claude-fable-5-1

Workaround that works today: export CLAUDE_CODE_EXECUTABLE="$HOME/.local/bin/claude"core/extensions/builtin/claude-sdk-oauth/executable.js checks that override first. It only takes effect for sessions launched from a shell that has it; an already-running session / RPC host keeps the bundled binary.

Steps to reproduce

  1. Install @code-yeongyu/senpi@2026.9.2 (mine comes via omo-ai@5.0.0-0.beta.34, bun global). Confirm node_modules/@anthropic-ai/claude-agent-sdk/package.json has "version": "0.3.241" / "claudeCodeVersion": "2.1.241".
  2. Leave CLAUDE_CODE_EXECUTABLE unset.
  3. Select claude-sdk-oauth/claude-fable-5-1 in a session, or call the bundled binary directly:
    node_modules/@anthropic-ai/claude-agent-sdk-linux-x64/claude -p --output-format json --model claude-fable-5-1 "Reply with exactly PONG" < /dev/null
    
  4. Get the 400 above. Point CLAUDE_CODE_EXECUTABLE at any Claude Code >= 2.1.251 and the same call succeeds.

Expected behavior

A model listed in the catalog should work with the SDK senpi ships. Bumping the pin to >= 0.3.251 fixes it with no code change — npm currently has 0.3.251, 0.3.252, 0.3.257, 0.3.258, and SDK 0.3.N tracks Claude Code 2.1.N. Nice-to-have: when this specific 400 comes back, print the "bump the SDK / set CLAUDE_CODE_EXECUTABLE" hint instead of the bare API error.

Side note, not root-caused: running a nested omo -p --mode json --model claude-sdk-oauth/claude-fable-5-1 "..." from inside a live senpi session hangs with no output (240 s, with and without the override), which is why the repro above uses the binary directly. Can file separately if that's useful.

Version

@code-yeongyu/senpi 2026.9.2 (via omo-ai 5.0.0-0.beta.34), @anthropic-ai/claude-agent-sdk 0.3.241 (bundled Claude Code 2.1.241), Linux x64 glibc, bun 1.3.14.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions