[Bug] Thinking blocks in resumed conversations cannot be modified, permanently breaking session
Bug Description
400 thinking blocks cannot be modified permanently breaks a resumed conversation
Resuming a specific conversation always fails with:
API Error: 400 messages.43.content.7: thinking or redacted_thinking blocks in the latest assistant message cannot be modified. These blocks must remain as they were in the original response. Every new message in that session reproduces the error, so the conversation is permanently stuck. Other/new conversations work fine.
Context:
- Model: Opus 4.8 (1M context), extended/adaptive thinking enabled
- The error points at an assistant message containing a thinking block that is apparently not re-sent byte-for-byte on resume.
Expected:
Claude Code should preserve thinking blocks unmodified across resume/compaction, or safely drop them, so the conversation stays usable.
Actual:
The session is bricked — no message can be sent.
Repro (suspected):
- Have a conversation with extended thinking on Opus.
- Trigger a resume / context compaction / model or thinking-setting change / interrupted response mid-thinking.
- Send a new message → 400 error, repeats forever.
Environment Info
- Platform: linux
- Terminal: ghostty
- Version: 2.1.154
- Feedback ID: 64b197a2-aca1-4137-a9e1-df455b173e43
Errors
[API Error: 400 messages.43.content.7: `thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modified. These blocks must remain as they were in the original response.]This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗