Skip to content

[Provider]: Anthropic OAuth rejects claude-fable-5-2 with claude_code_version_too_old (CLAUDE_CLI_VERSION is 2.1.280, 2.1.290 required) #8461

Closed

Description

@yashptel

Client or integration

Codex Desktop through an OpenCodex hub

Provider or upstream service

Anthropic (anthropic OAuth provider)

OpenCodex version

2.97.0 (hub). Also checked: CLAUDE_CLI_VERSION is "2.1.280" in v2.98.0, v2.99.0 and dev at a144140.

Endpoint or capability

Anthropic Messages requests for claude-fable-5-2 through the OAuth (Claude Code) identity.

Current behaviour

claude-fable-5-2 appears in the provider's model list after model discovery and in the synced Codex catalog. Every request to it fails with HTTP 400 claude_code_version_too_old. Other Claude models, such as claude-fable-5-1, keep working through the same account.

Expected behaviour

OpenCodex presents a Claude Code version that Anthropic accepts for claude-fable-5-2, which is 2.1.290 or newer according to the error.

Minimal redacted request or reproduction

  1. Log in to the anthropic provider with OAuth.
  2. Run ocx sync, so anthropic/claude-fable-5-2 is in the catalog.
  3. Send any turn to anthropic/claude-fable-5-2 from Codex.

Actual response or error

Provider error 400: {"type":"error","error":{"type":"invalid_request_error","message":"Claude Code 2.1.280 does not support this model; version 2.1.290 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.","details":{"error_code":"claude_code_version_too_old"}}}

Upstream documentation

The requirement is stated in the error response itself.

Suggested mapping or implementation notes

The version comes from CLAUDE_CLI_VERSION in src/providers/claude-cli-identity.ts, which feeds CLAUDE_CLI_USER_AGENT (src/adapters/anthropic.ts:589). It was last aligned in e04aae0 (#7838, "align Claude Code 2.1.280 OAuth profile"). CLAUDE_CODE_HEADERS in src/adapters/client-fingerprint.ts also documents 2.1.280 and the matching SDK and runtime versions. Per the comment on CLAUDE_CLI_VERSION, the profile should be realigned to a current Claude Code release together with a live check.

Additional context and attachments

The hub runs in Docker (linux/arm64) as a hub for remote Codex and Claude clients. Model discovery lists Fable 5.2, so users can pick a model that always fails until the identity is updated.

Checks

  • I searched existing provider and compatibility issues.
  • The request and response were redacted.
  • The expected behaviour is based on an upstream specification or a concrete client requirement.

Activity

  1. coderabbitai commented on Nov 9, 2026

    @coderabbitai
    Contributor
    🔗 Related PRs

    #7838 - fix(anthropic): align Claude Code 2.1.280 OAuth profile and isolate session/device IDs [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  2. added
    account-poolOAuth, credentials, Codex pool, quota, failover, plans
    catalogModel catalog, slugs, visibility, routed entries
    providerProvider adapters, OpenAI-compat presets, upstream API quirks
    on Nov 9, 2026
  3. konstantinosbotonakis commented on Nov 9, 2026

    @konstantinosbotonakis
    Contributor

    Same failure here on v2.99.0 (macOS arm64, Codex in T3 Code through a local OpenCodex proxy), with the same claude_code_version_too_old 400 for claude-fable-5-2.

    A local workaround confirms the root cause. Changing the one line in src/providers/claude-cli-identity.ts to

    export const CLAUDE_CLI_VERSION = "2.1.321";

    (2.1.321 is the current @anthropic-ai/claude-code release) and running ocx restart fixes it. A minimal /v1/responses request to anthropic/claude-fable-5-2 now completes, and the default OAuth models still work. I left CLAUDE_CLI_SDK_PACKAGE_VERSION and CLAUDE_CODE_HEADERS unchanged, so I can't say whether the rest of the fingerprint should move with it.

    Please bump the Claude Code identity to 2.1.290 or later in the next release. Every reinstall or update currently brings 2.1.280 back.

  4. napiermd commented on Nov 9, 2026

    @napiermd

    Same failure on v2.99.0 on two Macs through the anthropic OAuth provider. anthropic/claude-fable-5-2 returns the claude_code_version_too_old 400 on both. Opus 5.5 keeps working through the same accounts.

    Is this planned for the next release? CONTRIBUTING says authentication surfaces need a maintainer sponsor, so I'd like to check before anyone opens a PR.

  5. nostitos commented on Nov 9, 2026

    @nostitos

    Easy fix but,

    Slow turn-arround for such a big SOTA model release.

    "OCX has a supported per-provider User-Agent override that takes precedence over the stale version. I’ll set it to your installed Claude Code version, 2.1.319."

  6. thisisjun786 commented on Nov 10, 2026

    @thisisjun786
    Contributor

    Confirmed on a Linux hub (2.99.0, npm install): applying only the src/ changes from #8464 on top of v2.99.0 makes anthropic/claude-fable-5-2 answer through the OAuth provider. claude-opus-5-5 and claude-sonnet-5-5 still answer after the change.

  7. lidge-jun commented on Nov 10, 2026

    @lidge-jun
    Owner

    fixin rn

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

    account-poolOAuth, credentials, Codex pool, quota, failover, planscatalogModel catalog, slugs, visibility, routed entriesproviderProvider adapters, OpenAI-compat presets, upstream API quirksprovider-compatibilityProvider compatibility reports

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions