[BUG] Merged Claude app runs Opus 4.6 at 200K context on Max 5x (help center says 500K); ~92K fixed overhead leaves ~50K per compaction cycle

Status Open
Maintainer reply None cached
Activity 2 comments · opened Oct 8, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Since the chat + Cowork merge, a long-running Opus 4.6 conversation in the merged Claude app (Max 5x, usage credits enabled) auto-compacts every handful of exchanges.

Measured from the session transcript's usage fields (input + cache_creation + cache_read per assistant message):

  • First API call, before any conversation: 92,034 tokens (system prompt + tools + project instructions/docs)
  • Largest context reached before auto-compaction fired: 142,596 tokens
  • Effective room per cycle: ~50,000 tokens

This matches plain claude-opus-4-6 (200K), i.e. the Cowork feature-flag rollback described in #36760 / #33154, now applied to every conversation via the merge. The same thread ran six months pre-merge with ~60 compactions total; it now compacts every few messages.

Compounding it: MCP tool results over the 25K-token inline ceiling are written to disk and must be re-read in chunks, consuming a further share of the ~50K.

What Should Happen?

The documented window.

  • Help center: "Opus 4.6 … 500K token context window on all paid plans when chatting with Claude."
  • 1M GA post: 1M context "included in Claude Code for Max, Team, and Enterprise users with Opus 4.6."
  • Merge announcement: existing chat users "need no new workflow."

Expected: auto-compaction well past 400K, not at ~142K. Failing that, the opt-in toggle requested in #36760.

Error Messages/Logs

81 API calls in this session
First call (overhead): 92,034 tokens
Largest before a compaction fired: 142,596 tokens
Right now: 128,797 tokens

MCP result over ceiling (every post-compaction restore call):
Error: result (102,317 characters across 136 lines) exceeds maximum allowed tokens. Output has been saved to .../tool-results/mcp-...txt. Use offset and limit parameters to read specific portions of the file...

Steps to Reproduce

  1. Max 5x account, usage credits enabled, merged Claude app (iOS or desktop).
  2. Open a project with one or two MCP connectors and project instructions; select Opus 4.6.
  3. Hold a long conversation (a few thousand tokens per exchange).
  4. Measure from the session transcript:
python3 - <<'EOF'
import json,glob,os
f=max(glob.glob(os.path.expanduser('~/.claude/projects/*/*.jsonl')),key=os.path.getmtime)
c={}
for l in open(f):
    r=json.loads(l)
    if r.get('type')!='assistant':continue
    m=r['message'];u=m.get('usage') or {};i=m.get('id')
    c[i]=max(c.get(i,0),(u.get('input_tokens')or 0)+(u.get('cache_creation_input_tokens')or 0)+(u.get('cache_read_input_tokens')or 0))
v=[x for x in c.values() if x]
print('calls',len(v),'| first (overhead)',v[0],'| largest before compaction',max(v),'| now',v[-1])
EOF 
  1. Observe: first value ≈ 92K (fixed overhead); largest before each compaction ≈ 142K.
  2. Compare with the documented 500K / 1M.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Pre-merge Claude chat, before the Sept 16, 2026 chat+Cowork rollout (not a CLI version)

Claude Code Version

Merged Claude app, auto-updated current build (iOS + Windows desktop); not the CLI

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

Not the CLI: merged Claude app on iOS and Windows desktop. Terminal/Shell field is N/A.

Related issues:
#36760 (opt-in toggle for 1M in Cowork after flag rollback), #33154 (Cowork forcing [1m] caused rate limits — the opposite failure, same flag).

#43989 CLI: undocumented autocompact reduction on Opus 4.6 (1M → 400K); same pattern, different surface

Docs referenced:

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗