Claude Code subagent autoCompactWindow: keep Sume job ids

Claude Code 2.1.296 lets a subagent auto-compact earlier than the main chat. Keep Sume job ids out of the summary and re-read state with jobs_status.

4 min readSume
All posts

Claude Code 2.1.296 (October 9, 2026) added autoCompactWindow to subagent frontmatter and to --agents definitions, so one subagent can auto-compact earlier than the main conversation's window. If that subagent is driving paid Sume jobs, a job id that only lives in its conversation can be summarised away. Do not rely on the transcript: write each job id and idempotency_key to a file or the parent's task list, and recover state with the read-only jobs_list and jobs_status tools.

The changelog says only what the setting is for. It does not state a unit or default in the entry, and the sub-agents page I fetched did not describe the field yet, so check the value your build accepts before you set it (changelog read 2026-10-13).

What changed in Claude Code 2.1.296?

The relevant entries from the Claude Code changelog, read 2026-10-13:

Claude Code changelog entries for 2.1.296, read 2026-10-13, with the Sume consequence.
Changelog entryWhat it meansFor a Sume subagent
autoCompactWindow in subagent frontmatter and --agentsA subagent can auto-compact earlier than the main windowEarlier summaries, so earlier risk of losing ids held only in context
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODELRuns every workflow agent on one modelNot a compaction setting; it only picks the model for workflow agents
Default limit on MCP instructions and tool descriptions sent up front raised from 2,048 to 4,096 charactersMore of a server's text is loaded at startNo change to job state

Why do Sume job ids need to live outside the context?

A Sume paid call returns a job. The job belongs to the workspace and to the member whose key or Agent turn created it, and it has a stable id you can fetch later with GET /v1/jobs/:id or the jobs_get MCP tool. The statuses are queued and processing (not finished) and completed, failed and canceled (terminal), per the Jobs and results page (read 2026-10-13).

So losing an id from a summary is recoverable but annoying, and losing the idempotency_key is worse: Sume requires that key on write and paid tools, and resubmitting with the same key returns the original job instead of a second charge. A fresh key after compaction would be a second charge.

What should a compacting subagent do instead?

  • Generate the idempotency_key in the parent or in a file before the subagent starts, and pass it in the task text.
  • Have the subagent append every returned job id to a file such as jobs.txt as soon as the call returns.
  • After a compaction, or at the start of every phase, call jobs_list and jobs_status instead of trusting memory. They are read-only and need no gate.
  • Use dry_run=true for previews and max_spend_credits on paid calls, so an early summary cannot widen what a retry may spend.
---
name: sume-renderer
description: Submits Sume jobs and records ids in jobs.txt
mcpServers:
  - sume
autoCompactWindow: <value your build accepts>
---
After every Sume call, append the job id and its idempotency_key to jobs.txt.
After any context compaction, read jobs.txt and call jobs_status for each id.

What does this not solve?

Sume does not control how Claude Code compacts, and it cannot tell a subagent which ids it forgot. The only guarantee on the Sume side is that a job id stays fetchable and that a repeated key does not create a second job. A subagent that never wrote the key down can still re-submit with a new one.

This post covers the subagent setting only. For compaction on the Claude API itself, see the related post on compaction blocks.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume