Repository navigation
The multi-agent system, rebuilt
ClawCodex used to spawn subagents down two paths that never met, and only one was observable: a foreground delegation registered nowhere, so nothing could list or stop it; the TUI's agents overlay called three RPCs with no backend, a follow-up to a finished background worker showed running without ever starting a model loop, and the team tools had no production path that ran a teammate. v1.7.0 rebuilds that layer.
- One supervisor (#915, #950). A session-scoped supervisor admits every worker — foreground, background, team and workflow — behind two backstops (
CLAWCODEX_MAX_CONCURRENT_AGENTS, default 32;CLAWCODEX_MAX_AGENT_DEPTH, default 3), with live status, per-agent interrupt and a session-wide pause on new spawns in the TUI (/agents) and the web client's subagent list (#933). A refused spawn is a tool error the model can act on. - Persistent teams (#950).
TeamCreatemakes your session the leader; each namedAgentcall adds a teammate that stays alive between assignments with its context intact.SendMessageroutes findings to a named peer or the leader, a shared and locked task board hands out work in dependency order, plan approvals and shutdowns follow a matched request/response protocol, and interrupting a worker withdraws its pending permission prompt. - Lifecycles that hold (#950). Resume reloads a worker's history under the same ID; a correction accepted while it was finishing is no longer left unread; notifications reach the session and parent that own them; worktree isolation runs in a real Git checkout or fails before the model runs; ending a session interrupts every worker it owns and waits a bounded time for them to stop.
Verified by end-to-end suites that drive real query loops, tools, worktrees and WebSocket connections against a scripted provider, plus one live DeepSeek smoke run — a smoke test, not a benchmark. Scope: teams are in-process (no tmux/iTerm pane, remote or UDS backends), one per workspace; a worker resumes only within the session that started it; there is no automatic crash recovery; a workflow's token budget stops new work but is not a hard spending cap. Details: docs/multi-agent-runtime-verification.md.
Also in v1.7.0
clawcodex --nano— the pi-style minimal harness: six tools, a ≈2K-token fixed payload instead of ≈17K,/ecoon. Level with the pi harness on the full Terminal-Bench 2.1 suite (deepseek-v4-flash, k=1): 64/89 and 63/89 in nano's two latest runs against pi's 63/89 (#879–#885, #889–#891, #894, #896–#902). See docs/nano.md and RUN_NANO_TB21.md.- DeepSeek-V4.1-Flash becomes the DeepSeek default;
/costfollows its peak/off-peak card and V4 Pro's retirement (#905, #925). - A model or effort pick is saved as your default for new sessions, on the TUI, web and desktop (#930).
- Cost-aware auto-compaction, opt-in via
compact.mode = "cost_aware"(#903). - ChatGPT-subscription model discovery — the models that account can actually use (#913, #917).
- Web client: subagents in the header with a child view per run (#922), a sidebar of tabs that reads the workspace (#918), a composer menu (#929), attachments of any file type (#949), and saved sessions that open in milliseconds instead of ~45 s (#947).
- Upgrade notes:
clawcodex serverefuses a non-loopback bind without--allow-remote(#921);clawcodex agent-serverrefuses one without--token, and compares the token in constant time (#924).
Fixed
- Bash no longer stalls on a command that prints more than ~64 KB — output was read only after exit, so the command blocked until the timeout and came back cut off. Output is now drained while it runs, in every mode (#900).
install.shno longer appends its PATH block to your shell rc on every run (#943).- The tool-failure-loop guard no longer conflates distinct Bash failures that share a startup banner (#928).
- Web uploads are retained for later
Read/vision_analyzecalls, and images stay visible in sent and reloaded messages (#940, #941). - TUI: a collapsed paste echoes its full text, and
/retryand busy-queued prompts send the paste rather than its label (#951). anthropicis capped below 1.0, whose move tohttpx2broke the provider layer (#916).
Full details in CHANGELOG.md.