Claude Code 2.1.288 background command limits: poll Sume jobs
Claude Code 2.1.288 applies the background command limit only to unattended sessions (-p, SDK, CI, cloud). How to poll a Sume job so a -p run keeps it.

Claude Code 2.1.288 changed the background command time limit so it applies only in unattended sessions: -p, the Agent SDK, CI and cloud. In a terminal, desktop or VS Code session there is no limit. If you start a Sume render from claude -p or CI, do not park the wait in a background command. Save the job id, poll with jobs_wait in slices of up to 55 seconds, and let a later run read the result.
What the changelog says
The Claude Code changelog entry for version 2.1.288, dated October 2, 2026, says the background command time limit now applies only in unattended sessions (-p, Agent SDK, CI, cloud), and that terminal, desktop app and VS Code sessions have no limit. The same release makes hung LSP tool calls time out after 60 seconds. I read the entries, not the source, so I do not state the numeric background limit; the entry does not give one.
Interactive vs unattended
A render is a durable Sume job. It keeps going when your shell command, your session or the whole machine goes away; see Jobs and results for statuses and result reads. What differs by session type is whether your waiting process survives.
| Session | Background command limit | Safer wait |
|---|---|---|
| Terminal, desktop, VS Code | None, per 2.1.288 | Background watch is fine |
claude -p | Applies | jobs_wait slices in the foreground |
| Agent SDK | Applies | Persist the job id, resume next run |
| CI or cloud session | Applies | Separate poll step keyed by job id |
A pattern that survives the limit
- Submit with an
idempotency_keyand write the returned job id to your own store before doing anything else. - Wait with
jobs_waitin slices of 45 to 55 seconds, the range Sume's MCP guidance uses (the MCP tools and gates page shows the same 5 to 55 second bound onscript_run). Loop in the foreground while the status isqueuedorprocessing. - If the session is about to end, stop and exit cleanly. Do not cancel: the job continues.
- On the next run, call
jobs_statusfor each stored id, thenjobs_resultfor completed ones.
Mistakes to avoid
Do not resubmit because a wait ended. A retry with a new key is a second paid job; reuse the same key only for an exact retry of a failed request. Do not treat a killed background process as a failed render either: check jobs_status first.
If your CI tool needs a hard time budget, give the poll step its own timeout and a clear exit code for still running, separate from failed. The MCP quickstart shows the read-only calls you can use to inspect state without spending.
Sources
Related posts
More in Integrations
- Sonnet 5.5 is Claude Code default with 1M context: trim Sume tools
Claude Code 2.1.284 made Sonnet 5.5 the default Sonnet with a 1M context window. A big window is not a reason to load every Sume tool schema.
- Claude MCP connector allowlist: enable only Sume's read-only tools
Set the Claude MCP connector's default_config to disabled and enable named Sume tools. A read-only assistant list, plus the OAuth scope that backs it up.
- Claude MCP connector supports tool calls only; Sume MCP is tools-only
Claude's MCP connector uses only tool calls from the spec. Sume's hosted MCP also exposes only tools, so nothing is lost: what the server declares.
- Claude MCP connector: allowlist read-only Sume tools by toolset
With the Messages API MCP connector an API-key Sume session exposes paid tools. Use an mcp_toolset with default_config enabled false and enable only job reads.
Written by Sume