You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Human-in-the-loop — new built-in ask_human parks a run durably in :waiting; answer via POST /api/v1/runs/:id/reply (or the messages API) and the run resumes where it left off — hours later, across restarts. Parked runs surface the pending question on the run record
Sub-agent authorization — per-agent allowlists (SubagentPolicy) control which agents can discover and launch which others, with audit events. Defaults open; existing agents unaffected
Run lineage and depth limits — child runs record parent_run_id and depth; recursion is bounded by max_depth (default 3)
Trace summaries — GET /api/v1/runs/:id/summary condenses a run's event log into a structured summary
Tool catalog — GET /api/v1/tools lists every tool callable in the tenant (built-ins plus connected workers) with schemas, side-effect flags, and worker metadata
Fixes
Crash recovery no longer forks sub-agents — a parent resumed while awaiting launch_agent now reattaches to the in-flight child run instead of relaunching it from scratch, which previously duplicated the child's work and cost while orphaning the original run. Also fixed: duplicate launch dispatch under the default checkpoint policy, and result collisions when the same agent is launched twice concurrently
In-flight tasks are reclaimed when a worker crashes or reconnects (#3)
Orchestrator no longer executes LLM calls — the orchestrator-side execution path is removed; all inference goes through workers, enforcing the pure-orchestrator invariant
llm_request events now record the tool names offered to the model, so the log can distinguish "called a tool it was never offered" from "ignored the tools it had"
Examples and defaults now point at claude-sonnet-5