Claude Code
Claude Code is an AI agent harness by Anthropic released on February 24, 2025.1 It is available as a CLI tool as well as a GUI in the Claude app.2
Architecture
Claude Code is distributed as a native application for macOS, Windows, and Linux distributions. It uses the Bun runtime.
Alongside the standalone program, Claude Code also powers Claude.ai under the hood and the Claude Agent SDK as a library.
This wiki doesn’t cover Claude Code’s technical details extensively. If such interests you, we recommend you refer to the official documentation or search online.
Model availability
Claude Code authenticates several ways. This wiki draws the distinction at the four that matter for which models you can reach:
- An Anthropic API key —
ANTHROPIC_API_KEY, sent asX-Api-Key. - A Claude subscription — either the
/logincredential (the default for Pro, Max, Team and Enterprise) or a long-lived token fromclaude setup-token, set asCLAUDE_CODE_OAUTH_TOKEN. Both are subscription OAuth credentials. - A third-party provider — Amazon Bedrock, Google Cloud or Microsoft Foundry, selected with
CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXorCLAUDE_CODE_USE_FOUNDRY. Each keeps its own lifecycle. - A gateway or bearer-token proxy —
ANTHROPIC_AUTH_TOKEN, anapiKeyHelperscript, or a Claude apps gateway session.
Anthropic documents a seven-step precedence order across these, plus Anthropic profiles and Workload Identity Federation; the real picture is more complicated than the four-way split above, which is a simplification for this wiki’s purposes.3
The surface described below is the second one: a subscription credential against Anthropic’s own endpoint. Claude.ai is a separate surface reached through a different endpoint, and cloud sessions on claude.ai/code always use subscription credentials.3
What Anthropic documents
- The
/modelpicker’s rows can be reordered and relabelled withmodelPicker, and the selectable set restricted withavailableModels;enforceAvailableModels,modelOverridesandmodelSettingscover related behaviour.4 - A model can be chosen at launch with
claude --model <alias|name>orANTHROPIC_MODEL=<alias|name>. Both apply only to the session they launch, and both take precedence over a model saved with/model.5 - Opus 4.0 and 4.1 are automatically remapped to the current Opus version on the Anthropic API.
CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1prevents this, for pinning an older model deliberately. The remap does not run on Bedrock, Google Cloud’s Agent Platform or Microsoft Foundry.6 - Some models are reachable only through a bracketed variant —
[1m]for a 1M context window — and access to those variants depends on plan.5
Anthropic does not document which models the picker lists by default.
What we have measured
Claude Code’s endpoint serves a different set of models than Claude.ai, for the same Anthropic organization and subscription plan.
- On Sep 8, 2026,
GET /v1/modelsreturned twelve models to an organization API key and eleven to a subscription OAuth token. The single difference wasclaude-3-opus-20240229, API-key-only; a targeted retrieve and a minimalPOST /v1/messagesboth returned a model-specific404under the subscription credential.7 - On Sep 21, 2026, the same held for a second subscription credential with a different scope set, so the exclusion does not follow from token scope.7
- On Sep 21, 2026, the model menu at
claude.ai/codeomitted Opus 3 whileclaude.ai/newoffered it at the exact id, on one Max account minutes apart.8
So every model reachable through the Anthropic API is reachable on subscription billing except Claude 3 Opus, which remains available through Claude.ai and through the API directly.
Unverified observations
Rain’s own notes from using Claude Code, recorded because they are useful rather than because they have been tested.
- The TUI’s default picker appears to show only the most recent model of each class (at the time of writing: Opus 5, Fable 5.1, Sonnet 5, Haiku 4.5).
- Passing an id with
--modelorANTHROPIC_MODELappears to reach models the picker does not list. The flags are documented; that they reach unlisted ids is not stated.
Notice: The above may be outdated by the time you read this. Verify how authentication works for you and how it affects model availability against your own Claude Code installation, and refer to Anthropic’s documentation for what is officially supported.
Stealth models
In Claude Code and Claude.ai, Anthropic may A/B test snapshots of future models without disclosing this to the user or operator who deliberately selected a model. This has only been publicly disclosed in system cards.
Footnotes
-
Claude 3.7 Sonnet and Claude Code (Anthropic, Feb 24, 2025) ↩
-
Claude Code (Claude.com, retrieved July 7, 2026) ↩
-
Claude Code Docs - Authentication (Anthropic, retrieved Sep 21, 2026) ↩ ↩2
-
All settings - Claude Code Docs (retrieved Sep 21, 2026) ↩
-
Model configuration - Claude Code Docs (retrieved Sep 21, 2026) ↩ ↩2
-
Environment variables - Claude Code Docs (retrieved Sep 21, 2026) ↩
-
GET /v1/modelsandPOST /v1/messagescompared under an org API key and under a Claude subscription OAuth token, Sep 8 2026; re-checked Sep 21 2026 against a second OAuth credential type with the same result. Private household measurement, not a published source. ↩ ↩2 -
Model pickers read from the DOM on
claude.ai/codeandclaude.ai/new, Sep 21, 2026, one Max account. ↩