TechFixSignal
Claude

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.

Last checked
Sep 13, 2026
Applies to
Windows, Mac, Desktop
Fix status
Community Confirmed
Fastest useful check

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

Community Confirmed

Match the 400 thinking-block sentence before rewriting a session file.

  1. Read the error. This guide is for API Error: 400 with thinking or redacted_thinking blocks in the latest assistant message cannot be modified.
  2. If the sentence is The model's tool call could not be parsed (retry also failed), stop here and use that separate guide.
  3. 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

Community Confirmed

First-hand reports with this exact 400 cleared after /rewind to the prompt before the interrupt or empty thinking block.

  1. Run /rewind and choose the turn before the assistant message that now fails with 400.
  2. Retry the request from that earlier point.
  3. 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

Community Confirmed

The same first-hand cluster recovered with /clear or a new session when the wedged assistant message could not be sent again.

  1. Run /clear, or quit and open a new Claude Code session in the same folder.
  2. Do not relaunch with --resume on the transcript that already returns this 400.
  3. Retry the request in the new session.

Applies to Windows, Mac, Desktop

Fix 4

Last resort: do not resume a damaged thinking block

Community Confirmed

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.

  1. 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.
  2. Do not hand-edit thinking or redacted_thinking blocks to invent a signature. The API requires those blocks to stay as originally returned.
  3. 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