Swarm v0.6.0
The learn release: the data Swarm has been collecting starts paying back. Replay what an agent did, see what each task cost, turn an incident into a rule, resume a session that died, try a rule on history before switching it on, read your backlog from GitHub or Linear, and search everything Swarm remembers.
Added
- Session Replay — a Replay button on any session steps through its tool calls one at a time, showing the full input and output of each (Prev/Next, a slider, ←/→ keys). See exactly what an agent did, in order (M4.1).
- Cost by task — the Spend view attributes cost and tokens to each task (matched to a claim by the session's worktree), plus a Context budget table ranking sessions by how much context they re-processed — a signal for agents re-reading the same material.
GET /v1/attribution(M4.2). - Codify an incident — the Incidents feed has a Codify action that turns an incident into a
.swarm.tomlrule snippet and a CLAUDE.md lesson, both copyable. A rule that keeps firing asasksuggests hardening todeny(M4.3). - Desktop notifications — opt-in native notifications (settings menu) for a spawned run waiting on a permission, or a claim orphaned with unfinished work; clicking opens the Allow/Deny card or the Board. Quiet while you're looking at the dashboard (M4.7).
- Auto-handoff, and resume where it died — whenever a session working in a claimed worktree pauses or ends, Swarm derives a handoff from what it did: files edited, the last verification-looking command, the last request, the last thing it said. One
auto:handoff per session, replaced on every pause, silenced by a handoff left on purpose. An ended session's page gets Resume where it died, which spawns a run on the task from that handoff plus the session's last actions;swarm run resume <session-id>;GET/POST /v1/sessions/:id/resume(M4.4). - Rule dry-run — Dry-run rules on the Incidents view replays a project's recorded tool calls through the rules under modes you pick: what would have been asked or denied, per rule, before you switch anything on. It also flags flaky signals — a rule that keeps firing on the same command that is then allowed through anyway. Nothing is recorded.
swarm rules dryrun [--set rule=mode,…];GET /v1/rules/dryrun(M4.6). - GitHub Issues and Linear as task sources —
[tasks] source = "github"reads the repo's issues through the logged-ingh(optionallabelsfilter);source = "linear"reads Linear through its API withLINEAR_API_KEYfrom the daemon's environment (optionalteam). Both land in the Board's Tasks,swarm tasksandswarm_next_tasklike a markdown backlog: closed/completed is done, in-progress is active, depends on #n / blocked by become dependencies. Read-only; no credential stored (M4.8). - What's New in the app — the dashboard shows the release notes for the running version: a What's New item in the settings menu, in the desktop app's Swarm menu, and in the tray. It also opens once on its own the first time you run a new version. Notes are parsed from
CHANGELOG.mdintorelease-notes.jsat build time, so they work offline with no repo checkout. - The desktop Check for Updates… is in the system menu bar (Swarm menu), not only the tray.
Install: bunx @ra3orblade/swarm setup · Docs: https://getswarm.vercel.app/docs/ · Changelog: https://getswarm.vercel.app/changelog