Claude API compaction block: keep Sume job ids past the summary
The compact-2026-09-04 beta swaps old messages for a signed compaction block. Keep Sume job ids and keys outside it; re-read with jobs_status.

With the compact-2026-09-04 beta header, the Claude Messages API can compact a conversation on demand: you send the top-level compaction parameter and get a signed compaction block that summarizes the messages you sent. A summary may drop a Sume job_id, so store ids and keys in your own state and recover with the read tools.
Vendor facts are from the Claude API release notes (September 14 entry); Sume facts from Jobs and results and MCP tools and gates, read 2026-10-01.
What does the compaction block do?
Per the notes, on later requests you send the block first, in place of the messages it summarizes. You choose when to compact, the request can run in the background, and you can keep recent turns word for word after the summary.
What should survive outside the summary?
Three small values are enough to resume a Sume workflow.
| Keep | Why |
|---|---|
job_id list | Needed for jobs_wait, jobs_status, jobs_result; batches take 1 to 20 ids |
idempotency_key per create | Reuse the same key only for the same operation and payload |
| Intent line | What each job was for, so the answer lands in the right place |
How do I recover ids after compaction?
Call jobs_list to find jobs, jobs_status to see which are terminal, and one batch jobs_wait with job_ids for the rest. The docs say that after a slice expires you retry jobs_wait with the same ids and never resubmit the paid create. jobs_result returns the answer once a job is complete.
What if the summary lost a key?
Look the job up before creating anything. A new create with a new key is a new paid job. When the MCP connector is involved, the newer mcp-client-2026-09-15 beta pins the fetched tool list; see MCP tool listing pin and Sume.
Sources
Related posts
More in Developers
- Claude Code MCP 403 insufficient_scope: re-auth Sume with Write
Claude Code 2.1.274 names the missing permission on a 403 insufficient_scope. For Sume, a read-only grant lacks mcp:write: re-authenticate and turn Write on.
- Claude Code alwaysLoad meta false: deferred Sume tools
Claude Code 2.1.285: a tool with _meta anthropic/alwaysLoad false stays deferred under a server alwaysLoad. What that means for Sume's tool set.
- Claude Code API 400 after a tool returned an object: Sume results
Claude Code 2.1.286 fixed API 400s when a tool returned an object, number or boolean. Sume tools return text content blocks, errors too.
- Claude Code background Bash 30-minute limit and Sume jobs
Claude Code 2.1.285 stops background Bash after 30 minutes by default (2 h max). A Sume render is a job id, so poll it with jobs_wait slices, never resubmit.
Written by Sume