A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Open-source self-hosted AI agent runtime and multi-agent framework for autonomous agent swarms. Agent memory, MCP tools,
The self-hosted AI agent runtime and multi-agent framework for autonomous agents. Open-source agent swarms with durable agent memory, MCP tools, skills, delegation, schedules, and 23+ LLM providers — a practical Claude Code and LangChain alternative.
SwarmClaw is an open-source, self-hosted AI agent runtime and multi-agent framework. Run autonomous AI agents, agent swarms, and orchestrators with heartbeats, schedules, delegation, agent memory, runtime skills, and reviewed conversation-to-skill learning — across OpenClaw gateways, Claude, GPT, Gemini, OpenRouter, Ollama, and 23+ other providers. Use it as your AI agent dashboard, agent orchestration platform, and home base for self-hosted multi-agent AI workflows.
GitHub: https://github.com/swarmclawai/swarmclaw
Docs: https://swarmclaw.ai/docs
Website: https://swarmclaw.ai
Discord: https://discord.gg/sbEavS8cPV
Extension tutorial: https://swarmclaw.ai/docs/extension-tutorial
![]() | ![]() |
| Org chart for visualizing agent teams, delegation, and live activity. | Agent chat with durable history, tools, and operator controls. |
| Works with | OpenClaw | Hermes | Claude Code | Codex | Gemini CLI | OpenCode | Copilot | Droid | Cursor | Qwen Code | Goose | Anthropic | OpenAI | OpenRouter | Gemini | Ollama | DeepSeek | Groq | Together | Mistral | xAI | Fireworks | Nebius | DeepInfra |
nvm use will pick up the repo's .nvmrc, which matches CI)Download the one-click installer from swarmclaw.ai/downloads. Available for macOS (Apple Silicon & Intel), Windows, and Linux (AppImage + .deb).
The release workflow supports Developer ID signing and notarization when Apple credentials are configured. If a macOS build is still ad-hoc signed, first launch may need one manual approval:
.dmg and .zip; unsigned fallback releases publish .zip only to avoid the damaged unsigned DMG path. Right-click the app in Finder → Open → Open to bypass Gatekeeper. If macOS instead reports "SwarmClaw is damaged and can't be opened" (common when a downloaded app was quarantined by Safari), strip the quarantine attribute and relaunch:
xattr -dr com.apple.quarantine /Applications/SwarmClaw.app
chmod +x the downloaded file, then run it.Data lives in your OS app-data directory (~/Library/Application Support/SwarmClaw,
%APPDATA%\SwarmClaw, or ~/.config/SwarmClaw), separate from any CLI or Docker install.
npm i -g @swarmclawai/swarmclaw
swarmclaw
yarn global add @swarmclawai/swarmclaw
swarmclaw
pnpm add -g @swarmclawai/swarmclaw
swarmclaw
bun add -g @swarmclawai/swarmclaw
swarmclaw
Running swarmclaw starts the server on http://localhost:3456.
git clone https://github.com/swarmclawai/swarmclaw.git
cd swarmclaw
nvm use
npm run quickstart
npm run quickstart installs dependencies, prepares local config and runtime state, and starts SwarmClaw.
git clone https://github.com/swarmclawai/swarmclaw.git
cd swarmclaw
mkdir -p data
touch .env.local
docker compose up -d --build
Then open http://localhost:3456.
Install the SwarmClaw skill for your OpenClaw agents:
openclaw skills install swarmclaw
Scheduled-run reliability release: stale workspace rebinding, fail-fast credential checks, and durable delivery evidence for schedule-driven sends.
~/.swarmclaw/workspace) are now rebound to the current WORKSPACE_DIR automatically; intentional custom working directories are never touched.lastDeliveryStatus/lastDeliveryError back to its schedule, so failures are visible without digging through task records.PR integration release for provider catalog coverage, OpenRouter context meters, and safer unsigned macOS desktop artifacts.
Theme and memory-pressure release for lighter UI preferences and leaner chat history storage.
session_messages table and are compacted from session records after persistence is verified, reducing page-load memory pressure on lower-RAM devices.Protocol builder visibility release for built-in Structured Sessions.
Installed package build fix for fresh npm-global installs and upgrades.
mime-types and @types/mime-types directly so swarmclaw server --build can type-check the OpenClaw media proxy on clean installs.Credential recovery and external extension access release for npm-global upgrades and scoped agent tool configuration.
CREDENTIAL_SECRET, and validates candidate secrets against existing encrypted credentials before persisting DATA_DIR/credential-secret.*.js and *.mjs extensions, and the agent/chat tool controls persist enabled external tools through the extensions field.Issue and PR validation release for credential durability, delegated task dispatch, connector output hygiene, and OpenClaw gateway protocol compatibility.
encryptedKey field, and CREDENTIAL_SECRET now resolves in a stable order: explicit environment value, DATA_DIR/credential-secret, legacy env files, then generated fallback.POST /api/tasks/:id/retry.PR integration release for background model routing, reflection memory controls, and current ClawHub install guidance.
dreamConfig overrides can route dream cycles and daily digests before global dream settings, while compactionProvider settings can route live auto-compaction summaries through a cheaper or faster model.reflectionMinQuality gates automatic reflection memory writes without dropping the reflection record, and optional embedding dedup skips near-duplicate reflection notes when embeddings are configured.openclaw skills install swarmclaw and current owner-scoped ClawHub links.Documentation cleanup release for public release notes and OpenClaw guidance. No runtime behavior changed.
PR integration release for dream-model routing, email bridge TLS opt-outs, and installed CLI runtime resolution.
dreamProvider settings so background consolidation can run on a smaller local model.tlsRejectUnauthorized=false now disables hostname checks too, matching the explicit self-signed-server opt-out.tsx runtime instead of resolving tsx from the caller's project.Issue-fix release for Edit Agent tooltips, installed package builds, and structured dream output on local Ollama models.
swarmclaw server --build.SwarmClaw now ships provider-ready deploy files at the repo root:
render.yaml for Render Blueprint deploys from the public GHCR imagefly.toml for Fly.io image-backed deploysrailway.json for Railway-aligned health and restart defaultsThe published image is:
ghcr.io/swarmclawai/swarmclaw:latest
Hosted deployments should:
/app/dataACCESS_KEY and CREDENTIAL_SECRET/api/healthzFull hosted deployment guides live at https://swarmclaw.ai/docs/deployment
openai/gpt-4.1-mini./v1 endpoint./breakout, durable transcripts, outputs, operator controls, and a visible protocols template gallery plus visual builder.SKILL.md import, on-demand skill execution, and configurable keyword or embedding-based recommendation.SwarmClaw is built for OpenClaw operators who need more than one agent or one gateway.
openclaw CLI directly from SwarmClaw.SOUL.md, IDENTITY.md, USER.md, TOOLS.md, and AGENTS.md.SKILL.md files and use them in SwarmClaw's runtime skill system.SwarmClaw is a general-purpose agent runtime. Here are some of the ways people use it.
A single agent with memory, web access, scheduling, and file tools — your always-available copilot.
"Remember that I prefer window seats. Book research time every Monday at 9am. Summarize the articles I saved last week."
Starter kit: Personal Assistant → 1 agent, ready in under a minute.
Build a full org chart of specialized agents that collaborate, delegate, and report up — a lightweight simulation of a real company.
| Role | Agent | Responsibilities |
|---|---|---|
| CEO | Strategist | Sets objectives, reviews progress, delegates to department heads |
| CTO | Builder | Owns technical execution, code reviews, architecture decisions |
| CFO | Analyst | Tracks budgets, monitors token spend, produces cost reports |
| CMO | Marketer | Drafts campaigns, manages content calendar, monitors channels |
| COO | Operator | Coordinates cross-agent work, manages schedules, unblocks tasks |
A squad of agents mirroring a real engineering team — planning, building, reviewing, and testing in parallel.
| Role | Agent | Tools |
|---|---|---|
| Lead | Architect | Delegation, tasks, schedules, structured sessions |
| Dev | Builder | Shell, files, Claude Code / Codex / OpenCode |
| QA | Tester | Shell, browser, files, web search |
| Designer | Creative | Image generation, browser, web search, files |
| Reviewer | Critic | Files, web search, memory |
Starter kit: Builder Studio → pre-configured Builder + Reviewer pair.
Multiple research agents working in parallel, each with different search strategies, then synthesizing findings.
Starter kit: Research Copilot → 1 focused researcher, scale up with subagents.
Distribute autonomous agents across multiple machines using OpenClaw gateways — one control plane, many runtimes.
SKILL.md files from any OpenClaw instance into SwarmClaw's skill libraryStarter kit: OpenClaw Fleet → Operator + Remote Builder + Remote Researcher.
A writer/editor pipeline for blogs, docs, newsletters, marketing copy, or social posts.
Starter kit: Content Studio → Writer + Editor pair.
Agents answering questions on every platform your users are on, with shared memory and escalation paths.
ask_human or get routed to a specialist agentAgents with linked wallets for on-chain work — monitoring, trading, signing, and reporting.
These aren't exclusive templates — they're patterns you combine. A virtual company can have a dev team inside it. A personal assistant can spin up a research swarm on demand. An OpenClaw fleet can run your customer support desk.
The building blocks are the same: agents, tools, memory, delegation, schedules, connectors, and skills. SwarmClaw just gives you the control plane to wire them together.
SwarmClaw agents can register on SwarmDock — a peer-to-peer marketplace where autonomous AI agents discover tasks, bid competitively, complete work, and earn USDC payments on Base L2. SwarmDock is the marketplace; SwarmClaw is the control plane.
Read the full setup guide in SWARMDOCK.md, browse the public docs at swarmclaw.ai/docs/swarmdock, and visit swarmdock.ai for the marketplace itself.
SwarmClaw agents can join SwarmFeed — a social network for AI agents. Agents can post content, follow each other, react to posts, join topic channels, and discover trending conversations.
Read the docs at swarmclaw.ai/docs/swarmfeed and visit swarmfeed.ai for the platform itself.
SwarmClaw supports opt-in OTLP trace export for chat turns, direct model streams, tool execution, and structured-session runs.
Minimal configuration:
OTEL_ENABLED=true
OTEL_SERVICE_NAME=swarmclaw
OTEL_EXPORTER_OTLP_ENDPOINT=https://your-collector:4318
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer your-token
If you need a trace-specific endpoint, set OTEL_EXPORTER_OTLP_TRACES_ENDPOINT directly instead.
Operational docs: https://swarmclaw.ai/docs/observability
Scheduled-run reliability release: stale workspace rebinding, fail-fast credential checks, and durable delivery evidence for schedule-driven sends.
~/.swarmclaw/workspace) are now rebound to the current WORKSPACE_DIR automatically; intentional custom working directories are never touched.lastDeliveryStatus/lastDeliveryError back to its schedule, so failures are visible without digging through task records.PR integration release for provider catalog coverage, OpenRouter context meters, and safer unsigned macOS desktop artifacts.
Theme and memory-pressure release for lighter UI preferences and leaner chat history storage.
session_messages table and are compacted from session records after persistence is verified, reducing page-load memory pressure on lower-RAM devices.Protocol builder visibility release for built-in Structured Sessions.
Installed package build fix for fresh npm-global installs and upgrades.
mime-types and @types/mime-types directly so swarmclaw server --build can type-check the OpenClaw media proxy on clean installs.Credential recovery and external extension access release for npm-global upgrades and scoped agent tool configuration.
CREDENTIAL_SECRET, and validates candidate secrets against existing encrypted credentials before persisting DATA_DIR/credential-secret.*.js and *.mjs extensions, and the agent/chat tool controls persist enabled external tools through the extensions field.Issue and PR validation release for credential durability, delegated task dispatch, connector output hygiene, and OpenClaw gateway protocol compatibility.
encryptedKey field, and CREDENTIAL_SECRET now resolves in a stable order: explicit environment value, DATA_DIR/credential-secret, legacy env files, then generated fallback.POST /api/tasks/:id/retry.PR integration release for background model routing, reflection memory controls, and current ClawHub install guidance.
dreamConfig overrides can route dream cycles and daily digests before global dream settings, while compactionProvider settings can route live auto-compaction summaries through a cheaper or faster model.reflectionMinQuality gates automatic reflection memory writes without dropping the reflection record, and optional embedding dedup skips near-duplicate reflection notes when embeddings are configured.openclaw skills install swarmclaw and current owner-scoped ClawHub links.Documentation cleanup release for public release notes and OpenClaw guidance. No runtime behavior changed.
PR integration release for dream-model routing, email bridge TLS opt-outs, and installed CLI runtime resolution.
dreamProvider settings so background consolidation can run on a smaller local model.tlsRejectUnauthorized=false now disables hostname checks too, matching the explicit self-signed-server opt-out.tsx runtime instead of resolving tsx from the caller's project.Issue-fix release for Edit Agent tooltips, installed package builds, and structured dream output on local Ollama models.
swarmclaw server --build.Issue-fix release for installed CLI groups, email bridge TLS handling, built-in model overrides, and Windows desktop native modules.
node_modules, avoiding Node 22.6+/25 type-stripping failures.tlsRejectUnauthorized=false for local self-signed IMAP/SMTP servers..next/node_modules aliases so packaged Windows installs start against the correct ABI.Desktop compatibility and provider-save repair for Intel Mac users and OpenRouter setup.
id, type, createdAt, and updatedAt without persisting them, while still rejecting unrelated unknown fields.Output hygiene follow-up: empty successful LLM turns now stay silent instead of being rewritten as user-visible errors.
Error: Run completed... assistant messages.Gateway lifecycle release: saved OpenClaw gateways now have explicit operator lifecycle controls, automatic routing avoids gateways that should not receive new work, and Slack peer-agent messages flow through the existing connector policy gates.
swarmclaw gateways activate, drain, cordon, and restart now post the matching lifecycle action for automation and release scripts.Schedule reliability release: recurring work now repairs stale timing state before it can skip the nearest run, and scheduled board tasks keep mission context across repeat launches.
nextRunAt values and stale future cron slots before the scheduler decides whether work is due.Research tools release: agents now get direct web_extract and web_crawl tools alongside web_search, web_fetch, and the unified web tool.
web_extract returns a page title, canonical URL, and readable content for known source URLs.web_crawl walks same-origin links by default with conservative page and depth caps, plus an explicit external-link opt-in.Provider diagnostics release: connection checks now return a structured step timeline across setup, provider settings, and agent editing.
Provider reliability release: local OpenAI-compatible runtimes now get safer endpoint handling, clearer setup, and first-class LM Studio support.
http://127.0.0.1:1234 to /v1 before calling models or chat completions.Output hygiene release: final assistant responses now use the shared internal metadata scrubber before persistence, UI reset, connector delivery, and completion hooks.
Schedule preflight release: schedules now show server-backed timing forecasts before save, with timezone-aware cron previews and warnings for risky drafts.
POST /api/schedules/preview validates a draft schedule through the same normalization path as saved schedules and returns the next calculated runs.swarmclaw schedules preview --data '{...}' exposes the same forecast for scripts and release automation.Agent configuration history release: SwarmClaw now surfaces saved agent versions directly in the agent editor, giving operators a fast rollback path for agent settings.
Agent planning controls release: strict planning is now a first-class agent setting instead of a hidden persisted field, so operators can decide which agents must expose machine-readable plans before multi-step work.
[MAIN_LOOP_PLAN] contract before multi-step tool work, and the test suite now keeps that prompt section in the runtime gate.planningMode, so planning discipline follows agents across installs.Run handoff release: SwarmClaw now turns completed, failed, queued, or running execution records into copyable handoff packets with outcome, evidence, artifacts, timeline, usage, resume commands, and recommended next actions.
GET /api/runs/:id/handoff returns structured handoff JSON, and ?format=markdown returns copyable markdown.swarmclaw runs handoff <runId> --query format=markdown exposes the same packet for scripts and release automation.Session context-pack release: SwarmClaw now turns a live chat into a concise handoff packet with session metadata, recent visible turns, linked tasks, attachments, resume handles, and next actions.
GET /api/chats/:id/context-pack returns structured handoff JSON, and ?format=markdown returns copyable markdown.swarmclaw chats context-pack <chatId> --query format=markdown exposes the same packet for scripts and release automation.Architecture health release: SwarmClaw now turns runtime ownership, dispatch, memory, startup, and quality evidence into a scored operator report.
/api/quality/architecture-health returns a structured inventory of runtime domains, surfaces, owners, guardrails, tests, score, risks, warnings, and next actions./quality now shows a Runtime Ownership Map beside release readiness so operators can inspect dispatch, memory, startup, and quality coverage before shipping.swarmclaw operations architecture-health exposes the same report for automation and release scripts.Local file-queue connector release: operators can bridge SwarmClaw to filesystem inbox, outbox, archive, and error folders without a hosted message bus.
Task execution policy release: operators can attach ordered review, approval, and verification stages to board tasks, record decisions, and block premature completion until required stages clear.
executionPolicy and executionPolicyState with ordered stages, decision history, current-stage tracking, and reset support.PUT /api/tasks/:id returns a 409 when a required execution policy is still waiting or has requested changes, keeping the task in its prior status.GET /api/tasks/:id/execution-policy reports policy state, while swarmclaw tasks execution-policy-decision records approve, request-changes, and reset actions.Task handoff release: operators can package task state, readiness, workspace context, dependencies, outputs, and resume handles into a shareable packet before continuing work.
GET /api/tasks/:id/handoff returns a structured packet with owner, liveness, workspace, runtime links, dependencies, quality checks, outputs, run summary, and recommended actions.POST /api/tasks/:id/handoff prepares a workspace when needed and writes handoff.md plus handoff.json beside the task context files.GET /api/tasks/handoffs lists readiness packets with ready, needs-attention, and blocked counts so operators can scan handoff risk across the board.swarmclaw tasks handoff, swarmclaw tasks handoff-save, and swarmclaw tasks handoffs expose the workflow for scripts, while the task sheet can copy, open, or save packets.Schedule revision timeline release: schedule edits, lifecycle changes, and run evidence now stay inspectable from UI, API, and CLI surfaces.
GET /api/schedules/:id/history and swarmclaw schedules history <id> expose the same timeline for scripts and operator audits.Bundled release-readiness release: a single operator report that combines eval gates, operations blockers, approvals, and runtime readiness.
/api/quality/release-readiness returns a scored ready/warning/blocked report built from eval regression gates and Operations Pulse evidence.swarmclaw operations readiness exposes the same report for scripts and CI./quality.Bundled eval-gate release: approved baselines, regression checks, and Quality Center release gates for repeatable eval evidence.
/api/eval/gate compares current eval evidence against thresholds and baselines, while /api/eval/baselines lists and updates approved baselines.swarmclaw eval gate, swarmclaw eval baselines, and swarmclaw eval baseline-set expose the same release-gate workflow from automation.Bundled eval-environment release: validation preflights, deterministic eval workspaces, and clearer operator readiness before spending run budget.
/api/eval/environments now resolves the selected agent route, gateway target, scenario tools, generated files, and readiness checks before an eval runs.environment.json, .env.swarmclaw-eval, and a task-focused README.md into each isolated eval workspace without embedding secrets.package.json in its workspace.Bundled portability release: project-scoped workspace bundles, safer v2 imports, and preserved internal relationships for reusable teams.
/api/portability/export?projectId=... now emits a scoped workspace template with the selected project, active agents, pinned skills, schedules, chatrooms, connectors, MCP servers, and goals.scope block and use readable swarmclaw-project-...json filenames for portable team handoff.Bundled runtime-environment release: gateway execution visibility, task context handoff, and operator triage in one release cycle.
environments.list, stores available environment counts, exposes /api/gateways/:id/environments, and adds CLI commands for list/status checks.context.json with task, preview, runtime, blocker, tag, and upstream-result context for external workers..env.swarmclaw plus SwarmClaw, portable task/workspace, and AGENT_HOME env hints without embedding secrets.Bundled extension-orchestration release: managed plugin resources, gateway/setup declarations, and safer local folder access in one release cycle.
managedResources or top-level manifest aliases./api/extensions/managed-resources can preview and reconcile extension-owned agents and routines with stable IDs and managedByExtension markers.extension_creator now documents managed resources, gateway declarations, setup checks, and manifest aliases.Bundled runtime-polish release: reasoning hygiene, deterministic delegation routing, task workflow polish, OpenClaw export hardening, and timeout hygiene.
<think>, <thinking>, <reasoning>, <thought>, and <REASONING_SCRATCHPAD> blocks are removed across split deltas and routed into SwarmClaw's thinking stream instead of leaking into visible answers.manage_tasks now accepts explicit workType and requiredCapabilities routing hints, returns a stable routeKey, and can auto-assign unowned work without a classifier call when the profile is explicit.in_progress workflow lane without changing their runtime status or queueing execution.Task execution workspace release: task-scoped workspaces, preview handoffs, and liveness evidence.
Task retry and host execute hotfix for issues #68 and #69.
executeConfig.backend = "host" now pass that setting into the runtime execute tool, so persistent=true uses the documented host backend.Gateway Fleet Command release: SwarmClaw now treats OpenClaw gateways as an operator surface instead of a background provider detail.
DeepSeek tool-use hotfix for issue #67.
reasoning_content separately from visible text and send it back to DeepSeek on follow-up tool-use turns.reasoning_content while continuing to show reasoning through SwarmClaw's existing thinking surface.Operator evidence release: a focused follow-up that makes release and mission review easier to scan.
GET /api/operations/pulse, GET /api/runs/:id/brief, and GET /api/artifacts for external operator dashboards and release tooling.Mission Command release: a bigger operator update that makes autonomous missions easier to launch, inspect, and share.
/missions?template=<id> opens the right starter template directly, and the template installer can create a mission-driver chat when no sessions exist yet./quality?tab=evals|approvals|runs is shareable, and the Quality overview/Eval Lab can start a Release QA mission from current operator evidence.summary correctly in public HTML and raw markdown shares, with regression coverage in npm run test:runtime.Desktop packaging fix for Linux AppImage and deb builds.
better-sqlite3 Node ABI mismatch reported in #65.afterPack hook now has a Linux standalone native-module sync test wired into npm run test:cli.CLI provider usability follow-up for v1.7.0/v1.7.1. The expanded coding-agent roster is now easier to find, configure, and validate from onboarding and setup diagnostics.
Republish of v1.7.0 from the correct commit. The v1.7.0 tarball on npm was inadvertently published from a pre-rebase tree that did not include the v1.6.1 codex continuity fixes (PR #62) or the v1.6.2 plan doc. v1.7.1 ships the same coding-agent-roster expansion on top of the correct v1.6.1+ history.
Use v1.7.1 instead of v1.7.0; v1.7.0 has been deprecated on npm.
Extended CLI provider roster — every coding agent recognized by SwarmSkills now has a corresponding CLI provider in SwarmClaw, routed through a generic streamer when no bespoke parser exists.
ProviderType.streamGenericCliChat (src/lib/providers/generic-cli.ts) spawns the configured binary with the prompt as final argv and emits stdout lines as SSE deltas. Used by the new providers when no bespoke parser is available; existing bespoke parsers (Claude, Codex, Cursor, Gemini, Copilot, Droid, Qwen, OpenCode, Goose) are untouched.CLI_PROVIDER_CAPABILITIES (src/lib/providers/cli-utils.ts) carries a one-line description for each new provider so the UI and isCliProvider() recognize them.generic-cli.test.ts exercises the streamer against echo and asserts the missing-binary error path; cli-utils.test.ts extends the CLI provider recognition coverage.Follow-up release for v1.6 with workflow starts, safer metadata handling, A2A discovery polish, and #61 by @latentwill. Thanks latentwill!
/.well-known/agent-card.json endpoint now works alongside the legacy API route and hides disabled or trashed agents from public discovery.npm run test:e2e now runs a Playwright smoke against health, A2A discovery, /home, and /quality, either against a live URL or a temporary local dev server.Operator Quality Center release for builders running autonomous agents in production-like workflows.
/quality brings run health, failed/running counts, pending approvals, latest eval scores, and attention shortcuts into one operator surface.Fast-follow release for #60 by @borislavnnikolov. Thanks Borislav!
Fast-follow release for #56 by @latentwill. Thanks latentwill!
Also includes fixes for #57 and #58 reported by @zantak. Thanks zantak!
type field, and the provider update route is now covered by the runtime test script.reasoning_content and reasoning stream deltas now flow into the existing collapsed Thinking panel instead of being appended before the visible answer.Fast-follow release for #55 by @borislavnnikolov. Thanks Borislav!
/api/runs endpoints, including detail and event fallbacks for structured run records.nextRunAt, and in-process daemon status/control paths are covered.src/ even when a maintainer has private ignored config in their working tree.Launch-readiness release for turning SwarmClaw's own next launch into a reusable workflow.
16.2.4 in the app and docs site, OpenClaw / Discord.js / selected transitives are refreshed so the production high/critical audit gate passes, and the stale package-lock.json root version is realigned with the published package version.npm run electron:build now restores host-architecture native modules after macOS multi-arch packaging, so a local release smoke build no longer leaves the checkout unable to run the next host build.docs/release/v1.5.68-launch-plan.md, refreshed the website release notes/docs index, and updated stale install examples so public launch traffic sees current instructions.Three chatroom-focused fixes from a community contribution by @borislavnnikolov. Thanks Borislav!
chatroom-<roomId>-<agentId>) is now centralized in src/lib/chatroom-sessions.ts and shared between the UI and chatroom-helpers.ts so the two halves can never drift.activeSessionIdOverride on the session slice. 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, with regression tests in session-slice.test.ts covering the override-preferred, override-stale, and fallback cases.<span> had px-0.5 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 nudging the layout.Fixes a runaway-token-burn bug in the orchestrator-wake and heartbeat loops. The root cause was hidden in the success/failure classification: a session run can resolve its promise successfully while still carrying an error on the result (e.g. a provider 429 swallowed into persisted output), and the wake trackers only incremented their failure counters on a rejected promise. So the backoff never engaged, the auto-disable-after-N-failures gate never tripped, and the wake kept firing at its configured interval indefinitely — every firing spending tokens on a full prompt against a provider that was already cooling down.
classifyWakeOutcome (src/lib/server/runtime/heartbeat-service.ts) — new pure helper, extracted for unit testing, that maps a resolved run result into null (success) or a short failure reason. A run counts as a failure when result.error is a non-empty string, or when result.text is empty/whitespace-only. Both the orchestrator-wake and heartbeat outcome handlers now feed through this helper, so silent-failure runs tick the failure counter and the exponential backoff (10s → 5min) kicks in normally.MAX_CONSECUTIVE_FAILURES = 10 threshold was already in place but unreachable for the most common failure mode (429 errors that still persisted a run). After the fix, ten consecutive dud wakes auto-disable the orchestrator/heartbeat for that agent/session and post an explicit notification instead of grinding indefinitely.heartbeat-service.test.ts now has 5 targeted cases on classifyWakeOutcome — the 429 regression, empty-output detection, non-string error fields, whitespace-only errors, and the happy path. test:runtime now runs 104 cases.Follow-up hardening on the v1.5.64 work after live-testing the chat-header flows, the MCP connection pool, and the MCP Registry browser. Six concrete bugs fixed in the clear/undo, MCP pool eviction, and registry-browser code paths.
clearChatMessages now resets opencodeWebSessionId too. The snapshot/undo pair already captured and restored it, but clear itself 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 in storage-normalization.ts so older session records load with opencodeWebSessionId: null instead of undefined. Regression covered by clear-route.test.ts.chat-area.tsx now gates the setMessages calls on selectActiveSessionId === targetSessionId; same guard added to the compact-complete path./mcp-servers auto-called POST /api/mcp-servers/:id/test for 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. Regression added to src/app/api/mcp-servers/route.test.ts.swarmdock-api.onrender.com endpoint emits no CORS headers, so the in-browser RegistryBrowser component always failed with Failed to fetch. Added GET /api/mcp-registry and GET /api/mcp-registry/:slug as 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-registry CLI group. New commands swarmclaw mcp-registry search and swarmclaw mcp-registry get <slug> so CLI workflows can pull from the same proxy.Two themes this release. First, context-window management reaches the chat UI: a live token-usage meter in every chat header, a one-click LLM-backed compaction that keeps the session alive without nuking history, and a redesigned clear flow with a 30-second undo that restores both transcripts and CLI resume IDs. Second, MCP token spend is now controllable: per-server alwaysExpose policy, per-agent eager-tool overrides, an in-session mcp_tool_search promoter, a long-lived connection pool, a token-cost endpoint per server, and a built-in browser for the public SwarmDock MCP registry.
ContextMeterBadge (src/components/chat/context-meter-badge.tsx) renders a live chip showing N% · Mk next to the chat title, driven by GET /api/chats/:id/context-status. Color thresholds at 70% (amber) and 90% (red). Clicking the chip opens a popover with the full breakdown (used / remaining / messages) plus Compact and Clear buttons. The button row explicitly states: "Long-term memory, skills, and facts are preserved. Clear only affects this chat transcript." — so users stop fearing Clear./compact via the popover. New POST /api/chats/:id/compact runs summarizeAndCompact with the session's own provider/model via buildChatModel as the summarizer. The existing hierarchical-summary pipeline in context-manager.ts does the work: tool failures, file ops, and adaptive chunking are all preserved. Accepts keepLastN in the body (2-200, default 10). Returns status: 'no_action' | 'compacted' plus counts. The popover gates the button below 3 messages so users don't waste LLM calls on trivially short transcripts.POST /api/chats/:id/clear now returns { cleared, undoToken, expiresAt }, and a new POST /api/chats/:id/clear/undo restores the snapshot. The undo snapshot (messages + every CLI session ID including claudeSessionId, codexThreadId, opencodeSessionId, opencodeWebSessionId, geminiSessionId, copilotSessionId, droidSessionId, cursorSessionId, qwenSessionId, acpSessionId, and delegateResumeIds) lives in an HMR-safe in-memory store (src/lib/server/chats/clear-undo-snapshots.ts) with a 30-second TTL, 200-entry cap, session-scoped lookups, and single-use tokens. The chat UI wires this to a sonner toast with an Undo action; restoring fires a "Chat restored." confirmation toast.alwaysExpose policy for MCP servers (McpServerConfig.alwaysExpose: boolean | string[], default true for back-compat). Set false on a chatty server (e.g. a Playwright MCP with 40 tools that cost thousands of tokens per turn) and the agent binds nothing up front — it can still discover and promote specific tools via the new mcp_tool_search meta-tool. Set an allowlist ['query_resources', 'fetch_url'] to eagerly bind a curated subset.mcpEagerTools override (Agent.mcpEagerTools?: string[]) lets you force-expose specific tool names for a specific agent regardless of the server's alwaysExpose. Precedence: per-agent allowlist > server alwaysExpose > session promotions.mcp_tool_search meta-tool (src/lib/server/mcp-gateway-runtime.ts). When a server's tools are lazy, the agent gets a single mcp_tool_search({ query, limit? }) tool that searches the process-wide discovery cache (bare name substring + description keywords) and promotes matches for the current session. The next turn binds the promoted names for real. SessionToolPromoter state is keyed by session ID and HMR-safe. Behavior mirrors @swarmclawai/mcp-gateway's router so users who split MCP fan-out across SwarmClaw and the gateway get consistent semantics.src/lib/server/mcp-connection-pool.ts). A single client/transport per server lives for the process lifetime instead of reconnecting every turn. Config-fingerprint tracking rotates stale entries automatically; the /test endpoint evicts explicitly so a config change takes effect immediately. Saves ~100-500ms × (servers × turns) per chat. HMR-safe via hmrSingleton so dev reloads don't leak child processes.GET /api/mcp-servers/:id/tools-info). Connects, lists tools, and reports per-tool schema tokens plus aggregates — using the same chars / 3.5 formula as @swarmclawai/mcp-gateway so numbers line up side by side. Surfaces inside mcp-server-list.tsx so you can see which server is the costliest before an agent even runs.src/components/mcp-servers/registry-browser.tsx). Opens from the New MCP Server sheet and browses the public registry at https://swarmdock-api.onrender.com/api/v1/mcp/servers. Selecting a server populates the form with its recommended install command — one-click discovery without leaving SwarmClaw. A new MCP Gateway (local) preset is also bundled so users can bootstrap @swarmclawai/mcp-gateway in one tap.swarmclaw chats context-status <id>, swarmclaw chats compact <id>, swarmclaw chats clear-undo <id>, and the existing chats clear now returns the undo token so CLI scripts can build their own clear+undo workflows.alwaysExpose: true (historical behavior — every tool bound every turn) via storage-normalization.ts. No user action required to upgrade.clear-undo-snapshots.test.ts (5 cases — TTL, single-use, session isolation, CLI-id preservation, expiry sweep), clear-route.test.ts (clear → undo → double-undo 404 → missing-session 404 round-trip), compact-route.test.ts (no-action path + 404), context-status-route.test.ts, plus mcp-connection-pool.test.ts and mcp-gateway-runtime.test.ts. test:runtime runs 100 tests across 13 suites.Chatroom fix from @borislavnnikolov: CLI-backed agents (codex-cli, copilot-cli, gemini-cli, and the rest of the NON_LANGGRAPH_PROVIDER_IDS set) now work correctly as chatroom members instead of falling through a LangGraph path they cannot run. With the execution path fixed, the worker-only membership blocks are lifted too, so any non-trashed agent can be added to a room.
src/app/api/chatrooms/[id]/chat/route.ts now branches on NON_LANGGRAPH_PROVIDER_IDS and calls provider.handler.streamChat() directly for CLI-backed agents while keeping the LangGraph streamAgentChat path for everything else. Streaming, tool events, and persisted messages all flow through unchanged.src/app/api/chatrooms/route.ts, src/app/api/chatrooms/[id]/route.ts, src/app/api/chatrooms/[id]/members/route.ts, src/lib/server/session-tools/chatroom.ts, src/components/chatrooms/chatroom-sheet.tsx) no longer reject or hide worker-only agents. Any non-trashed agent is eligible.src/app/api/chatrooms/[id]/chat/route.test.ts proves a codex-cli-backed chatroom turn bypasses streamAgentChat, streams a response through the provider handler, and persists one assistant reply.Hardens parallel sub-agent dispatch with a concurrency cap, a quorum join policy, and a cycle check — so a fan-out can't accidentally saturate providers, melt a mission budget, or wedge the runtime on a delegation loop.
spawn_subagent swarm/batch actions now accept maxConcurrency, joinPolicy, quorum, and cancelRemaining. Parallel mode fans out at most 4 branches at a time by default (hard-capped at 16). Task buckets share an executionGroupKey so the existing per-execution serial lock enforces the cap with zero new scheduler code. joinPolicy: 'quorum' resolves once quorum branches succeed and (by default) cancels the remaining in-flight branches. joinPolicy: 'first' resolves on the first success. joinPolicy: 'all' stays the default.spawnSubagent. Before creating a child session, the runtime walks the parentSessionId ancestry and rejects the spawn when the requested agentId already appears higher in the chain. Clear error message with an allowCycle: true escape hatch. Orthogonal to the existing depth cap.Agent.maxParallelDelegations and MissionBudget.maxParallelBranches plumb into the swarm resolver. Precedence: explicit tool arg > agent cap > mission cap > system default (4). Both are validated by AgentUpdateSchema and the mission budget schemas, and normalized on load via storage-normalization.ts.SwarmSnapshot.maxConcurrency lands in the persisted snapshot payload so the UI and external tooling can surface the active concurrency level. Verified live via a 3-branch quorum run: totalCompleted: 2, totalCancelled: 1, maxConcurrency: 2, joinPolicy: "quorum".Adds an opt-in per-agent planning mode that rides on the existing [MAIN_LOOP_PLAN] token machinery.
Agent.planningMode: 'off' | 'strict' | null — new optional field on the Agent type. Defaults to null (off) so existing agents are unaffected. Validated by AgentCreateSchema / AgentUpdateSchema and surfaced through createAgent in agent-service.ts.buildPlanningModeSection in prompt-sections.ts injects a short contract into the system prompt when planningMode === 'strict': before any multi-step work, emit a single-line [MAIN_LOOP_PLAN]{"steps":...} block. The existing parser in main-agent-loop.ts reads these blocks into MainLoopState.planSteps / currentPlanStep / completedPlanSteps with no additional wiring. Skipped in minimal prompt mode and for heartbeat turns.prompt-sections.planning-mode.test.ts covers the null / off / strict / minimal / missing-agent paths (6 cases).Adds a turn-snapshot primitive for external replay and comparison tooling, without touching the execution flow.
GET /api/chats/:id/turns/:index/snapshot returns 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 return 400, out-of-range indices return 404. CLI: swarmclaw chats turn-snapshot <chatId> <index>.edit-resend path (destructive in-session replay) and the new share-link infrastructure in v1.5.59 (share the original turn's context, replay on another instance).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.
share_links collection in src/lib/server/storage.ts plus src/lib/server/sharing/share-link-repository.ts. POST /api/share { entityType, entityId, expiresInSec?, label? } mints a cryptographically random 32-char base64url token; GET /api/share lists; GET /api/share/:id fetches; DELETE /api/share/:id revokes (pass ?hard=true to hard-delete). CLI: swarmclaw share {list,mint,get,revoke,resolve,raw}.GET /api/s/:token returns the scrubbed JSON payload; GET /api/s/:token/raw returns plain markdown (skills return their SKILL.md verbatim, missions render as title + goal + criteria + milestones, sessions as a transcript). Revoked and expired tokens return 404 Not found without leaking shape information. GET /s/:token is a server-rendered page for dropping straight into a browser.POST /api/skills/import already accepts an http(s) URL; pointing it at https://<your-host>/api/s/<token>/raw now installs a shared skill from another SwarmClaw instance without auth handshakes. Pairs naturally with existing swarmclaw skills import CLI.share-link-repository.test.ts covers mint / list / revoke / lookup-by-token round-trip plus expiry handling against a temporary data dir.Older releases: https://swarmclaw.ai/docs/release-notes
What is SwarmClaw? SwarmClaw is an open-source, self-hosted AI agent runtime and multi-agent framework. It lets you run autonomous AI agents, agent swarms, and orchestrators with durable memory, MCP tools, skills, delegation, schedules, and support for 23+ LLM providers — serving as a practical alternative to Claude Code and LangChain for self-hosted workflows.
How does SwarmClaw differ from LangChain or CrewAI? SwarmClaw is a self-hosted runtime rather than a code library. It provides a persistent dashboard, durable agent memory, real-time org chart visualization, and built-in multi-agent orchestration with delegation — all running on your own infrastructure. LangChain and CrewAI are code frameworks you embed in your applications; SwarmClaw is the platform your agents run on.
Is SwarmClaw production-ready? Yes. SwarmClaw is used in production by teams running autonomous agent swarms. It includes security features like approval-gated actions, TLS support, and access key management.
How do I install SwarmClaw?
Install via npm: npm install -g @swarmclawai/swarmclaw, then run swarmclaw init to create your configuration. Docker deployment is also available via the provided Docker Compose setup.
Which LLM providers are supported?
SwarmClaw supports 23+ providers including OpenAI, Anthropic (Claude), Google Gemini, OpenRouter, Ollama (local), DeepSeek, Groq, Together AI, and more. Configure your API keys in the .env file or via the dashboard.
Can I use local models? Yes. SwarmClaw integrates with Ollama and other local LLM backends for fully offline agent operation.
What is an agent swarm? An agent swarm is a group of AI agents working together under an orchestrator. Each agent has its own role, tools, and memory. The orchestrator delegates tasks, agents execute in parallel, and results are aggregated — mimicking a real organizational structure.
What are MCP tools? MCP (Model Context Protocol) tools let agents interact with external systems — databases, APIs, file systems, browsers, and more. SwarmClaw provides a marketplace of pre-built MCP tools at SwarmDock.
How does agent memory work? SwarmClaw provides durable agent memory that persists across sessions. Each agent maintains its own conversation history, learned skills, and context — enabling long-running autonomous workflows.
How do I deploy SwarmClaw? Options include: local npm installation, Docker Compose for containerized deployment, or cloud VPS with reverse proxy and TLS. See the deployment docs for detailed guides.
Can I run SwarmClaw in the cloud? Yes. SwarmClaw runs on any Linux server with Node.js 18+. Popular options include AWS EC2, DigitalOcean, Hetzner, and self-hosted on home servers.
Agent is not responding. What should I check? Verify your LLM API key is valid, check the agent's configuration in the dashboard, and review the agent chat logs for error messages. Common issues include rate limiting and invalid model names.
How do I update SwarmClaw?
Run npm update -g @swarmclawai/swarmclaw or pull the latest Docker image. Check the release notes for breaking changes.
Where can I get help?
3456 directly without a reverse proxy and TLS.Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnos
MCP server integration for DaVinci Resolve Studio