You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Claude Opus 5.5: 32k maxOutputTokens makes --reasoning-effort max/xhigh return empty turns on long tasks; auto-continue bills each empty turn #5149
With claude-opus-5.5, every reply is capped at 32,000 output tokens (maxOutputTokens: 32000 in session.usage_record), and hidden reasoning counts against that cap. At --reasoning-effort max (and often xhigh), Opus spends the whole 32k on reasoning for any non-trivial task. The turn then ends with no assistant content. The CLI auto-continues, hits the same wall again, and bills every turn. In headless mode you pay for roughly three full 32k reasoning turns and get an empty answer.
Anthropic documents 128k max output for Opus 5.5, so the effort levels the CLI offers (max, xhigh) are effectively unusable for long-form work inside Copilot.
Environment
Copilot CLI 1.0.98, Windows 11, usage-based billing
Model claude-opus-5.5 (Copilot provider, not BYOK)
Repro
Pipe a ~20k-token prompt asking for a ~2,000-word structured document (a planning doc) on stdin:
copilot --model claude-opus-5.5 --reasoning-effort max --no-ask-user --no-custom-instructions --available-tools=view --output-format json
Each turn records session.usage_record with outputTokens: 32000, reasoningTokens: 32000, maxOutputTokens: 32000.
assistant.turn_end arrives with no assistant.message content.
The CLI starts another turn (initiator: "agent") and the same thing happens. After 3 turns the session ends with assistant.messagecontent: "".
Billed: about 200 AI credits for zero output. --reasoning-effort xhigh behaved the same on 4 of 5 long tasks. high completed the same tasks normally.
Across ~65,000 Opus 5.5 calls logged locally this month, outputTokens never exceeded 32,000, and maxOutputTokens was always 32000.
Short tasks (e.g. a ~300-word reply) usually complete at xhigh, but can still stall at max.
Expected (any of these would fix it)
Allow Opus 5.5's documented 128k output, at least when xhigh/max is selected.
Or reserve part of maxOutputTokens for visible output, so reasoning cannot consume all of it.
Or, when a turn ends with reasoning = max output and no content, fail fast with a clear error instead of auto-continuing and billing repeated identical turns.
Document per-model output caps, and which reasoning efforts are practical under them.
Impact
Headless/agent workflows that pin Opus at max silently burn credits and return nothing. We now detect the stalled turn ourselves, kill the process and step down to a lower effort. That workaround shouldn't be needed.
How many credits had gone into those empty max effort turns before you started killing the process yourself?
I hit the same kind of problem where an agent kept running a command it had been allowed once. If that is what happened on your end, would you want to see something combining memory, authority, and security so an agent can't keep running past a limit nobody set?
If you want to try it on one of your headless Opus runs:
npx @vestige/init
It holds each run to a budget you choose and keeps a hash-chained receipt of every decision, so repeated empty turns can't quietly stack up on the bill again.
Activity
samvallad33 commentedon Oct 20, 2026
Hi Drxdre88,
How many credits had gone into those empty max effort turns before you started killing the process yourself?
I hit the same kind of problem where an agent kept running a command it had been allowed once. If that is what happened on your end, would you want to see something combining memory, authority, and security so an agent can't keep running past a limit nobody set?
If you want to try it on one of your headless Opus runs:
npx @vestige/init
It holds each run to a budget you choose and keeps a hash-chained receipt of every decision, so repeated empty turns can't quietly stack up on the bill again.
Sam