PuppyIP Resource Center
AI & Developer Tools 6 min Published 2026-10-10

Claude dynamic workflows enter beta: background parallel work, but why isn't idle finished?

Claude Managed Agents added dynamic-workflow beta for long tasks such as batch document review across agents in background stages. Prepare completion detection and budgets first: idle can mean paused rather than finished.

Claude Managed Agents Dynamic workflows Multiagent Background tasks Budget control

Service eligibility and regional restrictions

PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.

Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.

Key Takeaways

  • Agents write and start workflows that execute server-side in the background. Enabling the new multiagent type still leaves the agent to decide when to use them.
  • Completion requires all runs to end and the main session subsequently to finish its turn normally. Check failed threads even when a result says completed.
  • Runs have no separate price; agents' tokens are billed normally. Set a session budget at creation and allow for in-flight request overshoot.
  • interrupt affects only the main turn. Ask the agent to stop runs; recover disconnected progress through paginated historical events.

Which problems suit background parallel work?

Claude announced Managed Agents dynamic-workflow beta October 9. An agent writes a program for multiple agents to work in stages and combine results. The server runs it in the background while the main agent handles other work or ends its current turn.

This is a Managed Agents API capability using the managed-agents-2026-04-01 beta header. The announcement and two reviewed documents do not provide a complete account or regional eligibility list. Actual organizational authorization determines access.

Hypothetical example: divide 300 documents into reading batches, have another set of agents check omissions, then summarize. Define every stage. No fixed acceleration or accuracy is promised, and this example was not executed.

How is it enabled, and why don't existing sessions change?

Set multiagent.type to multiagent_20261001 in the agent definition and keep workflows enabled. This type also enables ordinary subagents and inline agents by default; explicitly disable unused capabilities if only dynamic workflows are needed.

Use the system prompt or user message to explain which tasks merit a run and which should finish directly. Only the main-thread agent starts runs; clients have no separate startup endpoint. Enabling workflows does not trigger one on every message.

A session copies agent configuration at creation. Later changes do not alter existing sessions. After updating, confirm workflow_run.created in a new session. It establishes creation only; continue tracking subsequent state.

Why doesn't idle mean you can finish?

A run remains open from workflow_run.created until workflow_run.status_ended, including while paused. idle can reflect waiting for tools, a reached budget, or paused background work. That word alone cannot establish completion.

Two signals are needed: all observed created runs receive status_ended, and the main session later receives session.status_idle with stop_reason end_turn. That idle must not result from your own interrupt.

Read each run's result too. completed means its workflow program ended, not that every agent succeeded, all documents were covered, or the answer is acceptable. Inspect failed threads, omissions, and the deliverable before handing it over.

How do budgets work with several agents?

Runs have no independent price. Each agent's tokens follow its model rate, alongside other session charges. Reviewed documents give no exact amounts here; background or parallel execution is not free.

Set the budget when creating the session; it cannot be added to an existing session. Reaching it pauses open runs, but model requests already underway complete. Every active thread can therefore overshoot by its current request.

The currently documented maximum is 64 working threads per run, which the API does not promise will stay fixed. Parallel capacity does not guarantee speed; organizational model rate limits are shared with other traffic. More agents may not run faster.

What must happen after interrupt to stop work?

user.interrupt stops the main agent's current turn, not the run. Background runs may pause or continue, and events may not fully represent the pause. Send a user.message explicitly asking the agent to stop its runs when termination is needed.

A message to a session idle because of its budget returns 400 until the budget is raised or removed. That action also resumes budget-paused runs. Once interaction resumes, verify stopping results; message submission alone is insufficient.

The default run lifetime is 24 hours, and the agent can choose a shorter one. Client waiting time counts, and pausing may not stop the clock. Answer or reject pending tool calls before continuing according to actual session state.

How do you recover progress after disconnecting?

workflow_run events appear in the main-session event stream and do not themselves trigger webhooks; thread webhooks follow their own rules. A newly opened stream receives future events, not automatically the records missed while disconnected.

Filter historical session events for run creation, state, and phases and paginate using the response's next_page until it is empty or absent. Rebuild each run by workflow_run_id, then resume listening for new events.

No independent runs-list endpoint is documented, and phase ordering or ID mappings are not guaranteed to match examples forever. Keep unknown and failed states in progress displays. phase_ended closes a phase, not necessarily all work.

Sources

Frequently Asked Questions

Can a background run start another run recursively?

Only the agent on the main session thread can start a run; agents inside runs cannot nest runs. Current limits also include 1,000 agents over a run's lifetime and a default 10 open runs per session, with paused runs counted.

Can I inspect the workflow code the agent wrote?

The default stream does not show it. Documentation recommends waiting until the run ends and the session is idle, then asking the agent to output the exact original workflow without starting another run. Progress events are not the complete program.

Why does archiving one run thread return 400?

While the run is open, archiving a thread not already archived by the server returns workflow_run_open. The server archives these before or as the run ends, so manual per-thread handling is usually unnecessary. Archived threads remain listed as terminated.