[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: 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"}

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.

View original on GitHub ↗

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