Desktop model picker doesn't remember 1M variant; a subagent's 1M-credits 429 clamps the whole session to 200k
Status Open
Reported on v2.1.260
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 0 comments · opened Sep 6, 2026
Environment
- Claude Code Desktop app (Code tab) driving remote
ccd-cli2.1.255 / 2.1.260 on Linux - Max subscription, usage credits enabled but balance 0 (
out_of_credits)
Summary
Two related problems around the [1m] model variants:
- Picker does not persist the 1M choice. Selecting e.g.
claude-opus-4-6[1M]works for that session, but every new session starts again with the bareclaude-opus-4-6/claude-sonnet-4-6ID (Desktop always passes--model <full id>, sosettings.jsonmodelandANTHROPIC_DEFAULT_*_MODELcannot influence it). There is no setting to make the 1M variant the default.
- One subagent 429 silently clamps the main session to 200k for the rest of the process. With
ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6[1M], anAgent(model: "sonnet")call getsrate_limit_error: Usage credits are required for long context requests.The 429 handler then sets a process-level latch (accountCreditLatches.longContext1mCreditsBlocked, telemetrytengu_1m_credits_clamp_activated), and the context-window resolver returns 200k for every model in the process, including the main session running a natively-1M model (Fable 5.1 / Opus 4.7) that never needed credits. Observed effect: the main session immediately auto-compacts from ~500-750k down, and every later compaction fires at ~167-170k. Nothing in the UI indicates this happened;/model X[1M]still prints "(1M context)" but the compaction threshold stays at 200k. The latch is never reset; only a process restart (new session / resume) clears it.
Steps to reproduce (2)
settings.jsonenv:ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6[1M]on an account without usage credits.- Start a session with
--model claude-fable-5-1(or any native-1M model). Work until context > 200k. - Call the Agent tool with
model: "sonnet". Subagent fails with the 429 above. - Within 2-3 minutes the main session auto-compacts; all subsequent compactions happen at ~170k preTokens.
Expected
- The 1M entitlement clamp should be scoped to the model/request that actually requires credits, not to the whole process. A native-1M main model should keep its window.
- The clamp should be visible (status line / message) and clearable without restarting.
- The picker should remember the last 1M choice, or expose a setting for the default variant.
Workaround we use
Remove [1M] from the sonnet alias so subagents run bare claude-sonnet-4-6 (200k), and restart sessions that were already clamped.