[Bug] Anthropic API Error: Invalid message format with thinking enabled - missing thinking block before tool_use
Resolved 💬 2 comments Opened Dec 2, 2025 by evdevdev Closed Dec 2, 2025
Bug Description
When I try to call /context, I get the following message:
Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.209.content.0.type: Expectedthinkingorredacted_thinking, but foundtool_use. When
thinking is enabled, a final assistant message must start with a thinking block (preceeding the lastmost set of tool_use and tool_result blocks). We recommend you include
thinking blocks from previous turns. To avoid this requirement, disable thinking. Please consult our documentation at
https://docs.claude.com/en/docs/build-with-claude/extended-thinking"},"request_id":"req_011CVi8DfYDjPviGAkNn5rrf"}
Moreover, when I try to report this via /feedback, I get the following:
Error submitting feedback / bug report
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.0.56
- Feedback ID:
Errors
[{"error":"AxiosError: Request failed with status code 403\n at Sj (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:24:1137)\n at Unzip.<anonymous> (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:29:9864)\n at Unzip.emit (node:events:520:35)\n at Unzip.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1701:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:89:21)\n at zVA.request (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:31:2130)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async _j2 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2145:5280)","timestamp":"2025-12-02T15:09:11.302Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"max_tokens: Extra inputs are not permitted\"},\"request_id\":\"req_011CVi8DeNHAeVEYqHd43Vq3\"}\n at s2.generate (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:459:9381)\n at NT.makeStatusError (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1317:2195)\n at NT.makeRequest (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1317:5419)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1469:2769\n at async file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1469:2262\n at async rB5 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1468:16949)\n at async kQ2 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1469:2195)\n at async MRA (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2258:52)\n at async gm5 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2258:2244)","timestamp":"2025-12-02T15:49:49.989Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"messages.209.content.0.type: Expected `thinking` or `redacted_thinking`, but found `tool_use`. When `thinking` is enabled, a final `assistant` message must start with a thinking block (preceeding the lastmost set of `tool_use` and `tool_result` blocks). We recommend you include thinking blocks from previous turns. To avoid this requirement, disable `thinking`. Please consult our documentation at https://docs.claude.com/en/docs/build-with-claude/extended-thinking\"},\"request_id\":\"req_011CVi8DfYDjPviGAkNn5rrf\"}\n at s2.generate (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:459:9381)\n at NT.makeStatusError (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1317:2195)\n at NT.makeRequest (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1317:5419)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async xQ2 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1469:3423)\n at async MRA (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2258:95)\n at async gm5 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2258:2244)\n at async Promise.all (index 6)\n at async sy2 (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2258:2655)\n at async Object.call (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:3009:469)","timestamp":"2025-12-02T15:49:50.211Z"},{"error":"AxiosError: Request failed with status code 403\n at Sj (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:24:1137)\n at Unzip.<anonymous> (file:///Users/evan/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:29:9864)\n at Unzip.e
Note: Error logs were truncated.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗