[BUG] API Error: 400 thinking.disabled.display: Extra inputs are not permitted — all Agent tool subagent spawns fail
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?
Every Agent tool subagent spawn fails immediately with a 400 error and 0 tokens consumed:
API Error: 400 thinking.disabled.display: Extra inputs are not permitted
This happens regardless of which model is specified (opus, sonnet, haiku, default, opus[1m]) and regardless of any settings changes. Subagents are completely broken — no workaround exists.
What Should Happen?
The Agent tool should successfully spawn a subagent and return a result. Previously worked fine; this is a regression introduced sometime around version 2.1.x.
Error Messages/Logs
API Error: 400 thinking.disabled.display: Extra inputs are not permitted
subagent_tokens: 0
tool_uses: 0
duration_ms: ~1500
Steps to Reproduce
- Open any Claude Code session (VS Code extension or CLI)
- Use the Agent tool to spawn any subagent with any prompt
- Error appears immediately — no tokens consumed, no tool uses
Reproduction is 100% consistent. Tested with:
- model: opus[1m], opus, sonnet, haiku, default — all fail identically
- effortLevel: low, high, xhigh — all fail
- showThinkingSummaries: true, false, absent — all fail
- Full app restart — still fails
- Removed all non-standard model variants from settings — still fails
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown — noticed in 2.1.177
Claude Code Version
2.1.177 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
Root cause hypothesis: The harness is sending thinking: {type: "disabled", display: ...} in the subagent spawn API request. The API's "disabled" thinking schema only accepts {type: "disabled"} with no extra fields — the extra "display" field is being rejected.
The error fires before the API processes anything (0 tokens, ~1.5s round trip), confirming it's a request schema validation failure, not a model or content issue.
All three settings files confirmed valid JSON. No fable-5 or unknown model variants present. Bug is session-global and not fixable by the user.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗