Claude Code Thinking Blocks Cannot Be Modified 400
When Claude Code shows API Error 400 that thinking or redacted_thinking blocks cannot be modified, rewind the bad turn or start a fresh session.
Quick answer
Match API Error: 400 with thinking or redacted_thinking blocks in the latest assistant message cannot be modified. These blocks must remain as they were in the original response. Run /rewind to the turn before the interrupt or empty thinking block, then continue. If rewind is unavailable or the 400 returns, run /clear or open a new session. Do not --resume the wedged transcript. Editing session JSONL to strip an unsigned or empty thinking block is a last resort and can drop history. This is not The model's tool call could not be parsed, not a weekly-limit wait, and not MCP error -32000.
On this page
What we're seeing
- The exact matchable clause is thinking or redacted_thinking blocks in the latest assistant message cannot be modified, usually under API Error: 400.
- Independent May 2026 first-hand anthropics/claude-code issues quote that 400 after an interrupt mid-thinking, or when the last assistant message has an empty or unsigned thinking block.
- First-hand leftovers that unblocked the session are /rewind before the bad turn, /clear, or a new session instead of resuming the same JSONL.
- The model's tool call could not be parsed (retry also failed) is a different fingerprint with a different leftover.
- Weekly-limit and overloaded waits are out of scope.
Start here
Try these first
Fix 1
Confirm the thinking-blocks 400
Match the 400 thinking-block sentence before rewriting a session file.
- Read the error. This guide is for API Error: 400 with thinking or redacted_thinking blocks in the latest assistant message cannot be modified.
- If the sentence is The model's tool call could not be parsed (retry also failed), stop here and use that separate guide.
- Note whether you interrupted the model mid-thinking or resumed a previous session.
Applies to Windows, Mac, Desktop
Fix 2
Rewind to the turn before the bad block
First-hand reports with this exact 400 cleared after /rewind to the prompt before the interrupt or empty thinking block.
- Run /rewind and choose the turn before the assistant message that now fails with 400.
- Retry the request from that earlier point.
- If /rewind is not offered, use the fresh-session leftover below.
Applies to Windows, Mac, Desktop
Fix 3
Clear the session or start a new one
The same first-hand cluster recovered with /clear or a new session when the wedged assistant message could not be sent again.
- Run /clear, or quit and open a new Claude Code session in the same folder.
- Do not relaunch with --resume on the transcript that already returns this 400.
- Retry the request in the new session.
Applies to Windows, Mac, Desktop
Fix 4
Last resort: do not resume a damaged thinking block
Some first-hand reports edited session JSONL to remove an unsigned or empty thinking block. That can drop history. Prefer rewind or a new session first.
- Only if rewind and a new session are not acceptable, inspect the session JSONL for an empty or unsigned thinking block on the latest assistant message.
- Do not hand-edit thinking or redacted_thinking blocks to invent a signature. The API requires those blocks to stay as originally returned.
- If you cannot keep the original blocks intact, abandon that transcript and continue in a new session.
Applies to Windows, Mac, Desktop
Device notes
- Windows
- Same /rewind and /clear leftovers in Windows terminals. Prefer a new session over editing JSONL.
- Mac
- Same leftovers on macOS. Interrupting mid-thinking is a common path into this 400.
- Desktop
- This is a session-history 400, not a tool-call parse error and not an MCP transport failure.
Official information
Checked on 13 September 2026, anthropics/claude-code GitHub issues that quote thinking or redacted_thinking blocks in the latest assistant message cannot be modified document first-hand leftovers for /rewind, /clear, and abandoning a resumed transcript. There is no separate official docs page that names only this exact 400 sentence.
Sources
Keep troubleshooting
Related problems
Claude
Claude Code Tool Call Could Not Be Parsed Retry Failed
Windows · Mac · DesktopUpdated Sep 13, 2026
Claude
Claude Code PreToolUse Bash Hook Error
Windows · Mac · DesktopUpdated Sep 7, 2026
GitHub Copilot
GitHub Copilot Request Failed 413 Failed to Parse
Windows · Mac · DesktopUpdated Sep 22, 2026
Windows 11
Windows 11 Install Error 0x800f0991
Windows · DesktopUpdated Sep 6, 2026