Compaction fails with 400: messages.N.content.M.text.parsed_output: Extra inputs are not permitted
Status Open
Reported on v2.1.222
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 0 comments · opened Aug 5, 2026
Description
Auto-compaction (and apparently other requests) intermittently fail with a 400 from the Vertex-backed API, rejecting a text content block for containing an unexpected parsed_output field.
Error
API Error: 400 {"detail":"Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'messages.27.content.1.text.parsed_output: Extra inputs are not permitted'}, 'request_id': '<see below>'}"}
Observed across two separate sessions/requests with the same signature (content.1.text.parsed_output, i.e. a text content block carrying an extra parsed_output key that the API schema doesn't allow):
req_vrtx_011CdjPprM61At7qhFkRNz97req_vrtx_011CdjR1evvTxWAEPQVeT5sY
Investigation
- CLI version:
2.1.222(confirmed latest vianpm view @anthropic-ai/claude-code version). - Grepped the local session transcript (
~/.claude/projects/.../*.jsonl) forparsed_output— no such key exists anywhere in stored message content. The only matches are the literal error text itself, quoted back in later user/assistant turns. - This indicates the malformed
text.parsed_outputfield is being constructed at request-build time (likely by the compaction/summarization code path), not persisted in the transcript — so it isn't something a user can work around by editing local session state.
Impact
Once triggered, compaction cannot complete for the affected session, blocking further use of that session once context fills up. The only workaround found is starting a fresh session with /clear before hitting the context limit.
Environment
- Claude Code 2.1.222
- macOS (Darwin 25.6.0)
- Backend: Vertex (
req_vrtx_...request IDs)