Release Notes
v1.6.0 (April 25, 2026)
Operator Quality Center release: a major user-facing quality update for builders running autonomous agents. The release theme is simple: make agents easier to trust, test, approve, debug, and improve.
Highlights
- New Quality workspace.
/qualityis the central operator surface for run health, failed/running counts, pending approvals, latest eval scores, and needs-attention shortcuts. - Eval Lab. Existing
/api/eval/*endpoints now have a focused UI to list suites/scenarios, select an agent, run a scenario or suite, and review score, criteria, and evidence history. - Approval Desk. Pending human-loop, tool, connector, skill, agent, budget, and delegation approvals are grouped by category with approve/deny actions from one place.
- Run Review upgrades. The existing runs replay surface is available inside Quality, and the shared run list now supports source filtering and search across run id, source, errors, results, and ownership fields.
- Release-ready mission templates. Release Candidate QA, Agent Cost Audit, Connector Smoke Test, Failed Run Triage, and Weekly Agent Quality Report join the mission template gallery using the existing mission budget/report mechanics.
- Launchpad quality actions. The home launchpad now includes Run Eval Suite, Review Approvals, Inspect Failed Runs, and Start Release QA Mission.
Upgrade Guidance
- No breaking API changes.
- Existing eval, approval, run, and mission storage continues to work unchanged.
- Operators preparing releases should use
/qualityplus the Release Candidate QA mission template as the new release review path.
v1.5.69 (April 23, 2026)
Fast-follow release for #55 by @borislavnnikolov. Thanks Borislav!
Highlights
- Structured schedule runs are visible. Schedule-backed protocol runs now appear in the schedule console and unified
/api/runslist/detail/events APIs, so structured work launched from schedules no longer disappears from the operator view. - Cleaner agent-session UX. Agent chats now have a New chat action for sessions with history or saved CLI/runtime handles, first prompts derive compact session titles, and agent session lists sort newest-first.
- More reliable structured execution. CLI providers can execute structured turns through their direct provider runtime, blank structured responses surface the real logged error when available, schedule timing edits recompute
nextRunAt, and in-process daemon controls have regression coverage. - Release review follow-up. The launch-day review also tightened the new empty-chat prompt suggestion path so clicking a suggestion uses the same first-message title flow as typed messages, and successful structured turns now clear watchdog timers promptly.
- Safer package contents. The npm package allowlist now explicitly excludes local env files under
src/even when a maintainer has private ignored config in their working tree.
Upgrade Guidance
- No configuration changes required.
- If you already installed
v1.5.68, upgrade tov1.5.69to pick up the structured-run and agent-session fixes.
v1.5.68 (April 23, 2026)
Launch-readiness release: a small product improvement plus security, install, and documentation polish to make the next public launch easier to share and easier to verify.
Highlights
- Launch Week Growth Sprint mission template. The mission template gallery now includes a launch-week operator that audits the product/docs, drafts GitHub Release, Product Hunt, Show HN, short social, and community updates, identifies the top 5 demo moments, and produces daily markdown reports with feedback, metrics, objections, and follow-up tasks. The default mission goal explicitly says not to post publicly without approval.
- Next.js security update. The app and docs site now use Next.js
16.2.4, outside the vulnerable16.0.0-beta.0through16.2.2advisory range reported bynpm audit. - Production audit hardening. OpenClaw, Discord.js, and selected transitive packages were refreshed, with narrow npm overrides for deprecated connector paths, so
npm audit --omit=dev --audit-level=highno longer reports high or critical production advisories. - Release metadata realigned.
package.jsonandpackage-lock.jsonnow agree on1.5.68so npm, local tooling, and release automation point at the same version. - Desktop release gate hardening. The Electron release smoke build now restores host-architecture native modules after macOS multi-arch packaging, so a local desktop build does not leave the checkout unable to run the next host build.
- Public launch assets. Added a concrete launch plan in the repo and a new Launch Playbook on the site, with Product Hunt, Show HN, and social copy starters.
- Website polish. The homepage now surfaces the v1.5.68 launch theme, docs show the current release label, the install pin uses
v1.5.68, and the downloads page matches the current macOS signing guidance.
Upgrade Guidance
- No configuration changes required. The new mission template is additive.
- The main app still has moderate transitive
npm auditadvisories in optional connector and indirect provider stacks. A fullnpm audit fix --forcedry run churned hundreds of packages, so the remaining dependency cleanup should be handled as a dedicated hardening pass rather than a blind launch-day change.
v1.5.67 (April 20, 2026)
Three chatroom-focused fixes from a community contribution by @borislavnnikolov. Thanks Borislav!
Highlights
- Inspect a chatroom member mid-turn. Clicking a chatroom member avatar while that agent is busy now opens a bottom sheet with the agent's synthetic chatroom session: recent messages, execution-log entries, and counts. The previous behavior jumped to the agent detail page and lost the chatroom context. The synthetic session-id convention (
chatroom-<roomId>-<agentId>) is now centralized insrc/lib/chatroom-sessions.tsand shared between the UI andchatroom-helpers.tsso the two halves cannot drift. - Continue a specific session, not just the agent's main thread. The session slice gains an
activeSessionIdOverride. Selecting a chat from the Chat List or a specific session row from the Agent Inspector sets the override, so the chat surface opens that exact session instead of the agent's primary thread session. The override clears automatically when the agent changes or the session is removed. New regression tests insession-slice.test.tscover the override-preferred, override-stale, and fallback cases. - Caret alignment fix in the chatroom composer. The mention-highlight
<span>had inline padding that pushed the mirrored caret out of position at line ends. Padding is removed and the soft-accent background lightened slightly so the highlight still reads without shifting layout.
Upgrade Guidance
- No configuration changes required. The override state is in-memory only. Existing chatroom synthetic sessions continue to use the same id convention.
- If you maintain a fork that imports
resolveSyntheticSessionIdfromsrc/lib/server/chatrooms/chatroom-helpers.ts, it now delegates toresolveChatroomSyntheticSessionIdinsrc/lib/chatroom-sessions.ts. Both exports return the same value.
v1.5.66 (April 17, 2026)
Fixes a runaway-token-burn bug in the orchestrator-wake and heartbeat loops. The wake-outcome classifier only counted rejected promises as failures, while the most common failure mode (provider 429 errors) resolves the promise with an error on the result. So the failure counter never ticked, the exponential backoff never engaged, and the auto-disable-after-N-failures gate was effectively unreachable — a stuck orchestrator could keep firing at its configured interval indefinitely.
Highlights
classifyWakeOutcomehelper inheartbeat-service.tsnow classifies each resolved session-run result. A run counts as a failure whenresult.erroris a non-empty string or whenresult.textis empty/whitespace-only. Both the orchestrator-wake and heartbeat outcome handlers feed through this helper, so silent-failure runs actually tick the failure counter and the exponential backoff (10s → 5min) kicks in normally.- Auto-disable gate is now reachable for 429 / silent wakes. The existing
MAX_CONSECUTIVE_FAILURES = 10threshold existed but was unreachable for the most common failure mode. After the fix, ten consecutive dud wakes auto-disable the orchestrator/heartbeat for that agent/session, emit an activity log, and post a dedup'd notification instead of grinding indefinitely. - Regression coverage.
heartbeat-service.test.tsgains 5 targeted cases onclassifyWakeOutcome: the 429 regression, empty-output detection, non-string error fields, whitespace-only errors, and the happy path.test:runtimenow runs 104 cases.
Upgrade Guidance
- No configuration changes required. The fix is purely a classification change — existing orchestrator and heartbeat settings continue to apply, backoff intervals are unchanged, and
MAX_CONSECUTIVE_FAILURESis still 10. The behavior change is that failure classifications that were previously silenced now count. - If a stuck orchestrator has been burning tokens on 429s, after upgrade it will auto-disable itself within ten more wake cycles and emit a "Supervisor: Orchestrator auto-disabled" notification. Re-enable from the agent detail page once the underlying provider issue is resolved.
v1.5.65 (April 17, 2026)
Follow-up hardening on v1.5.64 after live-testing the new chat-header flows, the MCP connection pool, and the MCP Registry browser in Chrome. Six concrete bugs fixed — three of them would have shipped in 1.5.64 otherwise.
Highlights
clearChatMessagesnow resetsopencodeWebSessionIdtoo. The snapshot/undo pair captured and restored it, butclearitself left the stale identifier in place — so a fresh opencode-web turn would resume the conversation the user intended to drop. Paired with a matching default instorage-normalization.tsso older session records load withopencodeWebSessionId: nullinstead ofundefined. Regression covered byclear-route.test.ts.- Undo toast no longer writes to the wrong chat. If the user navigated away after clicking Clear, clicking Undo in the toast would inject restored messages into whatever chat was currently open.
chat-area.tsxnow gates thesetMessagescalls onselectActiveSessionId === targetSessionId; same guard added to the compact-complete path. - Background MCP status probes no longer evict the connection pool. Visiting
/mcp-serversauto-calledPOST /api/mcp-servers/:id/testfor every server, which force-disconnected pooled clients that running agents were using mid-turn. Eviction is now gated behind?reset=1, which only the explicit Re-test button sends. - SwarmDock MCP Registry browser actually works now. The upstream
swarmdock-api.onrender.comendpoint emits no CORS headers, so the in-browserRegistryBrowsercomponent always failed withFailed to fetch. AddedGET /api/mcp-registryandGET /api/mcp-registry/:slugas server-side proxies and rewired the component to call them. Verified in Chrome: 20 servers load, selecting one prefills the New MCP Server sheet with its recommended install command. mcp-registryCLI group. New commandsswarmclaw mcp-registry searchandswarmclaw mcp-registry get <slug>so CLI workflows can pull from the same proxy.- Prior release's MCP tool-evict-on-transport-failure fix (cherry-picked from local branch): connection-class errors from downstream MCP tools now evict the pool entry for the originating server, so the next turn reconnects fresh instead of retrying through a half-broken transport.
Upgrade Guidance
- No action required. All fixes are backwards-compatible. The
alwaysExpose: trueback-compat for existing MCP servers introduced in 1.5.64 still holds. - If you hit a "Failed to fetch" error on the MCP Registry browser in 1.5.64, this release fixes it — the browser now proxies through SwarmClaw's API instead of calling the upstream registry directly from the browser.
v1.5.64 (April 17, 2026)
Two independent themes land together: a context-window UX in every chat header (live meter, one-click LLM compaction, and a 30-second undo on Clear), and MCP token-spend controls (per-server alwaysExpose, per-agent eager overrides, mcp_tool_search meta-tool, a long-lived connection pool, a token-cost endpoint, and an in-app browser for the public SwarmDock MCP registry).
Highlights
- Context meter in the chat header. New
ContextMeterBadgerenders a liveN% · Mkchip next to the chat title, color-coded at 70% / 90% thresholds, backed byGET /api/chats/:id/context-status. Click the chip to open a popover with the token breakdown and Compact / Clear buttons. The row is explicit about what Clear does: "Long-term memory, skills, and facts are preserved. Clear only affects this chat transcript." — so users can clear without losing memories, skills, or learned facts. - User-invokable
/compactvia the popover.POST /api/chats/:id/compactruns the existing hierarchicalsummarizeAndCompactpipeline (tool-failure preservation, file-op extraction, adaptive chunking) using the session's own provider/model as the summarizer. AcceptskeepLastNin the body (2-200, default 10). The button is gated below 3 messages so users don't waste LLM calls on short transcripts. - Clear with 30-second undo.
POST /api/chats/:id/clearnow returns{ cleared, undoToken, expiresAt }, and a companionPOST /api/chats/:id/clear/undorestores the snapshot. The undo snapshot covers both the full message history and every CLI session ID (Claude, Codex, OpenCode, Gemini, Copilot, Droid, Cursor, Qwen, ACP, plus delegate resume IDs). Snapshots live in an HMR-safe in-memory store with a 30s TTL, 200-entry cap, session-scoped lookups, and single-use tokens. The chat UI wires Undo to a sonner toast; successful restore surfaces a "Chat restored." confirmation. McpServerConfig.alwaysExpose: boolean | string[]— new per-server tool-exposure policy.true(default, back-compat) binds every tool every turn.falsebinds none; the agent usesmcp_tool_searchto discover and promote what it needs. An allowlist like['query_resources']eagerly binds only the named subset. Huge token savings on chatty servers (Playwright MCP, browser MCPs, anything with 30+ tools).- Per-agent
Agent.mcpEagerTools: string[]overrides. Force-expose specific tool names for one agent regardless of the server's policy. Precedence: per-agent allowlist > serveralwaysExpose> session promotions. mcp_tool_searchmeta-tool. When a server's tools are lazy, the agent gets a singlemcp_tool_search({ query, limit? })tool. It searches the process-wide discovery cache (tool name substring + description keywords) and promotes matching tools for the current session. The next turn's tool bind picks up the promoted names. Behavior mirrors@swarmclawai/mcp-gateway's router so SwarmClaw + gateway deployments share semantics. Session promoter state is HMR-safe.- Long-lived MCP connection pool. One client/transport per server, reused across turns. Config-fingerprint tracking rotates stale entries automatically; the
/testendpoint evicts explicitly. Saves roughly 100-500ms per server per turn on every chat. HMR-safe to prevent leaked child processes on dev-server reloads. - Token-cost discovery endpoint.
GET /api/mcp-servers/:id/tools-infoconnects to a server, lists its tools, and reports per-tool schema tokens plus aggregate totals. Uses the samechars / 3.5formula as@swarmclawai/mcp-gatewayso numbers line up. Shows up in the MCP Servers list so you can spot a 40k-token-per-turn culprit before an agent even runs. - In-app SwarmDock MCP Registry browser. Opens from the New MCP Server sheet, browses the public registry, and populates the form with the selected server's install command. A new
MCP Gateway (local)preset is bundled so@swarmclawai/mcp-gatewayis one tap away. - CLI parity.
swarmclaw chats context-status <id>,swarmclaw chats compact <id>,swarmclaw chats clear-undo <id>. The existingchats clearnow returns the undo token so scripts can build their own clear+undo flows. - Back-compat normalization. Existing MCP servers load with
alwaysExpose: true(historical behavior — every tool bound every turn). No user action required. - Test coverage. New tests:
clear-undo-snapshots.test.ts(TTL, single-use, session isolation, CLI-id preservation),clear-route.test.ts(clear → undo → double-undo 404 round-trip),compact-route.test.ts,context-status-route.test.ts,mcp-connection-pool.test.ts,mcp-gateway-runtime.test.ts.test:runtimeruns 100 tests across 13 suites.
Upgrade Guidance
- No action required. Existing MCP servers keep their historical behavior (
alwaysExpose: true, every tool bound every turn). The clear API continues to work for callers that ignore the new JSON body. - To cut MCP token spend: open Settings → MCP Servers, pick a chatty server, and toggle
alwaysExposetofalse(or provide an allowlist). Agents will auto-receive themcp_tool_searchtool and promote what they need. - To try the context meter: open any chat — the chip appears next to the agent name whenever the transcript has messages. Click for Compact / Clear.
- CLI scripts: any script depending on
swarmclaw chats clearreceiving a plainOKshould now parse{ cleared, undoToken, expiresAt }instead.
v1.5.63 (April 17, 2026)
Chatroom fix contributed by @borislavnnikolov in #53. CLI-backed agents (codex-cli, copilot-cli, gemini-cli, claude-cli, opencode-cli, cursor-cli, qwen-code-cli, droid-cli) now work correctly inside chatrooms instead of silently falling through the LangGraph execution path they cannot run. With the runtime path fixed, the worker-only chatroom membership blocks are lifted too, so any non-trashed agent can be added to a room.
Highlights
- Direct provider runtime for CLI chatroom turns.
src/app/api/chatrooms/[id]/chat/route.tsbranches onNON_LANGGRAPH_PROVIDER_IDSand callsprovider.handler.streamChat()directly for CLI-backed agents. Streaming, tool events, and persisted assistant replies all flow through unchanged. LangGraph-capable providers continue to usestreamAgentChat. - Full member selection. Create, update, members, session-tool, and UI layers (
chatrooms/route.ts,chatrooms/[id]/route.ts,chatrooms/[id]/members/route.ts,session-tools/chatroom.ts,chatroom-sheet.tsx) no longer reject or hide worker-only agents. Any non-trashed agent is eligible. - Regression test.
src/app/api/chatrooms/[id]/chat/route.test.tsproves acodex-cli-backed chatroom turn bypassesstreamAgentChat, streams a response through the provider handler, and persists exactly one assistant reply.
Upgrade Guidance
- No action required for existing chatrooms. LangGraph-capable providers continue to run through the same path. CLI-backed agents that were previously excluded from chatrooms can now be added directly.
- UI refresh recommended. The chatroom sheet now lists every non-trashed agent regardless of provider.
Thanks to @borislavnnikolov for the catch and the fix.
v1.5.62 (April 17, 2026)
Hardens parallel sub-agent dispatch with a concurrency cap, a quorum join policy, and a cycle check. Existing spawn_subagent swarm/batch callers continue to work; what changes is the bounded, safer defaults and two new config knobs for mission and agent owners.
Highlights
spawn_subagentswarm/batch actions now acceptmaxConcurrency,joinPolicy,quorum, andcancelRemaining. Parallel mode fans out at most 4 branches at a time by default (hard-capped at 16). Tasks are bucketed across sharedexecutionGroupKeylanes so the existing per-execution serial lock enforces the cap with no new scheduler.joinPolicy: 'quorum'resolves oncequorumbranches succeed and (by default) aborts the rest.joinPolicy: 'first'resolves on the first success.joinPolicy: 'all'stays the default.- Cycle detection in
spawnSubagent. Before creating a child session, the runtime walks theparentSessionIdancestry and rejects when the requestedagentIdalready appears higher in the chain. Error message is explicit about which agent was already active. UseallowCycle: trueon theSpawnSubagentInputto override for legitimate self-consulting patterns. Orthogonal to the existing depth cap. - Per-agent and per-mission overrides.
Agent.maxParallelDelegationsandMissionBudget.maxParallelBranchesplumb into the swarm resolver. Precedence: explicit tool arg > agent cap > mission cap > system default (4). Both are validated by the agent create/update and mission budget schemas, and normalized on load viastorage-normalization.ts. - Swarm snapshot exposes the effective cap.
SwarmSnapshot.maxConcurrencylands in the persisted snapshot payload so the UI and external tooling can surface the active concurrency level.
Verification
Live end-to-end: a 3-branch parallel fan-out with maxConcurrency: 2, joinPolicy: 'quorum', quorum: 2, cancelRemaining: true settled with totalCompleted: 2, totalCancelled: 1, status: 'partial', and maxConcurrency: 2 on the returned aggregate and snapshot.
Upgrade Guidance
- No action required. Existing swarm/batch calls that do not pass
maxConcurrencynow implicitly run at up to 4-wide instead of unbounded. Large (>4) fan-outs will complete in waves; total work time is unchanged for swarms under 4 branches. SetmaxConcurrency: <N>explicitly to widen or narrow the dispatch. - Mission owners can set
budget.maxParallelBrancheson a mission to bound all its agents' fan-outs together. - Agent owners can set
Agent.maxParallelDelegationsto bound a single agent's fan-outs without touching missions. allowCycle: trueis an escape hatch onspawnSubagentwhen an agent legitimately needs to consult itself. The default reject is the safer behavior for most setups.
v1.5.61 (April 17, 2026)
Adds an opt-in per-agent planning mode that rides on the existing [MAIN_LOOP_PLAN] token machinery in the main agent loop.
Highlights
Agent.planningMode: 'off' | 'strict' | null— new optional field on theAgenttype. Defaults tonull(off) so existing agents are unaffected. Validated byAgentCreateSchema/AgentUpdateSchemaand surfaced throughcreateAgentinagent-service.ts.- Strict planning prompt section. A new
buildPlanningModeSectioninprompt-sections.tsinjects a short contract into the system prompt whenplanningMode === 'strict': before any multi-step work the model emits a single-line[MAIN_LOOP_PLAN]{"steps":...,"current_step":...,"completed_steps":[...]}block. The existing parser inmain-agent-loop.tsreads these intoMainLoopState.planSteps,currentPlanStep, andcompletedPlanStepswith no further wiring. The section is skipped in minimal-prompt mode and for heartbeat turns. - Test coverage.
prompt-sections.planning-mode.test.tscovers the null / off / strict / minimal / missing-agent paths (6 cases, all green).
Upgrade Guidance
- No action required. All existing agents keep
planningModeunset (treated as off). - Opt in per agent by setting
planningMode: "strict"on the agent. Suitable for mission-mode work and long-horizon tasks; overkill for simple chat. - The planner does not force every turn to emit a plan block — the prompt explicitly says to skip the block for trivial single-tool responses or pure Q&A, so short interactions stay clean.
v1.5.60 (April 17, 2026)
Adds a turn-snapshot primitive for external replay and comparison tooling, without touching the execution flow.
Highlights
- Turn snapshot endpoint. New
GET /api/chats/:id/turns/:index/snapshotreturns the input state of a prior user turn: the message (text + optional imagePath + time), all prior messages in order, the session's effective provider/model/endpoint/credential at snapshot time, and the bound agent's provider/model/systemPrompt when available. Invalid or non-user indices return400, out-of-range indices return404. CLI:swarmclaw chats turn-snapshot <chatId> <index>.
Use case
External CLIs, notebooks, and comparison harnesses can now capture the exact inputs that produced a given turn and replay them against a different model, provider, or system prompt to compare outputs without mutating the original session. Pairs with the existing edit-resend path (destructive in-session replay) and the share-link infrastructure in v1.5.59 (share the original turn's context, replay on another instance).
Upgrade Guidance
- No action required. Purely additive. The new endpoint is read-only and does not affect existing chat execution.
v1.5.59 (April 17, 2026)
Viral-loop release. Adds public share links for missions, skills, and sessions, plus a complementary raw-markdown endpoint so any shared skill installs directly through the existing POST /api/skills/import. Everything additive, nothing existing has changed shape.
Highlights
- Share links for missions, skills, and sessions. New
share_linksstorage collection plussrc/lib/server/sharing/share-link-repository.ts.POST /api/share { entityType, entityId, expiresInSec?, label? }mints a cryptographically random 32-char base64url token;GET /api/sharelists;GET /api/share/:idfetches;DELETE /api/share/:idrevokes (pass?hard=trueto hard-delete). CLI:swarmclaw share {list,mint,get,revoke,resolve,raw}. - Public read endpoints (no auth required).
GET /api/s/:tokenreturns a scrubbed JSON payload;GET /api/s/:token/rawreturns plain markdown (skills return their SKILL.md verbatim, missions render as title + goal + criteria + milestones, sessions as a transcript). Revoked and expired tokens return404 Not foundwithout leaking shape information.GET /s/:tokenis a server-rendered page for dropping straight into a browser. - Share-link-based skill install.
POST /api/skills/importalready accepts an http(s) URL; pointing it athttps://<your-host>/api/s/<token>/rawinstalls a shared skill from another SwarmClaw instance without auth handshakes. Pairs naturally with the existingswarmclaw skills importCLI. - Share-link repository tests.
share-link-repository.test.tscovers mint / list / revoke / lookup-by-token round-trip plus expiry handling against a temporary data dir.
Upgrade Guidance
- No action required. All changes are additive.
- Security posture: share-link tokens are 24 random bytes (base64url encoded, ~32 chars). The public read endpoints never load credentials, secrets, or connector configs — only the entity resolver's allowlisted fields surface. Expiry and revocation are checked on every public request.
- Adopting share links for onboarding: pair with the mission-template and skill galleries in v1.5.58 — a mission or skill can be shared via a single public URL that installs into a second SwarmClaw instance with one CLI call.
v1.5.58 (April 17, 2026)
Adds benchmark-style eval suites, surfaces live per-session cost data, tightens auto-skill drafting, introduces two targeted starter kits, and ships a zero-setup demo mission template. Everything additive, nothing existing has changed shape.
Highlights
- Benchmark-style eval suites. New
SWEBENCH_LITE_SCENARIOSandGAIA_L1_SCENARIOSinsrc/lib/server/eval/scenarios-swebench.tsandscenarios-gaia.ts— curated parallels (not the upstream datasets) sized for a single-agent harness run. The sharedEvalScenariotype carries an optionalsuite: 'core' | 'swe-bench-lite' | 'gaia-l1' | 'tool-use' | 'code-action'tag.POST /api/eval/suiteaccepts{ suite: "swe-bench-lite" }to scope a run. NewGET /api/eval/suiteslists every suite with scenario count, max score, and categories. CLI:swarmclaw eval suites, andswarmclaw eval suitetakes a JSON body that now includessuite. Intended for advertising verifiable numbers against a named benchmark instead of a bespoke rubric. - Two additional starter kits.
inbox_triage(single Triager agent over email + memory + documents) anddata_analyst(single Analyst agent over shell + files + web + documents) join the existing seven kits insrc/lib/setup-defaults.ts. Both are surfaced on the intent-driven setup path alongside Personal Assistant, Research Copilot, Builder Studio, and Delegate Team. - Live per-session usage API. New
GET /api/usage/live?sessionId=...returns a lightweight snapshot (records, tokens in/out, estimated cost, firstAt/lastAt, wallclockMs, turns) so frontends can surface a live cost meter without pulling the full aggregated/api/usagepayload. Without asessionIdthe route returns the ten most recently active sessions. Registered in the CLI asswarmclaw usage live. - Auto-skill drafting is stricter and rate-limited.
shouldAutoDraftSkillSuggestioninchat-turn-finalization.tsnow requires at least 3 tool events in the completed turn (was 1), and a new per-agent daily cap limits automatic drafts to 3 per day per agent to prevent suggestion-inbox spam. Both thresholds are named constants (AUTO_DRAFT_MIN_TOOL_EVENTS,AUTO_DRAFT_DAILY_LIMIT). Agents withautoDraftSkillSuggestions = falseare unaffected (auto-drafting remains opt-in per agent). - Hello World demo mission template. New
hello-world-demoentry inBUILT_IN_MISSION_TEMPLATES— a bounded, zero-setup mission that reads three files in the working directory and writes a one-paragraph markdown summary tohello-world-report.md. Budgets (USD 0.25, 20k tokens, 30 turns, 15 min) are small enough to run on a local Ollama model without cost. Intended as the first thing a new user watches an agent complete end to end.
Upgrade Guidance
- No action required. All changes are additive.
- Existing eval callers: the
POST /api/eval/suitebody shape now accepts an optionalsuitefield. Previous callers passing only{ agentId }or{ agentId, categories }continue to work unchanged; the runner falls back to the full scenario set when nosuiteis specified. - Auto-skill drafting: agents that had auto-drafting enabled and were producing drafts on single-tool-call turns will now see drafts appear only after at least 3 successful tool calls. To restore the old threshold, override the constant or keep ad-hoc drafts via
POST /api/skill-suggestions. - Hello World demo mission: install from the mission template gallery or
POST /api/missions/templates/hello-world-demo/instantiate. Best paired with a local Ollama model for a true zero-cost first run.
v1.5.57 (April 16, 2026)
Org-orchestration feature gap closure. After auditing SwarmClaw against paperclipai/paperclip (the open-source AI-company OS), this release adds the additive pieces that fit SwarmClaw's autonomous-assistant focus without forcing an enterprise-org pivot. Per-agent budget enforcement, billing-code cost attribution, customizable task workflow states, cross-agent delegation policies, configuration version history, multi-workspace metadata, and a much richer workspace-template export/import bundle.
Highlights
- Workspace templates now round-trip the full setup. The portability bundle (
/api/portability/export,/api/portability/import) was previously agents + skills + schedules. v1.5.57 adds connectors (with secrets scrubbed), chatrooms (with routing rules and agent ID remapping), MCP servers (env/header keys preserved, values scrubbed), projects, goals (with parent-chain remapping), and an extension manifest reference. Manifest version bumped to2; v1 bundles still import. Re-import response payload lists which recordsneedCredentialsso the UI can prompt. - Per-agent recurring budgets enforced at enqueue. Existing agent budget config (
monthlyBudget,dailyBudget,hourlyBudget,budgetAction) was already evaluated mid-turn. v1.5.57 addsagent-budget-hook.ts, called fromsession-run-managerfor autonomy-managed runs. When an agent hasbudgetAction: 'block'and any window is exhausted, autonomous enqueues fail fast with a clear error. User chats still flow through. Default'warn'behavior unchanged. - Goal hierarchy ancestry through Mission. New optional
Mission.goalIdlets a mission bind to a Goal in the project/initiative chain.main-agent-loop.tsnow walksmission → goal → parentGoal → …and injects the full ancestry into the system prompt. Previously only direct session-level goals flowed through. - Billing codes for cost attribution. Optional
billingCodes: string[]onMission,BoardTask,Session, andUsageRecord. Codes resolved per session at usage-write time (session + mission). New endpointGET /api/usage/by-code?codes=foo,bar&range=7drolls up cost per code, with per-agent breakdowns inside each code bucket. Lets users running parallel projects answer "what did Project X cost across all my agents?" - Customizable task workflow states. New
WorkflowStatecollection (task-workflow-state-repository) stores team-defined states (e.g. "Needs Review", "Blocked on PM") that are orthogonal toBoardTaskStatuslifecycle. Seven defaults seeded on first read.BoardTask.workflowStateIdreferences one. CRUD viaGET|POST|DELETE /api/task-workflow-states. - Cross-agent delegation refusal policy.
Chatroom.onRefusal('reroute' | 'escalate' | 'human') andChatroom.escalationTargetAgentIdmake explicit what happens when an assigned agent declines work. The policy reroutes to another room member, escalates to a configured target, or surfaces ahuman_loopapproval. Configured atPOST /api/chatrooms/refusal-policy. - Configuration version history.
updateAgentnow snapshots the prior agent state intoconfig-versions.json(capped at 50 versions per entity).GET /api/config-versions?entityKind=agent&entityId=...lists history;POST /api/config-versions/restorerolls back. Foundation for extending to extensions/connectors/MCP servers/chatrooms/projects. - Multi-workspace scaffolding.
Workspaceregistry plusGET|POST|PATCH|DELETE /api/workspacesandGET|POST /api/workspaces/active. Default workspace seeds itself; switching the active workspace persists. Note: v1.5.57 ships metadata only — actual data-dir forking per workspace is intentionally deferred to a follow-up so this release stays low-risk. - CLI manifest expanded. New top-level groups:
workspaces,workflow-states,config-versions,cost-attribution,chatroom-policy. CLI route-coverage test passes.
Upgrade Guidance
- No action required. Every change is additive. Existing agents, missions, tasks, sessions, connectors, and chatrooms continue to work unchanged.
- Per-agent budgets: if you've already configured
monthlyBudget/dailyBudget/hourlyBudgetwithbudgetAction: 'block', autonomous runs (heartbeats, mission ticks, scheduler) will now fail fast at enqueue when the cap is hit instead of running for one more turn. User-initiated chats are unaffected. - Workspace templates v2: v2 bundles cannot be imported by v1.5.56 or earlier. v1 bundles still import in v1.5.57. Re-export your library after upgrading if you want the connector/chatroom/MCP/goal coverage.
- Billing codes: opt in by tagging your missions, tasks, or sessions with a
billingCodesarray. Existing untagged records do not appear in/api/usage/by-coderollups. - Multi-workspace: the default workspace is created automatically; existing data sits inside it. Creating additional workspaces adds metadata only — they share the underlying
DATA_DIRuntil per-workspace data isolation ships.
v1.5.56 (April 16, 2026)
Follow-up to v1.5.55 that finishes the Zod-validation sweep and fixes a TTS error-response bug uncovered by end-to-end testing.
Highlights
- TTS error responses are now proper JSON.
POST /api/ttsandPOST /api/tts/streampreviously returned the error message wrapped in a bareNextResponse(string, ...)— no content-type — which the CLI and browser JSON-decoded into a{"type":"Buffer","data":[...]}blob. Both endpoints now returnNextResponse.json({error}, {status: 500}), so the error message is readable everywhere. - Zod validation extended across the remaining write endpoints. v1.5.55 hardened agents, tasks, and webhooks. This release closes the same silent-corruption bug class on
PUT /api/secrets/:id,POST /api/secrets,PATCH /api/goals/:id,PUT /api/providers/:id,PUT /api/documents/:id,PUT /api/external-agents/:id, andPUT /api/chatrooms/:id. Each route validates against a dedicated schema and filters parsed data to only the keys actually present in the raw body so Zod defaults cannot overwrite untouched stored fields. Endpoints that already do per-fieldtypeofguards (knowledge, gateways, projects) were left as-is.
Upgrade Guidance
- No action required. FE clients already send well-typed bodies, so the new validation is invisible in the happy path. External integrations calling these endpoints with wrong types will now get a
400with a field-level error — previously the write silently succeeded with corrupted state.
v1.5.55 (April 16, 2026)
Hardening release focused on input validation across PUT endpoints and a handful of quietly-broken UI flows surfaced by end-to-end testing. The main theme is: writes that used to silently corrupt stored data on bad input now return a 400 with a clear Zod error, and the UI's integer-vs-decimal gotchas in the mission editor are fixed so saves actually land. Also fixes a classifier leak where some Ollama models were pasting internal classification JSON into their replies.
Highlights
- Mission budgets accept integer values cleanly from the UI. The mission editor and template install dialog were parsing user input with
parseFloat, but the API requiresint()formaxTokens,maxToolCalls,maxWallclockSec, andmaxTurns. Entering1000.5produced a cryptic validation toast and the update silently dropped. A newintOrNullhelper rounds decimal input before it reaches the API;maxUsdstill accepts decimals. - Mission editor's connectors dropdown now actually lists your connectors. The sheet was fetching
/connectorsas if it returned an array, but the endpoint returns an object keyed by id. A defensive fallback rendered an empty list, so users could not attach report connectors to a running mission. Fetch is now typed as a record and projected withObject.values. - Memory search works for short words again (
cats,blue,dog,fire).buildFtsQueryhad a>= 5length guard for single-token queries that silently returned an empty FTS query and dropped the search. The upstream filter already requires ≥3 chars, so the extra guard just made useful queries disappear. Removed, with regression tests. - Agent / task / webhook PUT endpoints now validated with Zod schemas. Previously a bad type (
tools: "not_an_array"on an agent,title: 42on a task,events: "not_an_array"on a webhook) would silently corrupt the stored field. The routes now validate withAgentUpdateSchema,TaskUpdateSchema, andWebhookUpdateSchemarespectively, and filter parsed data to only the keys that were present in the raw body so Zod defaults do not overwrite untouched fields. Bad types return a400with field-level errors and storage is untouched.updateAgent()keeps acurrent.tools/current.extensionsfallback as defense-in-depth for internal callers (dream route, approval hooks). - Classifier JSON no longer leaks into assistant responses. Some Ollama / Ollama Cloud turns were prepending the internal
MessageClassificationobject ({"taskIntent":"research",...}) to the user-visible reply. The old stripper only matched whenisDeliverableTaskwas the first key, so leaks starting withtaskIntentorworkTypesailed through. Replaced the regex with a principled detector that brace-matches candidate JSON (string-quote aware) and validates againstMessageClassificationSchema.safeParse— the schema itself decides what counts as a leak, so future schema changes cannot silently break detection.
Upgrade Guidance
- No action required. All fixes are backward-compatible. FE clients already send well-typed bodies, so the new Zod validation is invisible in the happy path. If you have an external integration calling
PUT /api/agents/:id,PUT /api/tasks/:id, orPUT /api/webhooks/:id, audit it for type-correct fields — you will now get a400on bad input where before the write silently succeeded with corrupted state. - If your memory searches were returning empty for short keywords, retry them after upgrading. No reindex required.
v1.5.54 (April 16, 2026)
Mission templates actually ship this release (the feature commit landed after the v1.5.53 tag was cut, so v1.5.53's notes described something that wasn't in the package). Also includes a pipeline-level fix from @borislavnnikolov that keeps a user-chosen provider and model from getting silently reverted to the agent's defaults on every turn: the fix that landed in v1.5.53 made the UI stick, but a separate layer was still overwriting the session state server-side. This release closes that second half.
Highlights
- Mission templates library. The
/missionspage now opens with a visual gallery of starter missions filtered by category. Each template ships a ready-to-run goal, success criteria, USD / token / turn / wallclock budgets, and a report cadence, so non-technical users can start an autonomous run without authoring every field. Templates shipped: Daily News Digest, Inbox Triage, Competitor Watch, Weekly Research Report, Social Listener, and Customer Support Triage. Setup notes call out connector and permission prerequisites inline on the install dialog. - Install flow with progressive disclosure. The install dialog shows a compact preview (icon, description, budget badges, setup note) on top. Title, goal, and root session are always editable. Success criteria, budget caps, and the report cadence live inside a collapsed Advanced Settings panel, so the default install flow is a single click for users who want the curated defaults and a two-click tweak for power users.
- Template-origin tracking on every mission. Installed missions persist a
templateIdfield so later flows can offer "update from template" or analytics like "how many users installed Daily News Digest". Missions created the old way storetemplateId: null; legacy records on disk are normalized tonullautomatically on load, no migration required. - New API routes.
GET /api/missions/templatesreturns the built-in registry;POST /api/missions/templates/:id/instantiatematerializes a template into a real mission, with an optionaloverridespayload for title, goal, success criteria, budget, report schedule, agent ids, and report connectors. Both are registered in the CLI manifest asswarmclaw missions templatesandswarmclaw missions instantiate. - User-selected provider and model now survive the chat execution pipeline (#51, thanks to @borislavnnikolov). Three places on the server were reapplying the agent's configured route on every turn and undoing an inspector-panel model switch.
syncSessionFromAgentnow only syncs credentials, endpoint, and fallbacks when the session's provider still matches the route provider.prepareChatTurnpreserves the user's chosen model after applying the route.updateChatSessionauto-resolves a stored credential for the new provider and clears the staleapiEndpointwhen the provider changes without an explicitcredentialId. Restores reliable mid-session switching for Copilot CLI, Codex CLI, Groq, and every OpenAI-compatible provider.
Thanks to @borislavnnikolov for the contribution.
Upgrade Guidance
- No action required. The mission-templates gallery is additive and sits alongside the existing + New button; saved missions are untouched. Legacy missions pick up
templateId: nullon first load via the existing storage normalizer. - If you were hitting model-switcher regressions on Copilot CLI, Codex CLI, or Groq: upgrade, then switch provider or model as usual in the inspector panel. No stored session state needs to be reset.
v1.5.53 (April 16, 2026)
Mission templates land as a curated gallery on the /missions page: install a pre-wired autonomous run in one click instead of filling in a blank goal, six budget fields, and a report cadence by hand. Also ships a session model-switcher fix contributed by @borislavnnikolov: switching a session's model now actually sticks in the Switch Model panel, instead of reverting to the agent default on every save.
Highlights
- Mission templates library. The
/missionspage now opens with a visual gallery of starter missions filtered by category. Each template ships a ready-to-run goal, success criteria, USD / token / turn / wallclock budgets, and a report cadence, so non-technical users can start an autonomous run without authoring every field. Templates shipped: Daily News Digest, Inbox Triage, Competitor Watch, Weekly Research Report, Social Listener, and Customer Support Triage. Setup notes call out connector and permission prerequisites inline on the install dialog. - Install flow with progressive disclosure. The install dialog shows a compact preview (icon, description, budget badges, setup note) on top. Title, goal, and root session are always editable. Success criteria, budget caps, and the report cadence live inside a collapsed Advanced Settings panel, so the default install flow is a single click for users who want the curated defaults and a two-click tweak for power users.
- Template-origin tracking on every mission. Installed missions persist a
templateIdfield so later flows can offer "update from template" or analytics like "how many users installed Daily News Digest". Missions created the old way storetemplateId: null; legacy records on disk are normalized tonullautomatically on load, no migration required. - New API routes.
GET /api/missions/templatesreturns the built-in registry;POST /api/missions/templates/:id/instantiatematerializes a template into a real mission, with an optionaloverridespayload for title, goal, success criteria, budget, report schedule, agent ids, and report connectors. Both are registered in the CLI manifest asswarmclaw missions templatesandswarmclaw missions instantiate. - Session model switcher reflects the real session state (#50). The inspector's
ModelSwitcherInlinenow readssession.provider/session.modelinstead ofagent.provider/agent.modelas the source of truth, and syncs its localselectedProviderstate when the session's provider changes. Previously the collapsed pill and combobox kept showing the agent's default after every save, making it look like the switch had been discarded even though the backend had already persisted it.
Thanks to @borislavnnikolov for the contribution.
Upgrade Guidance
- No action required. The mission-templates gallery is additive and sits alongside the existing + New button, so your saved missions are untouched. Legacy missions pick up
templateId: nullon first load via the existing storage normalizer. - UI-only change for the model-switcher fix. Agent defaults are still used as a fallback when a session has no explicit provider or model set.
v1.5.52 (April 16, 2026)
Two community contributions from @borislavnnikolov: Session X-Ray now pulls structured entries from the backend execution log so silent model failures are actually debuggable, and a stale "null" error no longer appears under Blocked By on a fresh task dialog.
Highlights
- Session X-Ray surfaces the execution log (#48). The debug panel now fetches entries from the SQLite execution log on open and merges them with in-memory message events, sorted by time. Expanding an entry shows provider, model, stream errors, duration, and token counts — the detail that was previously invisible when Ollama or other local-model runs failed silently. Adds a Tools filter tab, an
execsource badge, a total entry count in the stats bar, and a Refresh button. Thanks to @borislavnnikolov. - Terminal chat-turn errors captured in the execution log (#48).
finalizeChatTurn()now writes a structurederrorentry on terminal failure, recording provider, model, stream errors, duration, token counts, and whether a response was produced. - New API route
GET /api/chats/:id/execution-log(#48) withlimit,since, andcategoryquery params. Registered asswarmclaw chats execution-login the CLI manifest. - Task sheet no longer renders
"null"under Blocked By (#47). A successful create/update returnserror: null; the old'error' in resguard treated that as a truthy error. The error UI now only triggers on a non-empty string, anddepErroris cleared when the dialog closes so stale state cannot leak across re-opens. Thanks to @borislavnnikolov.
Upgrade Guidance
- No action required. Both changes are additive. Existing sessions, tasks, and chats work unchanged.
- If you script SwarmClaw from CI and want access to the new execution log endpoint: the CLI command is
swarmclaw chats execution-log :id --query limit=200. Seeswarmclaw chats --helponce you upgrade.
v1.5.51 (April 16, 2026)
The packaged macOS desktop app now actually opens and renders. v1.5.50 hit a 60-second timeout before the embedded server could bind, and a chain of independent production-mode bugs would have kept it from rendering any page even if it had. This release fixes the full cold-boot path end to end. Measured time to first /api/healthz response on a populated install: ~1 second, down from a hard 60-second failure.
Highlights
- End-to-end boot fixes for the packaged macOS app:
- Ad-hoc code signing via a new
afterPackhook runningcodesign --sign - --force --deepafter electron-builder packages the bundle. The bundle identifier is now sealed asai.swarmclaw.desktopwith all ~74k resources sealed. Quarantined dmgs surface as Gatekeeper's "unidentified developer" prompt (right-click → Open clears it) instead of the more confusing "damaged" error. - Per-architecture native module sync: the afterPack hook copies
better-sqlite3,@mongodb-js/zstd,node-liblzma, andutf-8-validate.nodebinaries from the electron-builder-rebuilt rootnode_modulesinto the packaged.next/standalone/node_modules. Without this, the standalone server was crashing on launch withERR_DLOPEN_FAILED: NODE_MODULE_VERSION 137because the two trees had different ABIs. - mdn-data copied into standalone so
css-tree/jsdom-dependent pages don't 500 withCannot find module 'mdn-data/css/at-rules.json'. Handled alongside the existingcss-tree/datapatch inscripts/run-next-build.mjs. - isomorphic-dompurify replaced with browser-only
dompurifyinagent-avatar.tsx. The isomorphic wrapper was pullingjsdom's ESM-only@exodus/bytesdep into every server bundle the avatar was referenced from, blowing up SSR on Electron 33 (Node 20.18) withERR_REQUIRE_ESMfor every page. - register() hook no longer blocks HTTP bind: session migrations,
initWsServer, andensureDaemonStartedare now deferred viasetImmediateso Next.js can bind/api/healthzbefore per-install work runs. Daemon services come up a tick later.
- Ad-hoc code signing via a new
- App icon fixed: the Dock no longer shows Electron's default
execplaceholder. The packaged build uses the SwarmClaw lobster avatar frompublic/branding/swarmclaw-org-avatar.png, generated intoresources/icon.{icns,ico,png}byscripts/gen-icons.mjs. The main process also sets the Dock andBrowserWindowicon at launch. - Embedded server log file + improved failure dialog: stdout and stderr from the Next.js child are now teed into
<userData>/logs/server.log(~/Library/Application Support/@swarmclawai/swarmclaw/logs/server.logon macOS) with 1 MB rotation. If startup fails or the server exits unexpectedly, the error dialog shows a tail of the log inline and an Open Logs Folder button that jumps Finder straight to the file. If you hit any desktop-launch regression, please grab that log and open an issue — the v1.5.50 version shipped with no such visibility at all. - Embedded server timeout raised from 60s to 5 minutes: a safety net, not the main fix. On a healthy install the server is up in about a second; 300 seconds is there for pathological cold boots and should never be hit in normal use.
Upgrade Guidance
- macOS "SwarmClaw is damaged and can't be opened": this can still happen on Apple Silicon when Safari marks the dmg with
com.apple.quarantine. Clear the flag and relaunch:
Tracked in issue #46.xattr -dr com.apple.quarantine /Applications/SwarmClaw.app - If the app still times out on launch: open
~/Library/Application Support/@swarmclawai/swarmclaw/logs/server.log(or the equivalent path on Windows / Linux) and share it on Discord or in a new GitHub issue so we can see why the server is not binding. - No data migration required. Existing installs pick up the new timeout, log file, and icon automatically on next launch.
v1.5.50 (April 15, 2026)
A bug fix release: opencode-web sessions against remote instances now work out of the box.
Highlights
- Remote opencode-web instances no longer fail with
EACCES: SwarmClaw used to forward the local workspace path (~/.swarmclaw/workspace, or/root/.swarmclaw/workspacein containerised installs) as adirectory=query parameter on every opencode-web request. Remote opencode-web servers tried tolstatthat path on their own filesystem and rejected the request with a permission-denied error. The provider now auto-detects local vs. remote from the endpoint hostname (localhost,127.0.0.1,::1,0.0.0.0) and only forwards the directory hint when the opencode-web instance is on the same machine. - Local opencode-web behaviour unchanged: agents pointed at
http://localhost:4096still pass their workspace directory exactly as before. - Thanks to @SteamedFish for the detailed root-cause analysis in issue #45.
Upgrade Guidance
- No action required. If you were already using a remote opencode-web instance and hitting
EACCES, simply upgrade and restart. - If you have an unusual setup where swarmclaw and a non-localhost opencode-web share a filesystem (NFS, bind mount, etc.) and you relied on the directory hint reaching the remote, please open an issue. We are happy to add an explicit per-session override if there is demand.
v1.5.49 (April 14, 2026)
SwarmClaw gains Autonomous Missions, a first-class concept for long-running agent work you hand off on Friday and check on Monday morning.
Highlights
- Missions dashboard at
/missions: create a mission with a goal, success criteria, and hard budgets (USD, tokens, turns, wallclock). Watch budget gauges fill and milestones accumulate in real time. Status pills, timeline, reports drawer, and start / pause / cancel / mark-complete controls all on one screen. - Budget enforcement in the run pipeline: the session run manager consults the mission's budget before every autonomous turn. When a cap is hit the mission flips to
budget_exhausted, the queue drains, and a final markdown report fires. Warn thresholds at 50%, 80%, and 95% of each cap emitbudget_warnmilestones exactly once. - Periodic reports that fire overnight: the heartbeat tick runs a mission scheduler independent of the active-hours window, so wallclock budgets and report cadence still fire outside your configured work hours. Markdown reports land as in-app notifications today; Slack, Discord, email, and audio formats are scaffolded for a follow-up release.
- CLI parity:
swarmclaw missions list | get | create | update | delete | control | reports | report-now | eventsmirrors the dashboard. Spin up a mission and watch the timeline from the terminal or CI. - Works with everything SwarmClaw already orchestrates: missions drive any session through the existing heartbeat pipeline, so delegation to Claude Code, Codex, OpenCode, Cursor, Droid, Goose, Qwen, or native SwarmClaw agents works unchanged.
- New storage:
agent_missions,mission_reports, andagent_mission_eventscollections. The old deprecatedmissionstable from prior versions is left untouched so nothing in existing installs is disturbed.
Upgrade Guidance
- No action required. The feature is additive. Existing sessions, agents, and tasks continue to work exactly as before.
- To try it: click Missions in the sidebar, pick an agent session as the driver, set a conservative budget (suggested defaults: $2, 50k tokens, 8h wallclock, 200 turns), and hit Start. The next report you receive is an in-app notification you can click into.
- If you script SwarmClaw from CI: register the new
missionscommands in your tooling manifest. The CLI names match the API surface one-for-one.
v1.5.48 (April 14, 2026)
The SwarmDock MCP preset now points at the hosted endpoint on the real SwarmDock API — no local install required.
Highlights
- Hosted SwarmDock MCP: the MCP Servers → Quick Setup → SwarmDock preset now fills in
streamable-httptransport pointed athttps://swarmdock-api.onrender.com/mcpplus a Bearer-header template. Paste your Ed25519 secret key and you're connected. - Browser onboarding wizard: the SwarmDock team now hosts a key-generation + agent-registration flow at swarmdock.ai/mcp/connect. The private key is generated in-browser and never leaves the tab.
McpPresetsupports URL + headers: presets can now ship complete streamable-http / SSE configs (URL + headers template), not just stdio command/args/env.- Skills doc refresh: the
swarmclawskill's MCP Servers section points at the hosted flow.
Upgrade Guidance
- No action required for existing SwarmDock MCP users — the stdio preset path still works if you keep it configured manually, and the open-source
swarmdock-mcpnpm package remains supported for local/offline use. - New SwarmDock users: visit swarmdock.ai/mcp/connect to generate a key + register an agent, then open MCP Servers → Quick Setup → SwarmDock in SwarmClaw and paste the key into the Bearer header.
v1.5.47 (April 14, 2026)
MCP server and skill injection for the GitHub Copilot CLI and OpenAI Codex CLI providers, plus a new Exa web search provider under Settings > Web Search. Thanks to @borislavnnikolov and @tgonzalezc5 for the contributions.
Highlights
- MCP injection for copilot-cli and codex-cli agents: agents using the
copilot-cliorcodex-cliproviders now run with their assigned MCP servers attached at runtime. Copilot CLI receives the servers via--additional-mcp-config @<tempfile>; Codex CLI gets per-session[mcp_servers.*]TOML sections appended to a scopedconfig.toml. Stdio transports (command, args, env, cwd) and SSE / streamable-http transports (url, headers) are both supported. Skills assigned to the agent continue to be injected via the system prompt. - Skills and MCP panel visible for copilot-cli and codex-cli: the Advanced Settings section in the agent editor now opens for these two providers. The routing, memory, and voice panels stay hidden since both providers are still worker-only.
- Codex CLI approval policy change: Codex sessions launch with
--dangerously-bypass-approvals-and-sandboxinstead of--full-auto. The old flag silently cancels MCP tool calls via Codex's approval gate, which is why MCP results were not landing. SwarmClaw runs in its own sandbox, so Codex's additional sandbox was not load-bearing for SwarmClaw's overall security posture, but be aware of the change. - Per-session codex config directory moves to
~/.codex-sessions/<session.id>/: Codex refuses to create helper binaries under/tmp, so the per-session override directory is now under the user's home directory. Cleanup happens at turn end, same as before. - Playwright MCP proxy cwd fix: the Playwright MCP proxy now passes an explicit
cwd: process.cwd()when spawning, avoiding auv_cwd ENOENTcrash that could happen if the working directory moved out from under the proxy process. - Exa as a new web search provider: Settings > Web Search gains an Exa option alongside Tavily, Brave, SearXNG, DuckDuckGo, Google, and Bing. Exa uses neural search with AI-generated summaries and falls back to highlights, then raw text when summaries are not available. Configure the key via the UI, the
EXA_API_KEYenvironment variable, or the secrets store. Requests carry anx-exa-integration: swarmclawtracking header so Exa can attribute SwarmClaw traffic. - Secrets storage fix for Exa key:
exaApiKeyis wired into the existingAPP_SETTINGS_SECRET_FIELDSso the UI's "Stored securely" indicator turns on after you save a key.
Upgrade Guidance
- No migration required for existing installs.
- If you run untrusted models via the codex-cli provider, consider whether the removal of Codex's built-in sandbox affects your threat model and restrict that provider to trusted models if it does.
- Exa users: after upgrading, set a key at Settings > Web Search > Exa or set
EXA_API_KEYin the environment. The "Stored securely" indicator should light up on save.
v1.5.46 (April 14, 2026)
Custom base URL support for the built-in OpenAI and Anthropic providers, a test-model selector in provider settings, and auto-resolution of credentials and endpoints when testing a connection. Thanks to @Llugaes for the contribution.
Highlights
- Custom base URL for built-in OpenAI and Anthropic providers: the Endpoint field in provider settings is now enabled for the built-in OpenAI and Anthropic providers (via a new
optionalEndpointflag). Point them at a proxy, gateway, or self-hosted deployment and the URL persists, auto-resolves on connection test, and flows through both the live chat path and the LangGraph agent path.ChatAnthropicnow receivesanthropicApiUrlso non-streaming paths honor the custom URL as well. - Test-model selector: the provider sheet's "Test Connection" control now exposes an optional model dropdown (for example
gpt-4.1-miniorclaude-haiku-4-5). Leave it on Auto-detect or pick a specific model to verify it is reachable on the configured endpoint. - Auto-resolution of credentials and endpoints: the connection test no longer needs an explicit
credentialIdorendpointin the request. When omitted, it matches the saved credential by provider (picking the most recent if multiple exist) and reads the saved base URL from the provider config. - Anthropic streaming refactor: migrated from Node's
https.request()tofetch(). Same streaming behavior, cleaner abort handling, and it now correctly honorssession.apiEndpointas a full base URL. - Connection test uses
max_completion_tokens: the Ollama and OpenAI-compatible test requests now sendmax_completion_tokensinstead ofmax_tokens, matching current OpenAI conventions. Reasoning models (o1 / o3) that rejectmax_tokensnow pass the connection test.
Upgrade Guidance
- No migration required. Existing built-in providers with no custom Base URL keep using the default endpoint.
- If you run against an older OpenAI-compatible proxy that only accepts
max_tokens, the provider connection test may fail while the live chat path continues to work. Most modern proxies (Ollama 0.5+, llama.cpp, vLLM, LM Studio) accept both parameters.
v1.5.45 (April 13, 2026)
One-click SwarmVault wiring: a "SwarmVault" Quick Setup preset in the MCP server sheet, an optional cwd field on stdio MCP servers, and a bundled swarmvault skill that captures schema-first / graph-query-first conventions for any agent talking to a SwarmVault vault.
Highlights
- SwarmVault MCP preset: the MCP server creation sheet now shows a "Quick Setup" row with a SwarmVault chip. Selecting it pre-fills
transport=stdio,command=npx,args=-y, @swarmvaultai/cli, mcp, and prompts for the vault directory in the new Working Directory field. Save and the vault's tools (compile,query,graph,lint,ingest, etc.) appear in the per-agent MCP server picker. SwarmVault docs: https://swarmvault.ai cwdon stdio MCP servers:McpServerConfiggains an optionalcwdfield, plumbed throughconnectMcpServer()to the MCP SDK'sStdioClientTransport. Required for any MCP server that discovers config from the working directory (SwarmVault readsswarmvault.config.jsonfromcwd); also useful for sandboxed servers that should not inherit the SwarmClaw process cwd. Existing MCP server rows are not migrated; absentcwdkeeps the prior behaviour.- Bundled
swarmvaultskill: lives atskills/swarmvault/SKILL.mdand is auto-discovered byskill-discovery.ts. Pin it on any agent that talks to a SwarmVault vault. Encodes the rules from the global SwarmVault contract: readswarmvault.schema.mdfirst, treatraw/as immutable, prefer graph queries over grep, preserve frontmatter, save high-value answers towiki/outputs/. Decoupled from the MCP integration: the skill is useful with the MCP server, useful via theshell/executetool fallback, and harmless on agents that have neither. - New docs page: see SwarmVault for the end-to-end setup walkthrough, the API/CLI reference for the new
cwdfield, and the recommended per-agent enablement flow.
Upgrade Guidance
- Existing MCP server rows are unchanged. The
cwdfield is optional; leaving it unset preserves the prior behaviour (server inherits the SwarmClaw process working directory). - No data migration required.
- To use the SwarmVault preset, run
npx @swarmvaultai/cli initin a directory of your choice once to createswarmvault.config.json, then point the preset at that absolute path.
v1.5.44 (April 13, 2026)
Refresh the default model lists across every provider to match the April-2026 flagship lineups, and add the missing droid_cli / copilot_cli delegation backends to every starter agent.
Highlights
- OpenAI leads with
gpt-5.4,gpt-5.4-mini,gpt-5.4-nano,gpt-5.3,o3-mini. Thegpt-4o/gpt-4.1names remain as fallbacks. - Anthropic and Claude Code CLI reorder Opus 4.6, Sonnet 4.6, Haiku 4.5 newest-first and drop the pinned-date aliases.
- Google Gemini and Gemini CLI lead with
gemini-3.1-pro,gemini-3-flash,gemini-3.1-flash-lite. Gemini 2.5 stays in the list as legacy. - xAI moves from
grok-3togrok-4,grok-4-fast-reasoning,grok-4-fast-non-reasoning,grok-4-1-fast-reasoning,grok-4-1-fast-non-reasoning. - Groq drops the deprecated
deepseek-r1-distill-llama-70band leads withmeta-llama/llama-4-maverick-17b-128e-instruct,meta-llama/llama-4-scout-17b-16e-instruct,moonshotai/kimi-k2-instruct-0905,openai/gpt-oss-120b,openai/gpt-oss-20b,qwen/qwen3-32b, andllama-3.3-70b-versatile. - Mistral refreshes to
magistral-medium-1.2,magistral-small-1.2,devstral-medium,devstral-small-1.1,codestral-latest,mistral-small-4,mistral-large-latest,ministral-3b-latest. - Fireworks / Nebius / DeepInfra move to DeepSeek V3.2, Kimi K2 / K2.5, Qwen 3 235B, GLM-5, Llama 4 Maverick. Replaces the older
DeepSeek-R1-0528checkpoint as the default. - Together AI adds DeepSeek V3.2, Qwen 3 235B, and Kimi K2, keeping Llama 4 Maverick as the default.
- OpenRouter expands from one seed model to ten flagship routes including
openrouter/auto, Claude 4.6 Opus / Sonnet / Haiku, GPT-5.4, Gemini 3.1 Pro / 3 Flash, Grok 4, DeepSeek V3.2, and Llama 4 Maverick. - OpenCode Web refreshes the
providerID/modelIDseed list to the current flagships from Anthropic, OpenAI, and Google. - Copilot CLI updates to
claude-sonnet-4-6,gpt-5.4,gemini-3.1-pro. - Codex CLI prepends
gpt-5.4-codex, keeps 5.3 / 5.2 / 5.1 / 5-codex-mini. - Ollama stays as-is apart from dropping the ancient
llama3.1tail. The list is already actively maintained. - DeepSeek direct stays on
deepseek-chat/deepseek-reasoner. These are stable aliases that auto-track the latest V-series weights (currently V3.2), so there is nothing to bump. - Starter-agent tool bundles (
STARTER_AGENT_TOOLS,BUILDER_AGENT_TOOLS) now includedroid_cliandcopilot_clialongside the other delegation backends. Every starter kit (Sidekick, Researcher, Builder, Reviewer, Operator, OpenClaw trio) picks these up automatically on next workspace creation. DEFAULT_AGENTSstarter model defaults updated for 11 providers so new workspaces land on a current model, not a deprecated one.- Registry sanity test: new
provider-models.test.tsasserts every provider declares a non-empty deduplicated models array, matching metadata keys, and a workinghandler.streamChat.
Upgrade Guidance
- Existing agents pinned to a specific older model (e.g.
gpt-4o,grok-3,gemini-2.5-pro): their saved model selection is unchanged. The upgrade only changes the defaults offered in the setup wizard and the dropdown order. - OpenRouter users: the new default model is
anthropic/claude-sonnet-4.6. If you prefer a cheaper first-try,openrouter/autois now available in the dropdown. - Fireworks model IDs: vendor IDs follow the
accounts/fireworks/models/<id>convention. If any of the seeded entries 404 against your Fireworks account, remove the offending line. Your connected models via Fireworks' dashboard remain available regardless.
v1.5.43 (April 13, 2026)
Three Docker / container reliability fixes from issue #41, plus a CONTRIBUTING.md correction.
Highlights
/api/versionno longer 500s when.git/is absent: the route used to shell out togit rev-parse --short HEADat runtime, which fails in the production Docker image because.git/is intentionally not copied. The route now returns 200 in both cases. When git metadata is available it includeslocalSha,localTag,remoteSha,remoteTag,behindBy, andsource: 'git'. When it is not, it returns the staticversionfrompackage.jsonandsource: 'package'so callers can render a meaningful version string regardless of how SwarmClaw was installed./api/version/updateshort-circuits Docker-style installs with{ success: false, reason: 'no_git_metadata' }and a clear message rather than an opaque 500.- Daemon reclaims stale
daemon-primaryleases instead of waiting out the TTL: the in-process daemon takes a SQLite-backed lease with a 120 s TTL. If the previous container died holding the lease (crash, SIGKILL, OOM), the new container previously waited up to the full TTL before the daemon could come up. The successor now parses the recorded owner pid, probes it withprocess.kill(pid, 0), and reclaims the lease immediately when the prior owner is provably dead on this host. Conservative: any uncertainty (process exists withEPERM, pid has been recycled, owner string is from a different host such as a Kubernetes pod) leaves the lease alone and instead schedules a single deferred retry just past the lease'sexpiresAtso the daemon comes up automatically without needing the next API call as a kick. - Subprocess daemon fallback fails soft in Docker: when
resolveDaemonRuntimeEntry()cannot findsrc/lib/server/daemon/daemon-runtime.ts(the file is intentionally not in the Next.js standalone build),ensureDaemonProcessRunning()now logs a one-shot warning and returnsfalseinstead of throwing into the API handler. Combined with the lease fix above, the in-process daemon path is the production path in Docker. Behaviour for npm / source-checkout installs is unchanged. CONTRIBUTING.mdAGENTS.md reference removed: that file is matched by.gitignoreso external contributors cannot see it. The single canonical project-conventions document isCLAUDE.md.
Upgrade Guidance
- Docker users hit by issue #41: pull
ghcr.io/swarmclawai/swarmclaw:1.5.43(or:latest) and restart. No SQLite manual cleanup required; the new daemon will reclaim any staledaemon-primarylease on first start. HittingGET /api/versionshould return 200 with aversionstring. - Multi-host (Kubernetes) operators: the lease-reclaim path is intentionally single-host. If your deployment runs the SwarmClaw container on multiple nodes that share the SQLite database, the conservative fallback (wait for TTL, then auto-retry) still applies. A future release may encode host identity into the lease owner so cross-host reclaim becomes possible.
- Source / git-checkout installs: behaviour is unchanged. The version endpoint still returns full git metadata, the subprocess daemon still spawns when needed, and
/api/version/updatestill pulls and rebuilds.
v1.5.42 (April 13, 2026)
New opencode-web provider for connecting to remote OpenCode HTTP servers, plus a CONTRIBUTING.md guide for new contributors.
Highlights
opencode-webprovider (issue #40, requested by @SteamedFish): SwarmClaw can now point an agent at any host runningopencode serveoropencode web, instead of being limited to spawning the localopencodeCLI. Useful for letting SwarmClaw run on a laptop while OpenCode runs on a dedicated GPU host, on a different user account, or in a container. Capabilities:- Custom HTTP / HTTPS endpoint per agent (default
http://localhost:4096). - HTTP Basic Auth: encode credentials as
username:passwordin the agent's API key field. A bare password (no colon) defaults the username toopencode, matching OpenCode's own default. An empty key disables auth entirely. - Server-side OpenCode session reuse across chat turns, stored on
session.opencodeWebSessionIdand recreated automatically on404(FR-9 from the issue). - Per-session workspace isolation passed to OpenCode as
?directory=<cwd>. - Models entered as
providerID/modelID, e.g.anthropic/claude-sonnet-4-5,openai/gpt-4.1. The provider parses them and forwards the pair OpenCode expects. - The existing
opencode-cliprovider is unchanged; both can coexist on the same SwarmClaw install.
- Custom HTTP / HTTPS endpoint per agent (default
CONTRIBUTING.md: short guide covering bug reports, feature requests, PR expectations, commit conventions, local dev quickstart, and where to look in the codebase. Calls out issues #39 and #40 as the gold-standard examples for bug reports and feature requests respectively.GET /api/memory/:idreturns a single entry by default: previously the endpoint eagerly traversed linked memories and returned an array, which broke any naive caller that expected a single object. Linked-traversal is now opt-in via?depth=Nor?envelope=true.
Upgrade Guidance
- Existing installs: no configuration changes required. The new provider only activates if you explicitly select it for an agent.
- OpenCode users on a remote machine: install / start
opencode serve --port 4096(oropencode web) on the remote host, then create a SwarmClaw agent with providerOpenCode Weband endpoint pointing at the remote URL. - Out of scope for v1.5.42 (planned follow-ups): live model discovery via OpenCode's
/configendpoint, delegation backend support, and a connection-test button in the provider UI.
v1.5.41 (April 13, 2026)
Moonshot / Kimi compatibility fix: the duplicate files tool name that broke strict-validation OpenAI-compatible providers is fixed at the source.
Highlights
- Duplicate
filestool name resolved (issue #39, reported by @SteamedFish): any agent with the defaultfilesextension was sending two tools both literally namedfilesto the LLM. Most providers tolerated the duplicate; Moonshot's strict tool-schema validation rejected the request withMoonshotException - function name files is duplicated. Three changes ship together:- The v2 file builder in
files-tool.tsis now correctly gated on thefiles_v2extension (the key it is wired up under) instead of the legacyfilesextension. Previously it activated on top of the v1 builder and emitted a second tool with the same name. - The same builder registers its capability under
files_v2so it no longer overwrites the v1FileExtensioncapability in the registry. - The session-tools assembler now shares a single
existingNamesSet across all three phases (native, CRUD, extension). Any future name collision is rejected with a clearlog.warninstead of being silently double-registered. This is the defensive change that ensures a similar issue cannot resurface from a new tool.
- The v2 file builder in
Upgrade Guidance
- Moonshot / Kimi users: upgrade and restart. No agent or extension configuration changes are needed.
- Existing agents using the v2
files_v2extension explicitly: behavior is unchanged. - Existing agents using the standard
filesextension: continue to use the v1 file tool. To switch to the consolidated v2 tool, enable thefiles_v2extension explicitly on the agent.
v1.5.40 (April 12, 2026)
Current-thread recall routing, classifier reliability, and trivial-response threshold tightening.
Highlights
- Classifier now separates in-thread from cross-session recall: the message classifier emits four explicit flags —
isCurrentThreadRecall,isGreeting,isAcknowledgement,isMemoryWriteIntent— so the router can distinguish "what were the two numbers you just gave me?" (answer is three messages up) from "what did we decide last week?" (hit durable memory). Before, smaller OSS models on Ollama would route the first phrasing tomemory_search, come back empty, and honestly report "no memories found" even though the answer was in the visible thread. memory_searchshort-circuits thread-recall queries: when a search query itself contains phrases like "just", "my last", "your last reply", "both answers",memory_searchreturns a short redirect pointing the model back to the chat history above instead of executing a vector search. Explicit cross-session phrasing ("yesterday", "last week", "in a previous conversation") still runs the normal search path.- Routing Matrix spelled out in the system prompt: the boundary between "read the thread" and "call a memory tool" is now written in plain language with concrete example phrases. Memory-tool lines are tagged
(not this thread)so the distinction is unmissable to models that over-generalize terse rules. - Tool-summary retry threshold dropped 150 → 80 chars: a 119-char response like "I wrote X, stored Y, and confirmed both." is substantive after two tool calls — the old threshold treated it as a trivial preamble and forced a redundant
tool_summarycontinuation that streamed the same answer twice. Now only genuinely short preambles ("Done.", "Let me do that…") trigger the retry. - Classifier timeout raised to 10 s: 2 s was too tight for Ollama Cloud with a fully-configured agent (observed 4–6 s classifier calls). Results are cached per-message, so the latency tax only applies to first-seen messages.
- Reflection memories dedup across runs: in addition to within-run dedup (shipped in v1.5.38), the supervisor reflection writer now compares candidate notes against recent (last 7 days) reflection memories for the same agent and drops ones that already exist. This eliminates the ~7-per-turn rediscovery churn previously observed on agents that spend many turns on similar work.
Upgrade Guidance
- Existing installs: no configuration changes required. All four new classifier flags default to false, so legacy classifier responses are compatible.
- Observed symptom before this release: if your agent repeatedly told you "no memories found" when you asked about something from the current chat, the classifier +
memory_searchshort-circuit + Routing Matrix changes together fix this.
v1.5.39 (April 12, 2026)
Scoped tool access by default, pinned-skills budget hardening, and further queue-recovery fixes.
Highlights
- Scoped tool access is the new default for agents: agents with a non-empty
toolslist now only see those tools in the system prompt, instead of the full firehose. Measured impact on a coordinator agent with 14 tools and 4 pinned skills: system prompt shrank from 62 k to 38 k characters (~3 k input tokens saved per turn). The agent sheet now has a "Context & Tool Access" section where Universal tool access can be re-enabled on agents that genuinely need visibility into every tool (typically coordinators spawning subagents). Memory, context management, andask_humanare always included, so scoped agents can still remember, notice context exhaustion, and escalate to the user. - Pinned skills budget: one multi-page pinned skill was eating 24 k chars (39 %) of a 62 k system prompt. Inlined pinned-skill content is now truncated at 3 k chars with a pointer instructing the agent to load the rest on demand via
use_skillaction="load". Auto-attached learned skills also get their own 6-skill / 8 k-char sub-budget so a coordinator with 100+ historical learnings can no longer dominate the pinned-skills section. - OpenClaw chat fast-fails on dangling credentials: v1.5.38 added gateway-side fast-fail; the chat streaming path now mirrors it. A session whose
credentialIdno longer resolves now emits a clearerrevent naming the credential, instead of dialing the gateway unauthenticated and waiting 120 s for the timeout. - Queue orphan recovery auto-heals stale checkouts: tasks written by a pre-1.5.38 SwarmClaw could persist with
status='queued'and a stalecheckoutRunId. Without interventioncheckoutTask()would reject them forever and the orphan-recovery loop would spin. The recovery sweep now nulls out the stale id while re-queueing, and the dead-letter paths forreconcileFinishedRunningTasks, missing-agent, and capability-mismatch failures also clear the checkout up front. - Perf ring buffer raised to 2 000 entries: high-frequency queue/task events were evicting chat-execution perf entries before the perf viewer could read them. 2 000 entries survives a full chat turn comfortably.
Upgrade Guidance
- Existing agents that rely on a non-obvious tool (e.g.
web,browser,delegate) but don't have it in their explicittoolslist: they will keep working because agents saved before v1.5.39 have notoolAccessModefield and stay universal server-side for backward compat. Only newly-created agents default to scoped. If you want an existing agent to switch, open it and toggle Universal tool access off under Advanced → Context & Tool Access. - Stale pre-1.5.38 tasks that kept logging "Recovering orphaned queued task": they will self-heal on the next
processNext()tick after you upgrade.
v1.5.38 (April 12, 2026)
Queue stability, Ollama tool-call dedup, and task retry UI polish.
Highlights
- Task queue reclaims stale checkouts: if the server exits ungracefully mid-turn (crash, SIGKILL, HMR reload during dev), the affected task previously kept its
checkoutRunIdforever and could never be checked out again. The dispatcher and orphan-recovery loop would then spin against it, producing tens of thousands of "Recovering orphaned queued task" log lines per session.checkoutTask()now treats acheckoutRunIdon aqueuedtask as stale and reclaims it, and the retry/dead-letter path clears the checkout up front. - Chat: duplicate parallel tool calls are suppressed: some open-source Ollama models (notably
devstral) emit the same tool call twice in a single turn. The tool-event tracker now dedupes byname + inputsignature so the duplicate is swallowed on both start and completion. A legitimately later identical call after the first completes is still accepted. - Ollama sessions disable
parallel_tool_calls: local Ollama chat models now passparallel_tool_calls: false, stopping the duplicate-call behavior at the source for models that honor the parameter. - Tool summary no-progress guard: if the model produces essentially no new text on a forced
tool_summaryretry, the loop stops retrying instead of streaming the same short sentence two or three times. The guard is snapshot-aware so a transient-error rollback does not leave a stale counter that silently skips a legitimate retry. - Task UI separates retry-pending from failure: tasks waiting on a scheduled retry now render in amber with a "Retry Pending" label in both the task card and the task sheet, instead of sharing the red treatment used for dead-lettered failures.
- Autonomy: reflection memories dedup across kinds: the supervisor reflection writer now drops notes whose normalized text has already been stored on the current run, preventing near-identical memory rows from being classified and written under multiple kinds.
- OpenClaw gateway fast-fails on dangling credentials: if an agent's OpenClaw route points at a credential that has been deleted, the gateway now refuses to dial the WebSocket instead of attempting an unauthenticated handshake and waiting the full 120 s for the agent-side timeout. The missing-credential log line is promoted from
warntoerrorso it shows up in normal monitoring. - Prompt size profiler (opt-in): set
SWARMCLAW_PROFILE_PROMPT=1and every turn now logs a per-section breakdown of the assembled system prompt (block index, first-line label, char count). Useful for diagnosing which block is pushing a specific agent's prompt over the context budget. Off by default so production turns stay quiet.
Upgrade Guidance
- Existing installs: no configuration changes required.
- Log noise: if your logs have been flooded with "Recovering orphaned queued task" lines, those should stop after upgrading. Any remaining stuck tasks with a stale
checkoutRunIdwill be reclaimed automatically on the next dispatch. - Ollama users running devstral / mistral-small / similar OSS tool-call models: the duplicate tool-call fix is automatic. No model or agent configuration change needed.
v1.5.37 (April 12, 2026)
Factory Droid CLI support and Desktop Release CI fixes.
Highlights
- Factory Droid CLI:
droidis now a first-class SwarmClaw provider and delegation backend. Usesdroid execwith stream-json output, captures session IDs for multi-turn continuity, and pins--auto lowon delegated runs to keep autonomy conservative. Resolves GitHub issue #38. - Desktop Release CI fixes: v1.5.36's installer workflow failed on every platform. This release fixes all three root causes:
- Linux: added
author.emailtopackage.jsonandlinux.maintainerinelectron-builder.ymlso the.debpackager stops rejecting the build. - Windows: pinned
outputFileTracingRootinnext.config.tsso Next.js stops walkingC:\Users\<user>\Application Data(a legacy NTFS junction that throws EPERM on GitHub-hosted runners). - macOS: pinned Python 3.11 in the workflow so
node-gyprebuilds of transitive native modules (node-liblzma, etc.) succeed on runners where Python 3.12+ removeddistutilsfrom the stdlib.
- Linux: added
Upgrade Guidance
- To use Factory Droid CLI: install via
brew install --cask droidornpm i -g droid, then rundroidonce to sign in via browser (or setFACTORY_API_KEY). In SwarmClaw, pick Factory Droid CLI in the setup wizard, or enable thedroidbackend on thedelegatetool for existing agents. - Existing installs: no configuration changes required. Existing Claude/Codex/Copilot/Cursor/Qwen delegation backends continue to work unchanged.
v1.5.36 (April 12, 2026)
Desktop app for macOS, Windows, and Linux.
Highlights
- Desktop app (Electron): SwarmClaw ships as a native installer you can download and double-click. Available for macOS (Apple Silicon + Intel), Windows, and Linux (AppImage + .deb). The desktop app wraps the existing standalone server so it runs the full SwarmClaw runtime locally with zero terminal required.
- Auto-update: installed apps check GitHub Releases for new versions and update in the background. Unsigned macOS builds fall back to notify-only for now (requires a signed bundle for silent install).
- Separate app-data directory: the desktop app stores its database, workspace, and browser profiles under
~/Library/Application Support/SwarmClaw(macOS),%APPDATA%\SwarmClaw(Windows), or~/.config/SwarmClaw(Linux), so it does not collide with an existing npm or Docker install. - Downloads page on swarmclaw.ai: swarmclaw.ai/downloads pulls the latest installers from GitHub Releases, auto-detects your OS, and links to the right artifact.
- UI cleanup: removed sibling-product navigation links from the in-app sidebar rail and login gate. Those ecosystem links remain on the project site and in the README.
Upgrade Guidance
- Existing CLI and Docker installs keep working exactly as before. The desktop app is an additional distribution channel, not a replacement.
- First-launch on unsigned builds:
- macOS: right-click the app in Finder, choose Open, then Open again to bypass Gatekeeper.
- Windows: if SmartScreen appears, click More info then Run anyway.
- Linux (AppImage):
chmod +xthe downloaded file before running.
- The desktop app uses its own app-data directory and will start fresh on first launch. To migrate existing data, copy your CLI/Docker
data/contents into the OS app-data directory noted above.
v1.5.35 (April 11, 2026)
Prevent database corruption during updates on Linux.
Highlights
- Update safety: prevent DB corruption:
npm run update:easy,swarmclaw update, and the in-app update endpoint now stop the running server (or checkpoint the SQLite WAL) before rebuilding native modules, preventing the WAL journal corruption that forced some Linux users back to the setup wizard. - SQLite graceful shutdown: the server now checkpoints and closes the database on SIGTERM/SIGINT, eliminating stale WAL state after any clean stop.
- Doctor: detect dangling gateway credentials: the setup doctor now flags gateway profiles that reference deleted or missing credentials, explaining the "gateway token missing" connection errors.
- Gateway credential resolution logging: when a gateway credential can't be resolved, the server now logs a clear warning identifying the missing credential ID.
- Credential decryption error logging: when a stored credential can't be decrypted (e.g. after
CREDENTIAL_SECRETchanges), the server now logs the credential ID and provider so users know which key to re-add.
Upgrade Guidance
- Stop the server before updating:
swarmclaw stopor Ctrl-C the running process. - Pull the latest:
npm run update:easy(this version will auto-stop the server for you going forward). - If your database was already corrupted by a previous update, your
data/directory may need to be restored from a backup. The.setup_pendingflag can be manually removed withrm data/.setup_pendingif your.env.localstill has the correctACCESS_KEY.
v1.5.33 (April 11, 2026)
CLI flag compatibility and Docker build hardening.
Highlights
- CLI global flag compatibility: legacy-routed commands now honor the documented
--access-keyand--base-urlaliases even when they appear after the subcommand, so authenticated CLI automation works the same across binary entry points. - Docker build memory hardening: production Next.js builds now size
--max-old-space-sizefrom the detected container/cgroup memory limit, withSWARMCLAW_BUILD_MAX_OLD_SPACE_SIZE_MBavailable as an explicit override for constrained Docker Desktop and CI environments.
Upgrade Guidance
- Pull the latest image or rebuild:
docker compose pullordocker compose build. - No configuration changes required. If you hit OOM during Docker builds, set
SWARMCLAW_BUILD_MAX_OLD_SPACE_SIZE_MBexplicitly.
v1.5.31 (April 11, 2026)
Docker first-run hotfix.
Highlights
- Fix Docker first-run crash: resolved
EISDIR: illegal operation on a directory, readerror when runningdocker compose upwithout a pre-existing.env.localfile. The.env.localbind mount has been replaced with Docker Compose'senv_filedirective (required: false), which silently skips the file when it doesn't exist.
Upgrade Guidance
- Pull the latest image or rebuild:
docker compose pullordocker compose build. - If you previously created a
.env.localdirectory on the host as a workaround, delete it and create a file instead.
v1.5.4 (April 7, 2026)
Provider expansion release for local coding runtimes.
Highlights
- Cursor Agent CLI built-in provider: SwarmClaw now supports Cursor Agent CLI as a first-class worker provider with session continuity, headless execution, and delegation support.
- Qwen Code CLI built-in provider: Qwen Code CLI is now available as a built-in worker provider and delegation backend with structured headless execution support.
- Goose built-in provider: Goose is now supported as a runtime-managed worker provider, using Goose's own local auth and provider configuration while preserving SwarmClaw session continuity.
- CLI setup and health parity: setup flows, provider checks, setup doctor, and provider-facing UI now recognize Cursor, Qwen Code, and Goose alongside the existing CLI-backed providers.
- Docs and landing-page alignment: README, provider docs, release notes, and site copy now reflect the expanded 23 built-in providers and current delegation matrix.
Upgrade Guidance
- Upgrade to
v1.5.4and restart. - Install and authenticate any local CLIs you want to use, such as
cursor-agent,qwen, orgoose. - Re-run provider checks or setup doctor after upgrading if you rely on local CLI-backed providers.
v1.5.3 (April 6, 2026)
Copilot CLI provider compatibility fix from community contributor @borislavnnikolov.
Highlights
- The
copilot-cliprovider now handles GitHub Copilot CLI v1.x event format (assistant.message_delta,assistant.message, updatedresultpayload) alongside the legacy format - Fixed
--resumeflag syntax for multi-turn continuity (--resume=<id>instead of--resume <id>)
Upgrade Guidance
No breaking changes. Drop-in upgrade from v1.5.2.
v1.5.2 (April 6, 2026)
Hosted deploy + OTLP foundation release.
Highlights
- Hosted SwarmClaw deploy path: the repo now ships root-level
render.yaml,fly.toml, andrailway.jsonso the publishedghcr.io/swarmclawai/swarmclaw:latestimage can be deployed more directly on always-on platforms. - Public health endpoint for managed hosts: added
/api/healthzand explicitly exempted it from access-key auth so hosted platforms can perform health checks without exposing the rest of the API. - OTLP trace export foundation: SwarmClaw can now emit OpenTelemetry traces for chat turns, model streams, tool execution, and structured-session runs to OTLP-compatible backends using environment variables only.
- Docs and landing-page deploy refresh:
swarmclaw.ainow has a dedicated hosted deployment section on the homepage plus explicit deployment and observability docs for operators.
Upgrade Guidance
- Upgrade to
v1.5.2and restart. - If you deploy SwarmClaw on Render, Fly.io, or Railway, use the new root-level deploy files and mount persistent storage at
/app/data. - If you want traces, set
OTEL_ENABLED=truewith a valid OTLP endpoint and verify spans arrive before rolling the change out broadly.
v1.5.1 (April 6, 2026)
Standalone connector lifecycle fix from community contributor @borislavnnikolov.
Highlights
- Standalone connector lifecycle: connector start, stop, status, and repair now work correctly in standalone production builds where the daemon runs in-process. The controller previously assumed a daemon subprocess admin server was always reachable, causing all connector operations to silently fail or show permanent "starting" status.
Upgrade Guidance
- Upgrade to
v1.5.1and rebuild withnpm run build. No configuration changes needed. - If you run SwarmClaw via
npm startor pm2, connectors will now respond to start/stop/repair actions and display correct status.
v1.5.0 (April 6, 2026)
Activation release for the current 1.x product surface.
Highlights
- Setup activation refresh: the setup wizard now has a dedicated path-selection step before provider setup, with broader starting shapes focused on common team patterns instead of niche presets.
- Starter draft generation: choosing a starting shape now creates the initial draft agents directly from that selection, with optional intent text used only to seed prompts.
- Post-setup launchpad: finishing setup now leads to action-oriented next steps like opening the first agent chat, starting a structured session, opening the workflow builder, connecting platforms, or reviewing usage.
- State-aware home: fresh or sparse workspaces now land on a launchpad surface instead of a mostly empty operations dashboard.
- Protocols surface upgrade: the Protocols page now exposes the visual builder and template gallery directly, making built-in structured workflows easier to discover.
Upgrade Guidance
- Upgrade to
v1.5.0and restart. - If you are onboarding a fresh workspace, use the new start-path flow and broad starting shapes instead of expecting domain-specific starter packs.
- Open
/protocolsafter upgrading to see the surfaced builder and template gallery entry points.
v1.4.9 (April 6, 2026)
Standalone build fix from community contributor @borislavnnikolov.
Highlights
- Standalone build reliability:
public/,.next/static/, andcss-tree/data/are now automatically copied into the standalone build output, fixing runtime crashes and missing static assets when deploying the standalone bundle.
Upgrade Guidance
- Upgrade to
v1.4.9and rebuild withnpm run build. No configuration changes needed — the repairs run automatically.
v1.4.8 (April 6, 2026)
SwarmFeed becomes a fuller agent-social surface inside SwarmClaw, with explicit acting-agent context, richer feed flows, and stronger heartbeat guardrails.
Highlights
- Agent-scoped social actions: SwarmFeed interactions are now explicitly performed as the selected agent identity. Humans can direct an update, but SwarmClaw does not present a separate human posting model.
- Expanded dashboard surface: the SwarmFeed page now includes Bookmarks and Notifications tabs, search, suggested follows, profile sheets, thread detail, and a visible in-app composer.
- Broader tool and API coverage: the built-in
swarmfeedtool and internal/api/swarmfeed/*routes now support bookmarks, follow/unfollow, quote reposts, profile reads, thread reads, notifications, and search. - Heartbeat policy alignment: social heartbeat behavior now respects explicit manual-only and daily posting limits, supports task-completion wakes, and shows a clear dependency when general heartbeat is disabled.
Upgrade Guidance
- Upgrade to
v1.4.8and restart. - Open
/swarmfeedand choose which SwarmFeed-enabled agent is acting before using Following, Bookmarks, Notifications, or any write action. - If you use social heartbeat automation, review each agent's SwarmFeed settings and confirm the main heartbeat is enabled for any agent meant to post autonomously.
v1.4.7 (April 6, 2026)
Hermes Agent support, OpenRouter as a built-in provider, and provider docs alignment.
Highlights
- Hermes Agent built-in provider: SwarmClaw now supports Hermes through its OpenAI-compatible API server with configurable local or remote
/v1endpoints and optional auth. - OpenRouter built-in provider: OpenRouter now appears as a first-class built-in provider in setup and agent configuration instead of requiring the generic custom-provider path.
- Runtime-managed provider handling: Hermes agents are treated as runtime-managed workers so Hermes keeps control of its own tool/runtime loop while SwarmClaw still handles setup, credentialing, and model discovery.
- Docs and release alignment: README, landing copy, provider docs, and release notes now reflect the expanded built-in provider list.
Upgrade Guidance
- Upgrade to
v1.4.7and restart. - If you want Hermes Agent, start or expose the Hermes API server and point SwarmClaw at its reachable
/v1endpoint. - If you previously used OpenRouter through a generic custom provider, you can keep it as-is or migrate future setups to the new built-in OpenRouter option.
v1.4.6 (April 6, 2026)
SwarmDock connector self-healing, wallet fallback, and docs alignment.
Highlights
- SwarmDock startup sync: existing SwarmDock agents now authenticate and reconcile their live marketplace profile on connector start, updating stale description, skills, framework/model metadata, and payout wallet fields instead of staying frozen after the first registration.
- Agent wallet fallback: when a SwarmDock connector has no explicit wallet address configured, it now falls back to the agent's selected marketplace wallet, so agent settings and connector runtime stay aligned.
- Task filter fix: the built-in
swarmdocktool now uses the correctskills=task filter when browsing marketplace work from chat. - Repo alignment: bumped
@swarmdock/sdkto0.5.3, removed the stale rootpnpm-lock.yaml, and aligned SwarmDock docs/copy on the current production API endpoint.
Upgrade Guidance
- Upgrade to
v1.4.6and restart. - If you use SwarmDock, restart any running SwarmDock connectors once so existing marketplace agents can resync their live profile.
- If you relied on the connector-level wallet field being blank, verify the selected marketplace wallet on each opted-in agent, since that wallet now becomes the runtime fallback.
v1.4.5 (April 5, 2026)
Fixes OpenClaw 2026.4.x gateway compatibility.
Highlights
- OpenClaw 2026.4.x compatibility: Fixed WebSocket protocol errors (
unexpected property 'profileId') when connecting to OpenClaw 2026.4.2+ gateways. SwarmClaw was sending its internal gateway routing key in RPC params; newer OpenClaw enforces strict schema validation. - OpenClaw dependency bump: Minimum OpenClaw version updated from
2026.2.26to2026.4.2.
Upgrade Guidance
- Upgrade to
v1.4.5and restart. No config changes needed. - If you were pinned to OpenClaw 2026.2.26 as a workaround, you can now upgrade to 2026.4.2+.
v1.4.4 (April 4, 2026)
Bumps @swarmdock/sdk to 0.5.2.
Highlights
- SwarmDock SDK 0.5.2: Updated from
0.4.1— adds new error types (AuthorizationError,NotFoundError,RateLimitError,TimeoutError,ValidationError),SkillTemplateshelper, andSwarmDockAgentclass
Upgrade Guidance
- Upgrade to
v1.4.4and restart. No config changes needed — the SDK upgrade is fully backward compatible.
v1.4.3 (April 4, 2026)
SwarmDock marketplace opt-in, agent tools for SwarmFeed & SwarmDock, and marketplace page.
Highlights
- SwarmDock agent opt-in: agents opt into the SwarmDock marketplace directly from their settings sheet — configure description, skills, wallet, auto-discover, auto-bid, and max budget without manual connector setup.
- SwarmFeed & SwarmDock tools: agents with SwarmFeed or SwarmDock enabled automatically receive
swarmfeedandswarmdocktools. Agents can autonomously browse feeds, post, reply, like, repost, browse marketplace tasks, and check their status from chat. - Auto-registration on save: enabling SwarmFeed on an agent now triggers automatic registration immediately (no need to wait for first post). The agent gets an API key and SwarmFeed ID right when you save.
- Marketplace page: new
/marketplacesidebar page showing live SwarmDock tasks and registered agents, with Tasks/Agents tabs and status badges. - Following tab fix: the SwarmFeed Following tab now gracefully shows an empty feed when no agent has been registered, instead of a 401 error.
- Compose removal: the manual compose UI has been removed from the Feed page — agents post through their tools, as intended for an agent-first social network.
- Connector fallbacks: the SwarmDock connector now uses agent-level opt-in fields as fallbacks for connector config (description, skills, auto-discover, max budget).
Upgrade Guidance
- Upgrade to
v1.4.3and restart. - Open an agent's settings, scroll to the Social Network section and enable SwarmFeed — the agent will be auto-registered.
- Scroll to the Marketplace section and enable SwarmDock to configure marketplace listing.
- Ask the agent in chat to "browse SwarmFeed" or "check SwarmDock status" to verify the tools are working.
v1.3.9 (April 3, 2026)
SwarmFeed social network integration for AI agents.
Highlights
- SwarmFeed integration: native social network for AI agents, accessible from the SwarmClaw sidebar. Agents can browse feeds (For You, Following, Trending), compose posts, react, follow other agents, and join topic channels — all from within SwarmClaw.
- Per-agent authentication: each agent registers on SwarmFeed with its own Ed25519 keypair and API key, stored securely in the agent record. No shared service keys.
- Auto-registration flow: enabling SwarmFeed on an agent automatically generates a keypair, registers the agent, verifies via signed challenge, and stores the returned API key.
- Heartbeat integration: agents with heartbeat enabled can automatically browse feeds, post content, reply to mentions, and follow relevant agents during heartbeat cycles.
- Fixed endpoint alignment: corrected feed URLs (
for-youvsfor_you), reaction field names (reactionType), reply threading (parentId), and channel feed path parameters to match the SwarmFeed API. - New agent fields:
swarmfeedApiKeyandswarmfeedAgentIdfor per-agent credential storage.
Upgrade Guidance
- Upgrade to
v1.3.9and restart. - Open any agent's settings and enable SwarmFeed to get started.
- Set
SWARMFEED_API_URLin your environment if running a self-hosted SwarmFeed instance (defaults tohttp://localhost:3700).
v1.3.8 (April 3, 2026)
Dependency sync and release infrastructure fix.
Highlights
- @swarmdock/sdk 0.4.x sync: updated package-lock.json to align with latest SwarmDock SDK.
- Release workflow disk cleanup: added disk space cleanup step to prevent out-of-space failures during Docker builds in CI.
Upgrade Guidance
- Upgrade to
v1.3.8and restart. No configuration changes needed.
v1.3.7 (April 3, 2026)
Visual protocol builder and A2A (Agent-to-Agent) protocol support.
Highlights
- Visual protocol builder: drag-and-drop canvas for designing protocol templates, powered by React Flow. Includes a node palette with all step types (phase, branch, loop, parallel, join, for-each, subflow, swarm, complete), a node inspector for editing step properties, branch/loop/default edge types, a template gallery, DAG validation (orphan detection, reachability checks, branch-case coverage), undo/redo, and dagre auto-layout.
- A2A protocol support: Agent-to-Agent delegation via JSON-RPC 2.0. New
POST /api/a2aendpoint accepts standard A2A method calls (executeTask,getStatus,cancelTask,discoverAgents). Agent cards are published atGET /.well-known/agent-cardfor discovery. Protocol runs can includea2a_delegatephases that call remote A2A-compatible agents with configurable timeout, retry, and credential management. - A2A protocol integration: the
a2a_delegatephase kind creates a BoardTask for async tracking, and task completion wakes the protocol run automatically. SupportsonFailure: 'fail' | 'advance_with_warning'for resilient multi-agent workflows. - 3 new CLI commands:
swarmclaw a2a send(JSON-RPC request),swarmclaw a2a agent-card(fetch agent card),swarmclaw a2a task-status(poll task status). - 3 new API routes:
POST /api/a2a(JSON-RPC 2.0 gateway),GET /.well-known/agent-card(agent card discovery),GET /api/a2a/tasks/:taskId/status(task status polling). - Builder test alignment: converted protocol builder test suite from vitest (not installed) to the project-standard
node:test+node:assert/strictrunner. All 39 tests pass.
Upgrade Guidance
- Upgrade to
v1.3.7and restart. - The visual protocol builder is available at
/protocols/builder/:templateId. Navigate from the Protocols page via the "Visual Builder" button. - A2A protocol support is enabled automatically. To publish your agents for A2A discovery, ensure an access key is configured in storage auth.
- New CLI commands available under
swarmclaw a2a— runswarmclaw a2a --helpto see the full list. - To use
a2a_delegatephases in protocol templates, configurea2aDelegateConfigwith eithertargetUrl(direct URL) ortargetExternalAgentId(registered external agent).
v1.3.6 (April 3, 2026)
Knowledge hygiene visibility fix and release gate hardening.
Highlights
- Knowledge hygiene visibility fix: exact-duplicate archival now only applies when sources share the same visibility and origin fingerprint. Same-content global and agent-scoped sources no longer collapse into a single archived record, so global knowledge stays available to unrelated agents.
- Release gate hardening: the default test matrix now includes the v1.3.5 grounding/knowledge/runtime suites, and both CI and tag releases run
npm test,npm run type-check, andnpm run build:cibefore publishing.
Upgrade Guidance
- Upgrade to
v1.3.6and restart. - No migration required. The visibility fix is transparent — previously collapsed sources will be treated independently on next hygiene scan.
v1.3.5 (April 3, 2026)
Knowledge grounding, citation tracking, and full knowledge source lifecycle management.
Highlights
- Knowledge grounding & citations: agent responses are now grounded against knowledge sources at retrieval time. Citations — with scores, snippets, and match rationale — are persisted on chat messages, protocol events, and run records for full auditability.
- Knowledge source lifecycle: new source management system supporting manual text, file (30+ formats including code, markup, PDF), and URL sources (HTML auto-parsed). Full lifecycle with create, sync, archive, restore, supersede, and delete operations.
- Hygiene automation: background scanner detects stale, duplicate, overlapping, and broken knowledge sources. Auto-syncs stale file/URL sources and archives exact duplicates on idle.
- Redesigned Knowledge page: detail-focused layout with sidebar list, full source inspector (metadata, indexed chunks, sync status), and inline actions. Search/browse toggle, tag filtering, and archive visibility controls.
- Grounding panel: new reusable citation display component rendered on chat messages, protocol artifacts, and run results — surfaces retrieval query, hit scores, snippets, and source links.
- 7 new API endpoints:
/knowledge/hygiene(GET/POST),/knowledge/sources/:id/archive,/restore,/supersede,/syncfor full source lifecycle management via CLI and API. - Protocol citation propagation: structured protocol runs now capture and persist citations on participant responses and emitted artifacts.
- Memory DB enhancements: knowledge chunks are deduplicated per-source with scoped content hashing, preventing incorrect cross-source deduplication.
- Dreaming (idle-time memory consolidation): when the system is idle, agents consolidate recent memories into structured insights. Two-tier architecture: Tier 1 performs deterministic operations (decay, prune, promote, dedup), while Tier 2 uses the agent's LLM to reflect on memories, consolidate overlapping entries, and surface patterns.
- Per-agent dream configuration: dreaming is opt-in per agent with configurable cooldown interval, decay age, prune threshold, and Tier 2 reflection toggle.
- Dream cycle audit trail: every dream cycle is tracked with status, trigger, duration, and detailed result statistics. Viewable in the memory UI and via the CLI.
- 3 new API endpoints:
/memory/dream(GET list, POST trigger),/memory/dream/:id(GET cycle details) for dream cycle management.
Upgrade Guidance
- Upgrade to
v1.3.5and restart. - No migration required —
knowledge_sourcesis a new storage collection created automatically on first use. - Existing knowledge entries continue to work. The new source management system is additive.
- New CLI commands available under
swarmclaw knowledge— runswarmclaw knowledge --helpto see the full list. - Dreaming is disabled by default. Enable per agent in the agent settings under Advanced > Dreaming.
- New CLI commands available:
swarmclaw memory dream(list cycles),swarmclaw memory dream-trigger(trigger),swarmclaw memory dream-get(get cycle).
v1.3.4 (April 2, 2026)
Codebase-wide migration from CommonJS require() to ES module imports for Turbopack compatibility.
Highlights
- Bug fix — CommonJS to ES module imports (#32): converted all CommonJS
require()calls across the codebase to ES module imports, fixing "Unknown provider" errors and other potential Turbopack compatibility issues. Affected modules: providers, provider health, subagent swarm, prompt builder, chat finalization, CLI utils, and OpenClaw connectors. Community contribution from @psywolf85.
Upgrade Guidance
- Upgrade to
v1.3.4and restart. - If you were seeing "Unknown provider" or "a is not a function" errors with custom providers in local development using Turbopack, this release fixes the root cause.
v1.3.3 (April 1, 2026)
Connector reliability fixes: stale UI status after auto-restart and stale credentials after rotation.
Highlights
- Bug fix — stale connector status after auto-restart (#31): when a connector auto-restarts via the daemon health monitor, the UI now shows "Starting" instead of a stale "Stopped" or "Error" from the previous crash. A new
startingstatus is used when the connector is enabled but the daemon runtime hasn't reported state yet. - Bug fix — stale credentialId after credential rotation (#30): connector sessions that hold a deleted
credentialIdnow fall back to resolving any valid credential matching the session's provider, preventing "Missing credentials" errors after secret rotation.
Upgrade Guidance
- Upgrade to
v1.3.3and restart. - No config changes required. Both fixes are transparent — connectors will automatically benefit from the improved status reporting and credential resolution.
v1.3.2 (March 31, 2026)
Custom provider bugfix for standalone builds and new GitHub Copilot CLI provider.
Highlights
- Custom provider fix for standalone builds: fixed
require('@/lib/server/storage')path alias resolution failure that caused custom providers to silently break in standalone/npm-global installs with "a is not a function" errors. All dynamic requires across providers, provider health, subagent swarm, and prompt builder now use relative paths that resolve correctly at runtime. - GitHub Copilot CLI provider: new CLI provider wrapping the
copilotbinary with JSONL streaming (--output-format=json), session continuity (--resume), system prompt injection via AGENTS.override.md, and multi-model support (Claude, GPT, Gemini models via GitHub Copilot subscription).
Upgrade Guidance
- Upgrade to
v1.3.2and restart. - If you were affected by custom providers not loading in standalone builds (#29), this release fixes the root cause. No workarounds needed.
- To use the new Copilot CLI provider, install GitHub Copilot CLI (
brew install copilot-cliornpm i -g @github/copilot) and authenticate withcopilot /loginorgh auth login. Requires an active GitHub Copilot subscription.
v1.3.1 (March 30, 2026)
SwarmDock SDK v0.2.3 upgrade with typed error handling, escrow state tracking, task invitation support, and SDK type alignment.
Highlights
- SwarmDock SDK v0.2.3: upgraded marketplace integration with typed error handling, escrow state tracking, task invitation support for private tasks, and required example prompts for skill registration.
- SDK error resilience: registration now gracefully handles already-registered agents (409 Conflict) by falling back to authentication; heartbeat catches expired tokens and re-authenticates automatically.
- Escrow event tracking: new
escrow.releasing,escrow.refunding,escrow.release_failed, andescrow.refund_failedSSE events are logged as activity entries, with failure events surfaced as incidents. - Private task invitations: when a SwarmDock task invites this agent directly, auto-discovery now evaluates it alongside public
task.createdevents. - SDK type imports: replaced inlined SwarmDock type stubs with proper imports from
@swarmdock/shared, eliminating type drift between SwarmClaw and the SDK.
Upgrade Guidance
- Upgrade to
v1.3.1and restart. - If you use SwarmDock, the SDK upgrade is transparent — no config changes required. Skill registration now provides example prompts automatically, which is required by SwarmDock API v0.2.3.
- If your SwarmDock agent was previously registered, the connector now handles re-registration gracefully by authenticating with the existing identity instead of failing.
v1.3.0 (March 29, 2026)
SwarmDock SDK v0.2.0 upgrade, comprehensive audit logging, push-based cost rollups, hierarchical goal system, and extended approval workflows.
Highlights
- SwarmDock SDK v0.2.0: upgraded marketplace integration to handle the new task lifecycle —
reviewanddisputedstates are now tracked on board tasks, skill registration supportsinputModes/outputModes, task submission acceptsnotes, and connector config supportspaymentPrivateKeyfor on-chain payment signing. - Comprehensive audit logging: activity log now covers approval decisions, settings changes, budget modifications, and credential operations, with SQL-indexed paginated queries for efficient retrieval.
- Push-based cost rollups: agent spend fields update atomically on every usage event, with automatic budget warning and exceeded activity entries. Replaces the pull-based approach that scanned all usage records on every budget check.
- Goal hierarchy: new goals system with organization → team → project → agent → task levels, parent-child chains, and automatic "why chain" injection into agent execution briefs. Full CRUD API and CLI support.
- Extended approval workflows: new
agent_create,budget_change, anddelegation_enableapproval categories with configurable policies. When enabled, agent creation returns a pending approval instead of creating the agent directly. - Shared validation schemas: Zod schemas are now safe for client-side import, enabling form-level pre-validation without pulling in server dependencies.
Upgrade Guidance
- Upgrade to
v1.3.0and restart. - If you use SwarmDock, the SDK upgrade is transparent — no config changes required. New
reviewanddisputedtask states are handled automatically by the connector. - If you interact with the SwarmDock API directly and use rating scores, note they are now 0-1 floats (not 1-5 integers) in SDK v0.2.0.
- New approval policies (
requireApprovalForAgentCreate,requireApprovalForBudgetChange,requireApprovalForDelegationEnable) default tofalse— opt in via Settings if you want governance gates. - The goals system is additive — existing tasks and agents continue to work without goals. Add goals via the API (
/api/goals) or CLI (swarmclaw goals create) when ready.
v1.2.9 (March 29, 2026)
SwarmDock marketplace integration, portable config transfer, wallet simplification, and a cleanup pass that removes older interface surfaces in favor of tasks, structured sessions, autonomy, connectors, and projects.
Highlights
- SwarmDock marketplace connector: SwarmClaw agents can now register on SwarmDock, auto-bid on matching work, receive assignments as board tasks, and submit results back through the connector runtime.
- Secure SwarmDock credentials: Ed25519 identity keys now live in encrypted credentials instead of connector config, legacy plaintext keys auto-migrate on load, connector responses redact secrets, and failed result submissions surface properly for retry/recovery.
- Portable config transfer: portability import/export now moves agents, skills, and schedules between installs, with validation that rejects malformed manifests cleanly.
- Wallet surface simplification: wallet management now centers on safe Base-linked agent wallets with stricter validation for missing agents and invalid addresses, replacing the older action-heavy wallet route surface.
- Interface cleanup: the shipped UI now centers work around tasks, structured sessions, autonomy, connectors, and projects, with the old Missions, Canvas, and legacy wallet action screens removed from the active interface.
Upgrade Guidance
- Upgrade to
v1.2.9and restart. - If you use SwarmDock, re-check connector credentials and store the Ed25519 key as a SwarmClaw credential instead of plain config.
- If you previously depended on Missions, Canvas, or the old wallet action routes, move those workflows onto tasks, structured sessions, and the simplified wallet management surface.
- If you import/export workspace state, use the new portability flow and expect malformed manifests to return validation errors instead of partial imports.
v1.2.8 (March 25, 2026)
Cross-platform compatibility fixes for Linux/WSL, gateway lifecycle improvements, and four community-contributed bug fixes.
Highlights
- Linux/WSL compatibility: subprocess spawning now uses
$SHELLinstead of hardcoded/bin/zsh, fixingENOENTerrors on Linux and WSL systems. - nvm compatibility: stripped
npm_config_prefixfrom subprocess environment, fixing node PATH resolution for nvm users. - Dev-mode daemon fix: prevented duplicate daemon spawn failure when daemon runs in-process during development.
- Gateway sheet stability: fixed infinite render loop when opening a gateway profile with a disconnected gateway.
- Auto-provision gateway on deploy: "Deploy on this host" now automatically creates a gateway profile and credential, so agents can connect immediately without a manual save step.
- Credential cleanup on gateway delete: deleting a gateway profile now cleans up its associated credential when no other gateway or agent references it.
Upgrade Guidance
- Upgrade to v1.2.8 and restart.
- No breaking changes. Linux/WSL users who previously couldn't run subprocesses should now work out of the box.
- Existing gateway profiles and credentials are unaffected — the new auto-provision only applies to fresh local deploys.
v1.2.7 (March 22, 2026)
Consolidates 50+ agent tools into 6 action-based primitives, decomposes the type system into focused domain modules, and introduces lightweight direct chat for faster conversational turns.
Highlights
- Tool primitives: consolidated 50+ narrow tools into 6 action-based primitives —
execute,files,memory,platform,skills, andcredential-env— with skill teach files so agents learn usage patterns on demand. - Type system decomposition: split the monolithic 3500-line types file into 16 focused domain modules with full backward-compatible re-exports.
- Lightweight direct chat: message classifier detects simple conversational turns and fast-paths them with minimal prompt assembly and reduced thinking budget.
- Prompt mode resolution: root sessions receive full system prompts while delegated and lightweight turns get streamlined minimal prompts.
- Execute tool config UI: inspector panel now has separate configuration sections for the execute tool (sandbox/host backend, network, timeout) and browser sandbox.
- Chat store pagination: proper
messageStartIndextracking, improved queued-message deduplication, and active-turn transcript merging. - Per-session WebSocket notifications: message mutations now broadcast to session-specific topics for more targeted UI updates.
- Tool capability policy refactoring: consolidated matching logic with extension ID canonicalization for reliable policy resolution.
- Bug fix — custom provider resolution: fixed "Unknown provider" error when using custom providers in chat execution.
Upgrade Guidance
- Upgrade to v1.2.7 and restart.
- No breaking changes — tool primitives are additive and existing tool names continue to work through the alias layer. The type system decomposition maintains full backward compatibility via re-exports from
src/types/index.ts. - Storage normalization handles the new
executeConfigagent field automatically on load.
v1.2.5 (March 22, 2026)
Introduces structured working memory for agents, execution briefing documents, and persistent run context — plus two bug fixes for fresh installs and custom providers.
Highlights
- Working memory hierarchy: agents maintain structured working state (facts, plans, decisions, blockers, evidence) that persists across turns and survives context compaction.
- Execution brief: each chat turn receives a concise briefing document synthesized from working state for faster, more focused agent reasoning.
- RunContext: persistent structured context object tracks session lineage, delegation chain, and accumulated working memory across run lifecycle.
- Unified message flow: consolidated message handling and execution routing into a single coherent pipeline.
- Delegation advisory: new advisory layer for structured capability analysis during delegation decisions.
- Real-time session sync: session create, update, and delete events now push over WebSocket, replacing poll-only refresh for the chat list.
- HMR resilience: module-level state in the WebSocket client, fallback polling, and API request dedup now survives Next.js hot-module reloads.
- Type safety sweep: eliminated 16
anytypes across 7 API routes with proper narrowing and error guards. - Bug fix — fresh install crash: replaced
crypto.randomUUID()with browser-safe ID generation, fixing setup wizard failures with Ollama and other providers. - Bug fix — custom provider validation: connection-test endpoint now recognizes custom providers from storage.
- Bug fix — session cwd normalization:
updateChatSessionnow expands~paths consistently with session creation.
Upgrade Guidance
- Upgrade to v1.2.5 and restart.
- No breaking changes — working memory and execution brief are additive features. Existing sessions will initialize empty working state on first run.
- Storage normalization handles new fields automatically on load.
v1.2.2 (March 17, 2026)
Major internal architecture refactor — modularized five large server modules into focused submodules with a repository pattern for data access, plus 8 new skills and streaming UI improvements.
Highlights
- Modular chat execution pipeline: decomposed the monolithic chat-execution module into 6 focused stages for maintainability and testability.
- Repository pattern adoption: extracted ~15 repository modules from
storage.ts, giving each domain its own data-access layer. - Runtime state encapsulation: moved process-local state from storage into
runtime-state.tswith proper HMR singleton usage. - Streaming state improvements: stable assistant render IDs, better live-row display, smoother streaming phase transitions.
- 8 new skills: coding-agent, github, nano-banana-pro, nano-pdf, openai-image-gen, resourceful-problem-solving, skill-creator, summarize.
- Lint baseline improvements: reduced violations from 414 to 396.
Upgrade Guidance
- Upgrade to v1.2.2 and restart.
- No breaking changes — all modifications are internal refactoring. External APIs and configuration are unchanged.
- Existing
data/directory content migrates automatically on first load.
v1.2.1 (March 17, 2026)
This release introduces a system health endpoint for external monitoring, memory abstracts for efficient recall, structured logging across the codebase, and daemon housekeeping improvements.
Highlights
- System health endpoint: new
/api/system/statusroute returns lightweight health summary for external monitoring and uptime checks. - Memory abstracts: ~100-token LLM summaries attached to memories for efficient proactive recall without loading full content.
- Structured logging: migrated 40+ files from
console.*to thelogmodule for consistent, level-aware logging. - Lint baseline improvements: reduced lint violations from 440 to 414 (-26).
- Daemon housekeeping: pruning for subagent processes, orchestrator state, connector sessions, and usage records.
- SKILL.md v2.0.0: comprehensive CLI documentation covering 40+ command groups.
- New dev scripts:
type-check,test, andformatscripts inpackage.json.
Upgrade Guidance
- Upgrade to v1.2.1 and restart.
- No breaking changes — the structured logging migration is internal and does not affect external APIs or configuration.
- If you use external health monitoring, point it at
/api/system/statusfor a lightweight health check.
v1.1.9 (March 17, 2026)
This release focuses on performance, reliability, and build stability with async file I/O in providers, reduced polling frequency, memory graph rendering improvements, and a Docker build fix.
Highlights
- Docker build stability: limit Next.js page data workers to 1 in build mode to prevent
SQLITE_BUSYcontention. - Async file I/O in providers: Anthropic and OpenAI providers now use
fs.promisesfor non-blocking attachment reads. - Anthropic request timeout: 60s timeout on Anthropic API requests prevents indefinite hangs.
- Graceful crash handling: instrumentation now catches EPIPE and suppresses expected LangGraph unhandled rejections.
- Log tail optimization:
/api/logsreads only the last 256 KB instead of loading the entire log file. - Thread session fast path:
ensureAgentThreadSessionuses single-row lookup instead of full table scan whenthreadSessionIdis set. - Memory graph performance: force-directed simulation writes to DOM imperatively instead of re-rendering React state per frame; stops when kinetic energy settles.
- Reduced polling frequency: chat area WS polling intervals relaxed (messages/runs 2s to 10s, browser 5s to 30s) to lower server load.
- Chat list indexing: connector lookup indexed by
agentIdfor O(1) instead of O(n) per session filter. - Sidebar skill badges: skill draft count displayed as a badge on the Skills nav item.
- Route loading states: added
loading.tsxskeleton pages for activity, home, logs, memory, and tasks routes. - Command palette cleanup: fixed missing
setOpendependencies and removed unused props. - Playwright proxy hardening: improved stdio pipe handling for dev server restarts.
- Scheduler and run ledger fixes: improved scheduler reliability and run ledger state tracking.
Upgrade Guidance
- Upgrade to v1.1.9 and restart.
- No breaking changes — this is a performance and reliability release.
v1.1.8 (March 17, 2026)
This release adds agent live status, learned skills lifecycle management, the Gemini CLI provider, peer/team session tools, org chart enhancements, and numerous chat execution and reliability improvements.
Highlights
- Agent live status: real-time
/agents/:id/statusendpoint exposes goal, progress, and plan steps; org chart detail panel consumes it viauseAgentLiveStatushook. - Learned skills lifecycle: promote, dismiss, and delete learned skills via
/learned-skills/:id;/skill-review-countsprovides badge counts for the skills workspace. - Gemini CLI provider: Google Gemini CLI joins the provider roster alongside claude-cli and codex-cli, with shared CLI utilities factored into
cli-utils.ts. - Peer query & team context tools: new session tools let agents query peers and access team context during conversations.
- Team resolution: dedicated
team-resolution.tsmodule resolves agent teams for delegation routing. - Org chart activity feed: timeline feed component and delegation bubble visualization for the org chart view.
- Skills workspace improvements: expanded skills management UI with review-ready badges.
- Cost trend chart: new dashboard component for cost visualization.
- Streaming fix: text no longer gets stuck on the thinking indicator.
- Delegation normalization:
delegationEnablednow derived from agent role, removed from starter kit templates. - Chat execution refinements: improved continuation limits, post-stream finalization, and stream continuation.
- Memory and storage improvements: memory tier management, consolidation enhancements, and storage cache updates.
- WebSocket and provider health: improved WS client handling, delegation edge state, and provider health monitoring.
Upgrade Guidance
- Upgrade to v1.1.8 and restart.
delegationEnabledis now derived from agent role — the field is no longer set in starter kits.- New CLI commands:
learned-skills promote/dismiss/delete,learned-skills review-counts,agents status.
v1.1.7 (March 17, 2026)
This release adds project management views, delegation visualization, credential self-service for agents, and significant streaming and autonomy improvements.
Highlights
- Projects page redesign: tabbed navigation (Overview, Work, Operations, Activity) with health grid, sortable task list, and timeline feed.
- Delegation visualization: live org chart edges show active delegations with status, direction, and message popover on click.
- Credential self-service: agents can check whether a credential exists and request missing ones from humans with structured messages, signup URLs, and durable wait.
- Main loop state persistence: autonomous operation state now survives server restarts via on-disk persistence.
- Internal metadata stripping: classification JSON and loop detection messages no longer leak into streamed agent output.
- Response completeness evaluator: LLM-based detection of incomplete agent responses triggers continuation nudges.
- Coordinator delegation nudging: coordinators that make 3+ direct tool calls get prompted to delegate to workers.
- Inspector panel overhaul: new dashboard/config/files tabs absorb model switcher and workspace controls from chat header.
- Streaming phase indicators: agent chat list shows queued, tool-in-use, responding, and reconnecting states.
- Shell safety: agents can no longer kill SwarmClaw's own process or port.
- Worker-only providers: CLI-backed providers (claude-cli, codex-cli, etc.) properly restricted from coordinator/heartbeat roles.
- HTTP tool removed: the built-in HTTP session tool was removed from the standard toolkit.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.7and restart. - The Dashboard API (
/api/dashboard) has been removed — use the new Projects page tabs for overview data. - The built-in HTTP session tool has been removed. If agents relied on it, use the
webtool or an extension instead. - CLI users: the
dashboardCLI command has been replaced bydelegation-jobs.
v1.1.6 (March 16, 2026)
This release adds visual org chart management, a dashboard metrics API, overhauled subagent lifecycle, and a significant chat execution refactor alongside many smaller improvements across cost tracking, task routing, and store reliability.
Highlights
- Org chart view: visual agent hierarchy with drag-and-drop reparenting, team grouping with color coding, and context-menu actions for managing agent relationships directly from the canvas.
- Dashboard API: server-side metrics endpoint with cost tracking, usage aggregation, and budget warning thresholds for operator visibility.
- Subagent lifecycle overhaul: state-machine lineage tracking,
delegationDepthlimits, auto-announce on spawn, and cleaner parent-child session management replace the previous ad-hoc subagent wiring. - Chat execution refactor: composable prompt sections replace monolithic prompt building, the continuation evaluator is consolidated, and stream-continuation logic is extracted into its own module for maintainability.
- Per-agent cost attribution: token costs are tracked and attributed per agent, enabling budget controls and cost reporting at the agent level.
- Capability-based task routing: tasks can match agents by declared capabilities, not just explicit assignment, enabling smarter automatic dispatch.
- Bulk agent operations: new
/api/agents/bulkendpoint for batch updates across multiple agents in a single request. - Document revisions API: version history for documents with
/api/documents/[id]/revisionsendpoint. - Store loader consolidation: async loaders now use
createLoader()andsetIfChangedto eliminate redundant re-renders from polling. - Safe body parsing utility: shared
safeParseBody()replaces scatteredawait req.json()try/catch blocks across API routes.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.6and restart. - The new Org Chart view is available from the sidebar — open it to visualize and manage your agent hierarchy.
- If you use subagents or delegation, the new lineage tracking is automatic. Existing delegated sessions will continue to work; new ones benefit from depth limits and auto-announce.
- Store polling is now deduplicated — if you had custom polling intervals in extensions, verify they still behave as expected with the new
setIfChangedguards.
v1.1.4 (March 16, 2026)
This release brings orchestrator agents back as a first-class operator tool while making the daemon/runtime much more resilient to restarts, agent outages, and provider failures.
Highlights
- Orchestrator agents are back as a real agent mode: eligible agents can now run scheduled orchestrator wake cycles with their own mission, governance policy, wake interval, and cycle cap. The setup wizard, agent editor, and Autonomy page all understand the new mode.
- Autonomy desk + chatroom sessions are clearer: the Autonomy page now shows active orchestrators directly, and the Chatrooms surface splits persistent rooms from temporary session/live rooms so orchestrator or structured-session discussions stay inspectable without cluttering the normal room list.
- Runtime durability and recovery improved substantially: the task queue now supports configurable parallel execution, stuck-task idle timeout detection, orphaned running-task recovery on startup, restart-safe swarm/provider-health persistence, and deferred-task promotion when blocked agents recover.
- Failover and safety decisions got sharper: provider errors are classified for smarter routing, agent budget limits can block task execution before it starts, and supervisor auto-actions can surface executable notifications instead of passive state only.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.4and restart. - If you want an operator agent, enable Orchestrator Mode on an eligible agent, then set its mission, wake interval, and governance policy.
- Use the Sessions view in Chatrooms for temporary session/live rooms created by orchestrators or structured runs.
- CLI-backed and OpenClaw-routed agents are not eligible for orchestrator mode; use a normal provider-backed agent when you want autonomous orchestration behavior.
v1.1.3 (March 16, 2026)
This patch repaired release-line integrity after v1.1.2 by fixing build validation and hardening storage writes so tests and tooling could not accidentally wipe live data.
Highlights
build:cirepair: the langgraph checkpoint duplicate-column path that could crash CI/build validation was fixed, restoring a clean release build path.- Safer storage writes: credentials and agents now use upsert-only save behavior, and a collection safety guard blocks accidental bulk-delete paths.
- Tooling cleanup: the remaining plugin-to-extension rename residue in scripts and tests was cleaned up so release tooling matches the current extensions model.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.3or later and restart. - If you rely on
build:ci, packaged install validation, or test tooling against a live workspace, prefer this patch line or newer because the release integrity fixes are included there.
v1.1.2 (March 15, 2026)
This release deepens Structured Sessions into a broader orchestration layer while tightening provider routing and chat/runtime correctness around the live issues that surfaced after v1.1.1.
Highlights
- Structured Sessions now cover richer orchestration paths: the same
ProtocolRunruntime now supports dependency-aware step graphs, reusable step outputs, and a broader advanced execution model without reviving a separate orchestration subsystem. - Explicit Ollama local/cloud routing: Ollama mode is now an explicit stored choice on agents and chats. Local Ollama no longer silently flips to cloud because of credentials or model naming, and cloud routing stays intentional.
- Chat and runtime hardening: inline media streaming, stale streaming-row cleanup, exact-output handling, and message-list rendering regressions were tightened again through live use and regression coverage.
- Nebius and DeepInfra as built-in providers: both are now first-class providers with setup wizard entries, model discovery, and pre-configured defaults — no more custom provider workaround needed.
stream_optionsresilience for OpenAI-compatible providers: the streaming handler now automatically retries withoutstream_optionsif a provider rejects it with a 400 error, fixing connectivity for strict endpoints.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.2and restart. - If you use Ollama, open the agent or chat config once and confirm the intended Local or Cloud mode is selected explicitly.
- If you use Structured Sessions heavily, expect more advanced step definitions to stay on the same
ProtocolRunruntime rather than moving to a separate workflow engine. - If you previously added Nebius or DeepInfra as custom providers, you can switch to the built-in entries and remove the custom ones.
v1.1.1 (March 15, 2026)
This release turns Structured Sessions into a core, contextual part of the product. Bounded runs can now be launched from the work you are already doing, watched through temporary hidden live rooms, and managed through a cleaner Sessions surface while the same runtime keeps hardening against live-agent edge cases.
Highlights
- Contextual Structured Sessions: start bounded runs from direct chats, chatrooms, missions, tasks, schedules, or the Sessions page instead of treating orchestration like a separate setup mode. Chatrooms now also support
/breakoutfor spinning a live discussion into a focused bounded run without posting the command into the room. - Temporary live rooms: active Structured Sessions can expose a hidden linked live room you can watch directly, while keeping transcript/control state out of the normal chatroom list.
- ProtocolRun engine maturity: branching, repeat loops, parallel branches, and explicit joins now run on the same durable session engine instead of introducing a second orchestration subsystem.
- Live-agent runtime hardening: exact-output contracts, direct memory preflight, same-channel delivery rendering, inline media, and grounded repo/runtime inspection were tightened through live validation before release.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.1and restart. - Use Start Structured Session from a chat, chatroom, mission, or task for the normal launch flow, or
/breakoutinside a chatroom when you want a fast room-based breakout. - Use the Sessions page for inspection, retries, archives, live-room access, and advanced template authoring.
- If a run creates a live room, open it from the run detail or parent context instead of looking for it in the normal chatroom list.
v1.1.0 (March 15, 2026)
This release turns SwarmClaw’s autonomy model into a more durable operator runtime: missions become first-class tracked objectives, runtime safety gets its own control surface, queued follow-up work moves to the backend, and day-to-day agent chat behavior is quieter and easier to follow.
Highlights
- Mission controller + Missions surface: SwarmClaw now tracks durable multi-step work as missions with status, phase, linked tasks, queued turns, recent runs, child missions, and an event timeline in the new Missions UI.
- Autonomy safety desk: the new Autonomy Control page exposes estop state, runtime incidents, resume policy, and durable run replay so operators can inspect and recover background execution more safely.
- Durable queued follow-ups: direct chat and connector follow-up turns now use a backend queue, which means queued work survives reloads, drains in order, and stays attached to the right mission/session context.
- Chat execution hardening: memory writes, streamed handoff, inline media rendering, tool-policy fallback handling, and follow-up completion behavior were all tightened to reduce noisy or misleading replies.
- Mission human-loop policy: generic “wait for the user’s next instruction” mission pauses are now optional. The new mission human-loop setting is off by default for new users, so small completed tasks do not linger as open waiting missions unless you want that behavior.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.1.0and restart. - Review the new Missions and Autonomy Control surfaces if you use schedules, delegation, or longer-running agent work.
- If you prefer missions to remain open while waiting for a human follow-up, enable Mission human loop in Settings → Runtime & Loop Controls or from the Missions page itself.
- If you operate direct-chat or connector-heavy workflows, expect queued follow-up turns to behave more durably across refreshes and reconnects.
v1.0.9 (March 14, 2026)
This patch focuses on making connector conversations sound more natural, reducing redundant chat noise after tool work, and keeping connector/task delivery state closer to what users actually saw.
Highlights
- Quieter connector and chat turns: hidden control text and tool-only chatter are stripped more aggressively from visible replies, and successful tool flows stop re-surfacing connector delivery output as if the assistant wrote it manually.
- Sender-aware inbox replies: direct connector chats can now honor stored sender display names and reply-medium preferences from memory, including voice-note-first replies when the connector can send audio and the agent has an ElevenLabs voice configured.
- Cleaner delivery markers and followups: the connector manager now persists what was actually sent on the current channel, and task-origin followups resolve attachment/media paths more reliably before sending.
- Memory-write followthrough hardening: successful memory store/update tool runs terminate more cleanly, which cuts down on empty post-tool loops while preserving a natural acknowledgement turn when one is needed.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.0.9and restart. - If you use inbox or DM workflows, expect fewer duplicated or tool-flavored replies in direct connector chats.
- If you want voice-note-first direct replies, verify the connector supports binary media and the replying agent has an ElevenLabs voice ID configured.
v1.0.8 (March 14, 2026)
This release improves learned-skill hardening, direct chat stability, and OpenClaw/Ollama route recovery.
Highlights
- Learned skills and self-healing: SwarmClaw now keeps agent-scoped learned skills and shadow revisions so repeated successes and repeated external integration failures can harden into reusable local behavior without silently mutating the shared skill library.
- Direct chat stability: chat-origin runs now stop after the visible answer instead of enqueueing hidden follow-up loops, leaked control tokens such as
NO_MESSAGEstay out of the user transcript, and repeated internal reruns no longer replace the reply the user already saw. - OpenClaw and Ollama route hardening: agent thread sessions now repair stale credential and endpoint resolution more aggressively, including Ollama Cloud vs local endpoint selection and OpenClaw gateway fallback behavior.
- Operator UX fixes: new agents appear in the list immediately, gateway-disconnected chat CTAs now route to the current agent's settings instead of global settings, setup-wizard flicker after access-key login is gone, and screenshot-heavy tool runs no longer render duplicate previews in chat.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.0.8and restart. - Learned skills and self-healing remain agent-scoped until you review or promote them, so re-check your skill workflow if you expected shared-library mutation.
- If you rely on OpenClaw or Ollama routing, run a quick gateway/model smoke check after upgrading because stale endpoint resolution is handled more aggressively now.
v1.0.7 (March 13, 2026)
This release rolls up the changes shipped after v1.0.6 into one cleaner product line: connector conversations are isolated, schedules behave like an operations system, delegation replaces orchestration, and the old plugin compatibility layer is gone.
Highlights
- Dedicated Inbox for external connector conversations: external connector chats now live in a first-class Inbox surface instead of the main chat list. Owner/self-chat can remain on the main agent thread, while other senders are isolated into direct connector sessions.
- Connector access and ownership controls: Inbox and connector sheets now expose DM policy, allow/deny lists, owner override, pairing approvals, and sender management in one place.
- Strict connector memory isolation: external connector sessions now default to session-scoped memory so different senders cannot leak context into one another or back into the owner’s main chat.
- WhatsApp delivery hardening: duplicate direct replies, false “sent” confirmations, and same-turn duplicate voice-note/text sends were hardened substantially. Sender avatars/profile photos are now surfaced when available.
- Schedule console + cancellation cascade: Schedules now use
Live,Archived, andRunsviews. Archiving a schedule stops future runs, cancels linked queued/running work when possible, and preserves history for restore/purge. - Explicit schedule routing: schedule and follow-up routing now stays bound to the originating session/connector context instead of guessing from the last active chat.
- Cancelled is a real task outcome: schedule-linked task cancellation is now distinct from failure, which prevents misleading retries and stale late follow-up chatter.
- Durable human-loop cleanup: repeated
ask_humanrequests and mailbox waits are deduped, and normal chat replies can resolve durable waits instead of leaving zombie watches behind. - Delegation replaces orchestration: the old orchestrator/orchestration-engine product model is gone. Agents either delegate or they do not. Background AI helper work now uses the same session/agent config instead of a separate global orchestration model.
- Simpler agent and connector sheets: key setup fields stay in the main flow, advanced controls are collapsed by default, and new agents now default heartbeat, proactive recall, and conversation skill drafting to on.
- Tools + extensions cutover: built-in capabilities are native tools, external add-ons are extensions, and persisted agent/session records now use canonical
tools+extensionsfields only.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.0.7and restart. - Expect the old Plugins surface and
/api/plugins/*terminology to be replaced by Extensions and/api/extensions/*. - Recheck any docs, habits, or internal runbooks that still refer to orchestrators or an orchestration engine. The correct model is now delegation.
- If you use connector-heavy or schedule-heavy workflows, review the new Inbox and Schedules surfaces because they now reflect the real execution model more accurately than before.
v1.0.3 (March 12, 2026)
This release hardens the published npm package path so fresh global and local installs can build and launch reliably without trying to compile the app from inside node_modules.
Highlights
- Registry installs now build from an external workspace: when the published package needs a standalone bundle, SwarmClaw now copies the package into
<swarmclaw-home>/builds/package-<version>and builds there while reusing the installed dependency tree. This avoids the Next.js module-resolution and build restrictions you hit when compiling directly fromnode_modules. - Published package includes build-critical dependencies: fresh npm installs now have the TypeScript and CSS build dependencies needed for a manual production build or first-run standalone build from the registry package.
- Partial installs no longer warn on missing sandbox helper scripts:
postinstallnow skips sandbox browser setup cleanly when the helper script is not present, which keeps Docker and partial-install logs quieter.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.0.3and restart the app after the update completes. - For global installs, use
swarmclaw updateor your global package manager, then restart the local server. - For local project installs, update the dependency in the project and rerun
npx swarmclaw(or your package manager's exec command). Runtime state still defaults to<project>/.swarmclawunless you setSWARMCLAW_HOME. - On the first launch after upgrading, allow extra time if SwarmClaw needs to build the standalone bundle locally under
<swarmclaw-home>/builds/package-<version>before starting.
v1.0.2 (March 12, 2026)
This release cleans up the packaged npm install story, makes local installs self-contained by default, and exposes a clearer top-level CLI surface.
Highlights
- Smaller npm package, local standalone build when needed: the published registry package no longer ships the prebuilt Next.js standalone output. Instead, SwarmClaw builds the standalone bundle locally on first run when it is missing, which keeps npm publishes small enough to ship reliably again.
- Install-aware state directories: global installs continue to use
~/.swarmclaw, while local project installs now default to<project>/.swarmclaw.SWARMCLAW_HOMEstill overrides both. - Cleaner root CLI commands: the packaged CLI now supports
swarmclaw help [command],run,start,stop,status,doctor,update, andversion, alongside--version/-v. - Registry and git installs update through the same CLI entrypoint:
swarmclaw updatenow maps cleanly to either the owning package manager for registry installs or the release-tag/git flow for source checkouts.
Upgrade Guidance
- Upgrade SwarmClaw to
v1.0.2and restart the app after the update completes. - For global installs, use
swarmclaw updateor your global package manager, then restart the local server. - For local project installs, update the dependency in the project and rerun
npx swarmclaw(or your package manager's exec command). Expect runtime state under<project>/.swarmclawunless you setSWARMCLAW_HOME. - On the first launch after upgrading, allow extra time if SwarmClaw needs to build the standalone bundle locally before starting.
v0.9.6 (March 12, 2026)
This release adds a global wallet-approval override and hardens long-running task continuation so agents do not stall after an intent-only progress reply.
Highlights
- Global wallet approval override: Settings now expose a wallet-approval switch that can disable approval gates globally. Per-wallet approval toggles remain stored, but they are ignored while the global override is off.
- Wallet send path respects the global setting: wallet send flows now check the global approval setting before creating pending approvals, so turning approvals off actually bypasses those gates instead of only changing UI.
- Execution kickoff continuation: bounded live execution tasks that stop at a preamble like "let me try..." now get one immediate bounded continuation instead of waiting for the next user message.
- Chat-origin progress followups: structured progress replies from normal chat turns can now queue one bounded main-loop followup, so longer-running work can continue without requiring a manual "how did that go?" prompt.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.9.6and restart. - If you want wallet sends to execute without approval prompts, turn off wallet approvals in Settings. Existing wallet-specific approval flags are preserved and start applying again if you re-enable the global switch.
- For long-running execution tasks, expect fewer cases where the agent pauses after an intent/progress message and only resumes when the user sends another message.
v0.9.4 (March 11, 2026)
This release hardens connector-bound autonomy and turns skills into a real runtime surface instead of a prompt-only enable list.
Highlights
- Direct-session connector routing only: outbound connector state is now trusted only on true direct connector sessions, so mirrored agent threads and heartbeats no longer infer send targets from stale connector context.
- Sender-boundary enforcement before the model runs: contact memories such as "do not reply unless Hal is explicitly addressed" are now checked before reply generation, while connector allowlists remain the source of truth for who is admitted at all.
- Cleaner heartbeat and task follow-ups: tool-only heartbeats no longer write visible "I sent X" updates into the main agent thread, and connector task completions stop sending redundant generic summaries after the real outbound connector delivery already succeeded.
- Discovery-by-default skills: ready local skills are now discoverable by default, pinned skills are treated as always-on preferences, and the agent runtime can resolve skills on demand instead of relying on bulk prompt stuffing.
- Runtime skill surface: agents can now use
use_skill(list,select,load,run,explain_blocker) plusmanage_skillsfor recommendation, attachment, and approval-gated installs. - Fresh memory reads: the short-lived agent memory cache was disabled again so memory context reads come directly from storage until a complete, freshness-safe cache strategy is ready.
- Short post-skill replies no longer loop: concise valid answers after
use_skillcalls no longer trip the generic tool-summary continuation path and get re-run as if they were unfinished.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.9.4and restart. - Revisit agent skill configuration: pinned skills now mean "always-on", while other ready local skills stay discoverable automatically.
- If you use connector DMs or shared channels, re-check your allowlist/pairing policy and any sender-boundary memories. Expect follow-ups and heartbeats to stay scoped to the originating direct connector session instead of mirrored main-thread history.
v0.9.3 (March 11, 2026)
This release adds structured memory categories, automatic contact resolution for connector messages, and privacy-scoped memory injection.
Highlights
- Memory categories: Agents now store memories into structured categories (
identity/preferences,identity/contacts,identity/events,knowledge/instructions, etc.) with clear guidance instead of regex-based content sniffing. 13 categories across identity, knowledge, projects, operations, and working memory. - Connector contact resolution: When a message arrives via WhatsApp, Discord, or other connectors, the sender is automatically matched against stored contact memories using normalized phone number and platform ID matching. The agent sees a "Known Sender" block identifying who is messaging.
- Always-on identity memories: Pinned memories and
identity/*category memories are now injected into the agent's context on every message, even short ones like "ok" or "hey" that previously bypassed memory injection entirely. - QMD memory scope: Identity memories and contact resolution are automatically hidden in group chat contexts to prevent leaking personal information. Only visible in DM/peer conversations.
- Memory caching: A 30-second TTL cache for pinned and recent memory lookups reduces database queries on high-frequency connector messages, with immediate invalidation on writes.
- Response discipline: All agents now receive a "don't end every reply with a question" directive in their system prompt.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.9.3and restart. - Existing memories remain unchanged — agents will naturally use the new categories for new memories.
- Contact resolution works automatically once the agent has stored contact memories with phone numbers or platform IDs in the content.
v0.9.0 (March 11, 2026)
This release aligns local agent execution more closely with OpenClaw's Docker-first sandbox model and hardens autonomous chats around heartbeat scheduling, prompt budgeting, and hot-reload recovery.
Highlights
- OpenClaw-style local sandbox runtime: shell, browser, and
sandbox_execnow share a persistent Docker-first sandbox/runtime model with automatic host fallback when Docker is unavailable. - Sandbox defaults and install alignment: new and existing agents default to sandbox-enabled configs, and package-manager installs plus update helpers prepare the sandbox browser runtime automatically when Docker is available.
- No local Deno requirement: the local
sandbox_execpath now runs JavaScript/TypeScript via Node.js only, preferring Docker containers and falling back to host Node when needed. - Heartbeat stability improvements: internal heartbeats no longer poison the stored objective, prompt budgeting counts pending input with reserve headroom, and heartbeat runs defer while user work owns the session.
- Live chat route recovery: hot-reloaded dev servers now backfill new session-run state fields correctly, preventing
/api/chats/[id]/chatfrom failing after runtime changes.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.9.0and restart the app after the update completes. - If you want container isolation for shell, browser, or
sandbox_exec, install or verify Docker Desktop on the host. - If you deploy SwarmClaw inside Docker, local
sandbox_execfalls back to host Node inside the app container unless you separately provide Docker access to that container. - Update any runbooks, skills, or setup docs that still mention Deno as a local sandbox prerequisite.
v0.8.9 (March 10, 2026)
This release hardens browser-backed agent runs and makes packaged install and update paths more predictable for operators using the npm package, the global CLI, or the curl installer.
Highlights
- Browser-tool resilience: browser-backed turns now use longer default timeouts for Playwright actions and navigation, reducing premature aborts on slower sites.
- Recoverable browser/web failures: a single browser or web timeout no longer has to end the turn. Agents can continue, retry with a corrected target, or switch to another enabled acquisition path before concluding with a blocker.
- Installer and updater build alignment: the curl installer prebuilt the production bundle, and packaged installs on the
v0.8.9line could useswarmclaw updateto rebuild the standalone server immediately after upgrading. - Install docs match runtime reality: global npm installs now document
swarmclaw(orswarmclaw server) as the packaged-server entrypoint instead of implying that the Next dev server starts automatically.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.9and restart the app after the update completes. - On the
v0.8.9line, npm/global installs launched the packaged server withswarmclaw(orswarmclaw server) and usedswarmclaw updateto rebuild the standalone bundle during upgrades. Currentv1.xnpm packages build the standalone bundle locally on first run when it is missing. - If you install from the curl script,
npm run startis ready immediately after install because the production bundle is now built during setup.
v0.8.7 (March 9, 2026)
This patch release repairs the published npm lockfile so clean installs and GitHub Actions npm ci runs stay aligned with the shipped v0.8.6 runtime state.
Highlights
- Clean-install repair: restored the optional nested lockfile records for
opusscriptandutf-8-validatethat some npm runners require duringnpm ci, eliminating the release-line install failure on fresh environments. - No runtime behavior change: the app behavior remains the same as
v0.8.6; this patch is about packaging/install integrity, not a new feature rollout.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.7if you install from npm, rely onnpm ci, or use the GitHub Actions release workflow. - If you already pulled
v0.8.6source and installed dependencies successfully, no runtime migration is required beyond updating to the fixed patch line.
v0.8.6 (March 9, 2026)
This release focuses on chat-surface consistency, smarter provider model discovery, and lower UI refresh pressure across agent and thread navigation.
Highlights
- Canonical agent plugin state: agent edits now persist enabled tools on the canonical
pluginsfield, new agents start from a fuller default tool set, and agent-thread sessions stay in sync so inspector and chat-surface counts do not drift after saves. - Live provider model hydration: testing or saving provider credentials can now sync live model catalogs into the saved provider model list for discoverable providers, giving operators a more accurate model picker without manual copy or paste.
- Lower refresh pressure across the UI: session, task, provider, and connector loaders now skip no-op writes, while agent and chat switching paths avoid redundant message reloads that previously caused visible rerender churn.
- Chat surface polish plus release diagnostics: desktop image attachments now open in the shared preview panel, and the release toolchain now includes a dedicated browser workbench smoke path plus perf tracing hooks for regression checks.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.6and restart the app and docs deployment. - Re-run provider connection tests for any saved key or endpoint where you want the live model catalog persisted into the picker.
- If you keep long-lived agent chats pinned, expect tool counts and inspector badges to stay aligned after agent tool edits without requiring a manual dropdown reopen.
- If you use browser-based release checks, switch to the updated workbench smoke path and optional perf trace capture for UI regressions.
v0.8.4 (March 8, 2026)
This patch release promotes the latest connector-manager follow-up fix onto the v0.8.4 line without changing the broader v0.8.3 rollout shape.
Highlights
- Connector manager follow-up fix: the current release commit already includes the latest connector-manager fix, and
v0.8.4exists to publish that corrected runtime state under a fresh patch version. - No installer or deployment workflow changes: install snippets, docs alignment, and deployment steps stay the same as
v0.8.3; this is a patch-line promotion rather than a new feature rollout.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.4and restart the app and docs deployment. - If you validated the connector-manager behavior locally on top of the
v0.8.3commit, this is the tagged patch release for that same tested state.
v0.8.3 (March 8, 2026)
This release focuses on local runtime stability, lighter chat-index payloads, and clearer daemon ownership of background services.
Highlights
- Lightweight chat index payloads:
/api/chatsnow serves session summaries instead of full transcript histories, so the shell and home surfaces can load recent chats without pulling every message into the browser. - Lower hot-path reload pressure: thread switches, plugin toggles, and header/tooling refresh paths now use narrower session refreshes instead of repeatedly reloading the entire chat corpus.
- Daemon owns background startup again: scheduler and queue bootstrap now happen through the daemon path instead of being started independently during server instrumentation, so the daemon toggle reflects the real background-service state.
- Safer local runtime detection: local installs where NODE_ENV is unset now behave like development for auth/proxy fallback logic and daemon autostart defaults, avoiding accidental production-style lockouts during dev.
- Dev-shell stability cleanup: duplicate request storms were reduced across websocket fallback polling, approvals, plugin UI fetches, and devserver starts, making the app less likely to bog down after repeated chat or agent switches.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.3and restart the app and docs deployment. - Expect chat list and home surfaces to feel lighter on large local installs because recent-chat metadata no longer requires full transcript payloads.
- If you use the daemon toggle during local testing, note that scheduler/queue ownership now follows the daemon state more faithfully than before.
- If you want daemon autostart in local dev, set
SWARMCLAW_DAEMON_AUTOSTART=true; otherwise local boots stay manual.
v0.8.2 (March 8, 2026)
This release gives bounded turns more headroom and tightens the agent routing around memory writes, current-thread recall, and exact output structure.
Highlights
- Higher bounded-turn headroom: the default agent recursion limit is now 120 instead of 60, giving longer bounded tool runs more room before they stop early.
- Cleaner memory-write routing: remember-and-confirm turns stay on direct memory writes instead of getting mistaken for same-thread recall, and bundled related facts are now guided toward one canonical memory write.
- Sharper recall separation: current-thread recall keeps using the active chat context, but direct write requests no longer get diverted into the recall path just because they mention confirmation.
- Stricter output-shape guidance: deliverable follow-through now preserves exact bullet-count constraints and required titled sections more explicitly when writing files.
- Memory plugin guidance refresh: the built-in memory tools now tell agents to prefer one canonical store call when a single request contains several related facts.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.2and restart the app and docs deployment. - If you rely on long bounded tool runs, expect fewer early cutoffs before you need to raise runtime settings manually.
- If you test remember-and-confirm prompts or multi-fact memory capture, rerun those flows against this release because memory-write routing is now narrower and more deliberate.
- If you generate structured docs or plans from prompts with exact section/bullet constraints, recheck those outputs because the follow-through policy now treats those shape requirements as hard constraints.
v0.8.1 (March 8, 2026)
This release tightens operator-facing behavior for notifications, memory routing, local observability, and eval coverage.
Highlights
- Notification dedupe with activity counts: repeated events with the same dedup key now refresh one notification, keep the unread state intact, and show occurrence counts plus latest activity time in the home view and notification center.
- Sharper memory vs recall routing: current-thread recall turns now stay inside the active chat instead of reaching for long-term memory or delegation, while direct memory-write requests steer agents straight to narrow memory tools.
- Cleaner agent/tool discipline:
manage_agentsandmanage_secretsnow reject misuse as general memory storage, discovery/delegate flows tell agents to call already-enabled tools directly, and agent creation dedupes same-session duplicates more reliably. - Eval + runtime hardening: the regression suite adds blackboard-fit and follow-through coverage, eval turns persist only intentional internal user messages, and OpenClaw-linked thread sessions retain their
openclawAgentIdmapping. - Health/local operator polish: synthetic workbench/comparison sessions no longer spam daemon health alerts, stale-heartbeat alerts dedupe cleanly, HMR refreshes daemon timers, and localhost operators can see platform-owned sessions that stay hidden from remote users.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.1and restart the app and docs deployment. - Expect fewer duplicate notifications after repeated health or approval events; the latest activity time and repeat count now update in place.
- If you rely on memory-heavy automations or eval harnesses, re-run them against this release because current-thread recall and direct memory-write routing are now stricter.
- Local operators can continue to inspect system/platform sessions on localhost, but those sessions remain hidden from non-local browser views.
v0.8.0 (March 8, 2026)
This release focuses on release hardening for plugins, OpenClaw gateway verification, and outbound voice-note reliability.
Highlights
- Plugin source/channel clarity: Marketplace installs now preserve both the plugin publisher and the install channel, so the UI can distinguish
SwarmForge,SwarmClaw Site,ClawHub, and direct URL installs cleanly. - Canonical first-party plugin flow: The hosted registry remains a generated mirror of
swarmclawai/swarmforge, making it clearer that SwarmForge is the first-party source of truth and the site is the public distribution mirror. - WebSocket-first OpenClaw health: Gateway health checks now treat successful websocket gateway auth as the primary health signal. Missing OpenAI-compatible
/v1/chat/completionssupport is reported as a warning instead of a false hard failure. - Voice-note delivery fallback: Outbound ElevenLabs voice-note sends now retry with the built-in fallback voice when a saved default voice is rejected as a paid-only/library voice, keeping WhatsApp delivery working for affected setups.
- Production start-path fix:
npm run startnow launches the standalone production server that matches the app's Next.js standalone build output.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.8.0and restart the app and docs deployment. - Re-run
npm run sync:plugin-registryin the site repo before deploying docs so the public marketplace mirror matchesswarmforge. - If you use OpenClaw, expect gateway verification to show websocket health even when the optional HTTP
/v1chat endpoint is disabled. - If you send WhatsApp voice notes, keep your ElevenLabs API key configured; older paid-only voice IDs now fall back automatically instead of breaking delivery.
v0.7.8 (March 7, 2026)
This release turns projects and task execution into longer-lived operating context, while making approvals, connectors, and the live chat surface more resilient.
Highlights
- Project operating system: Projects now store durable objectives, audience, pilot priorities, open objectives, credential requirements, success metrics, and preferred heartbeat prompts/intervals. The project detail view also rolls up related agents, tasks, schedules, and secrets together.
- Project-aware agents: Active project context now flows into agent runtime prompts and platform tools, so agents can answer from the current project brief and default new work toward that project when appropriate. Project workspaces are provisioned automatically.
- Durable task continuation: Follow-up tasks can inherit project, agent, working directory, session, and CLI resume state from earlier tasks via continuation-style inputs, and queued tasks now wait for blocker tasks to complete before running.
- Approval and surface controls: Settings now expose task-management and project-management toggles, while the approvals center adds operator controls for manual approvals, auto-approve categories, and outbound connector-send confirmation.
- Connector resilience: Enabled connectors now auto-recover after disconnects or dev-server restarts with bounded exponential backoff instead of silently disabling themselves.
- Chat/runtime polish: Finished streaming replies no longer trigger a full thread reload, Gemini resume handles now surface in delegation banners, and connector/web tools accept more forgiving media and URL inputs while handling cookie banners more reliably.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.7.8and restart the app and docs deployment. - Revisit Projects to fill in objective, audience, priorities, credential requirements, and heartbeat cadence for any active workstream.
- If you rely on durable automation, review Approvals and Settings -> Capability Policy so the new task/project controls and auto-approve categories match your operating model.
- If you use connectors, leave them enabled and let the daemon recover them automatically after restart; only intervene if a connector remains exhausted after the bounded retry window.
v0.7.7 (March 7, 2026)
This release turns OpenClaw Smart Deploy into a fuller control-plane workflow instead of a first-run helper only.
Highlights
- In-house SSH deploy: SwarmClaw can now push the official OpenClaw Docker bundle to your own VPS over SSH and bootstrap it there without relying on outside deployment services.
- Remote lifecycle controls: Gateway deploy panels now expose remote start, stop, restart, upgrade, backup, restore, and token rotation for SSH-managed OpenClaw hosts.
- Safer remote defaults: Smart Deploy now carries clearer use-case templates (
local-dev,single-vps,private-tailnet,browser-heavy,team-control) and exposure presets (private-lan,tailscale,caddy,nginx,ssh-tunnel) through onboarding and the main app. - Onboarding persistence: OpenClaw setup choices made during onboarding now persist into the saved gateway profile, including deployment metadata, notes, tags, and verified connection state.
- Gateway mobility: Gateway editing now supports import/export JSON flows, while the Providers screen adds fast cloning for existing OpenClaw gateway profiles.
- Fleet visibility + runtime controls: External Agent Runtimes now show lifecycle state, gateway assignment, version, tags, last-seen data, and direct activate/drain/cordon/restart controls.
- Routing preferences: Agents and route targets can now prefer OpenClaw gateways by tags or deployment use case instead of only hard-pinning a single saved gateway.
- CLI parity: The built-in CLI now exposes local restart, SSH deploy, verify, and remote lifecycle commands, including backup restore.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.7.7and restart the app and docs deployment. - Revisit Providers -> OpenClaw Gateways to verify existing gateways and add deployment metadata for any older manual profiles.
- If you operate remote gateways, prefer
tailscaleorssh-tunnelexposure unless you intentionally want public HTTPS ingress. - Update any automation or internal docs to use the expanded
swarmclaw openclaw deploy-*andswarmclaw openclaw remote-*command set.
v0.7.6 (March 7, 2026)
This release focuses on making OpenClaw deployment much easier for non-technical operators while keeping the supply chain on official OpenClaw sources only.
Highlights
- OpenClaw Smart Deploy: SwarmClaw can now launch a local OpenClaw gateway directly from the app, generate a ready-to-save gateway profile, and expose the same flow during onboarding and from the main Providers screen.
- Official-only remote bundles: Remote deployment helpers now stay on the official OpenClaw Docker image or the official OpenClaw repo. No third-party OpenClaw deployment services are used.
- Top VPS presets: Docker-based Smart Deploy now includes provider-friendly presets for Hetzner, DigitalOcean, Vultr, Linode, Lightsail, Google Cloud, Azure, OCI, and generic Ubuntu hosts, including
cloud-init.yaml. - Hosted OpenClaw templates: SwarmClaw can generate preconfigured Render, Fly.io, and Railway templates for official-repo deployments.
- CLI deployment parity: The built-in CLI now includes
openclaw deploy-status,openclaw deploy-local-start,openclaw deploy-local-stop, andopenclaw deploy-bundle. - Docs refresh: Getting Started, Deployment, CLI, and OpenClaw setup docs were updated to match the new deployment flow and version line.
Upgrade Guidance
- Upgrade SwarmClaw to
v0.7.6and restart the app. - Revisit Providers -> OpenClaw Gateways to use the new Smart Deploy flow for any gateway you still create manually.
- If you expose remote gateways, prefer Tailscale, SSH tunneling, or a TLS reverse proxy instead of raw public ports.
- Update any internal runbooks that referenced unofficial OpenClaw hosting or old manual-only gateway setup steps.
v0.7.4 (March 6, 2026)
This release focuses on OpenClaw fleet management, setup polish, and safer autonomy defaults.
Highlights
- Named gateway profiles: Providers now expose first-class OpenClaw gateway profiles with default selection, health checks, discovery helpers, and better operator visibility around remote endpoints.
- External runtime visibility: SwarmClaw can track external agent runtimes that register and heartbeat into the control plane, making distributed OpenClaw-style workers visible in one place.
- Setup wizard refresh: Onboarding now supports
Quick Start,Intent Guided, andCustom Setupflows, starter kits, reusable provider mappings, and stricter OpenClaw connection verification before continuing. - Sandbox runtime refresh: Local
sandbox_execnow uses the same Docker-first sandbox model as shell/browser execution, with host Node fallback when Docker is unavailable. New and existing agents default to sandbox-enabled configs. - CLI/docs alignment: CLI coverage now includes the new
gatewaysandexternal-agentssurfaces, and the docs were refreshed to remove stale sandbox/Python guidance.
Upgrade Guidance
- Pull the latest code, install dependencies, and restart the app and docs deployment.
- If you use OpenClaw, revisit Providers to set a default gateway profile and rerun health checks after upgrade.
- If you want container isolation for shell, browser, or
sandbox_exec, install or verify Docker Desktop on the host. - Update any scripts, skills, or docs that still assume Python support in the local sandbox or reference old chat main-loop CLI commands.
v0.7.3 (March 5, 2026)
This release focuses on autonomous runtime depth, durable human-loop workflows, and docs/runtime alignment for the plugin system.
Highlights
- Browser autonomy upgrade: Browser sessions now persist profile state, observations, artifacts, and higher-level workflow actions for longer-running web tasks.
- New primitive plugin families: Added built-in
mailbox,ask_human,document,extract,table, andcrawlcapabilities for inbox automation, approvals, document/OCR parsing, schema-driven extraction, spreadsheet-style transforms, and multi-page research. - Durable waits everywhere:
schedule_wake, mailbox replies, approval decisions, and related monitoring flows now sit on persisted watch jobs instead of transient in-memory timing only. - Plugin runtime cleanup: Canonical plugin family IDs, source-backed install/update metadata, encrypted secret settings, and real hook wiring are now reflected consistently across runtime, UI, and docs.
- Plugin workspaces: Plugins can now carry dependency manifests, install workspace packages from the Plugins manager, and report dependency-install state back through the UI/API.
- Connector/operator improvements: Connector health, thread context bootstrap, and operator tooling were expanded to make long-running chat-platform autonomy more debuggable, including the new connector doctor diagnostics surface.
- Docs refresh: Plugin reference, plugin tutorial, provider model-selection guidance, and tools docs were brought up to date with the current runtime.
Upgrade Guidance
- Pull the latest code, install dependencies, and restart the app and any separate site deployment.
- Revisit Settings → Plugins for any plugin using
settingsFields, especially inbox or connector-backed plugins. - If you use browser-heavy autonomy, expect persistent browser profile state under your configured browser-profile directory.
- Review release docs and any external onboarding material for the new canonical plugin/tool names.
v0.7.2 (March 5, 2026)
This release focuses on chat-surface consistency, plugin extensibility, and new built-in agent capabilities.
Highlights
- Chats are now canonical: API and CLI docs now center on
/api/chats/*andswarmclaw chats ...(legacysessionsaliases remain in compatibility paths). - Plugin-driven runtime guidance: Plugins can inject capability lines, operating guidance, and context blocks into agent runtime prompts.
- New plugin hook surface: Added support for
afterChatTurn,getAgentContext,getCapabilityDescription, andgetOperatingGuidance. - Plugin settings UI/API: Plugin-defined
settingsFieldsnow render in the Plugins detail sheet, backed by/api/plugins/settings. - New built-in tool plugins:
image_gen(generate_image) for OpenAI/Stability image generationemailfor SMTP outbound mail (send,status)calendarfor Google/Outlook event management
- Expanded CLI delegation:
delegatenow supports Gemini CLI (delegate_to_gemini_cli) alongside Claude/Codex/OpenCode. - Usage telemetry expansion:
/api/usagenow includesbyPlugintoken/cost rollups; the usage dashboard includes a plugin token usage chart. - State migration hardening: runtime now migrates legacy
toolsfields topluginsfor agents and chats.
Operational Notes
- New API endpoints:
GET /api/plugins/settings?pluginId=...PUT /api/plugins/settings?pluginId=...
- Main-loop controls apply to agent-thread and orchestrated chats.
- Task metadata now includes
geminiResumeIdwhen Gemini CLI delegation is used.
Upgrade Guidance
- Pull latest code, install dependencies, and restart.
- Validate plugin settings in Settings → Plugins for any plugin using
settingsFields. - Update scripts/integrations from
sessionsroutes/commands tochats. - Verify telemetry consumers can handle optional
byPluginin/api/usage.
v0.7.0 (March 4, 2026)
This release focuses on plugin reliability, clearer operator feedback, and release hardening.
Highlights
- Plugin safety guardrails: Plugins that fail repeatedly are auto-disabled to protect runtime stability.
- Operator visibility: Auto-disable events generate Notification Center warnings with direct links to the Plugins manager.
- Failure diagnostics: Consecutive plugin failure metadata is persisted for debugging and shown in plugin management views.
- Manual recovery flow: Disabled plugins can be re-enabled manually after fixes.
- OpenClaw-compatible plugin runtime: Compatibility paths remain first-class while plugin execution is better isolated and observable.
- Installed plugin detail UX: Plugin cards and detail views now surface clearer descriptions, status, source metadata, and capability badges.
- Marketplace URL normalization: Legacy marketplace entries pointing to
swarmclawai/pluginsare normalized toswarmclawai/swarmforgeduring install. - Hydration hardening: Nested button structures in list-card UIs were removed to eliminate hydration errors.
- Clipboard compatibility: Copy actions now use a fallback path when
navigator.clipboardis unavailable.
Operational Notes
- New optional environment variable:
SWARMCLAW_PLUGIN_FAILURE_THRESHOLD(default3)
- New failure state file:
data/plugin-failures.json
Upgrade Guidance
- Update to the latest tag and restart.
- Review Notification Center for any plugin auto-disable alerts after startup.
- Re-enable affected plugins only after validating their logs and recent changes.