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.

4 min readSume
All posts

Claude Code 2.1.285 stops a background Bash or PowerShell command when its timeout runs out; with run_in_background the default is 30 minutes and the maximum is 2 hours. A Sume render does not live in that shell. It is a job with an id, so a stopped shell loses your wait, not the job: poll the id with jobs_wait or GET status_url.

Vendor line from the Claude Code changelog and Sume behavior from Jobs and results, both read 2026-10-01.

What does the new limit stop?

The changelog says Claude is notified when a background command is stopped. That covers a shell loop you wrote to sleep until a file appears. It says nothing about work running on a remote service.

How long does one jobs_wait call block?

Not long. On remote MCP, timeout_seconds defaults to 50 and is capped at 55; larger values up to 600 are accepted and clamped, and the response reports wait_slice_clamped. The docs explain why: a wait is one open HTTP request, and every edge closes such a request eventually. So you repeat short waits instead of one long one.

Wait mechanics from the Sume docs, read 2026-10-01.
MechanismBound in the docs
jobs_wait timeout_seconds (remote MCP)default 50, capped at 55
REST sync modewait_timeout_seconds max 30
REST pollingfollow next_poll_after_seconds when present

What should a long wait look like?

Keep the job id, call jobs_wait in slices, and stop when the job is terminal. If a slice returns not terminal, poll again; do not resubmit, because a repeated paid create is a second billed job. A background shell is optional here: the loop can be the agent's own repeated tool calls. For the MCP side, see jobs_wait for long video jobs.

Do I need to raise the shell timeout?

Only if you run your own script around the REST API. Set its timeout above your longest expected poll loop, up to the 2-hour maximum, and make the script exit cleanly when the job is terminal.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume