{"slug": "agent-swarm-oss-multiplayer-ai-for-your-company", "title": "Agent Swarm: OSS multiplayer AI for your company", "summary": "Desplega AI released Agent Swarm v1.167.0, an open-source multi-agent orchestration platform, published to npm as @desplega.ai/agent-swarm and to GitHub Container Registry as separate server, worker, and dashboard images. The release includes fixes for ACP target configuration validation, Codex OAuth token refresh timing, and Codex context reporting, plus a heartbeat change that skips the Lead boot-triage task on a clean boot. The project also ships E2B templates tagged agent-swarm-api-1-167-0 and agent-swarm-worker-1-167-0.", "body_md": "## Repository navigation\n\n# Releases: desplega-ai/agent-swarm\n\n## Release list\n\n## v1.167.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.167.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.167.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.167.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.167.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.167.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.167.0\n# Dashboard\ndocker pull ghcr.io/desplega-ai/agent-swarm-ui:1.167.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-167-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-167-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- test(acp): wait for the token revoke before closing the stub server by [@desplega-bot](https://github.com/desplega-bot) in[#1974](https://github.com/desplega-ai/agent-swarm/pull/1974)\n- chore(deps): bump vulnerable docs-site dependencies (Dependabot alerts) by [@desplega-bot](https://github.com/desplega-bot) in[#1976](https://github.com/desplega-ai/agent-swarm/pull/1976)\n- docs(specs): sync TLA+ specs with main (heartbeat, workflows) by [@desplega-bot](https://github.com/desplega-bot) in[#1975](https://github.com/desplega-ai/agent-swarm/pull/1975)\n- docs(specs): model the [#1926](https://github.com/desplega-ai/agent-swarm/pull/1926) fail-closed replay write in the workflows spec (finds CX14) by[@desplega-bot](https://github.com/desplega-bot) in[#1982](https://github.com/desplega-ai/agent-swarm/pull/1982)\n- chore(docker): bump pi, amp, gemini (2026-10-08) by [@desplega-bot](https://github.com/desplega-bot) in[#1971](https://github.com/desplega-ai/agent-swarm/pull/1971)\n- dreaming-v2 systemDefault skill seed patches (2026-10-08) by [@desplega-bot](https://github.com/desplega-bot) in[#1972](https://github.com/desplega-ai/agent-swarm/pull/1972)\n- chore(deps): bump vulnerable root dependencies (Dependabot alerts) by [@desplega-bot](https://github.com/desplega-bot) in[#1977](https://github.com/desplega-ai/agent-swarm/pull/1977)\n- feat(heartbeat): skip the Lead boot-triage task on a clean boot by [@desplega-bot](https://github.com/desplega-bot) in[#1973](https://github.com/desplega-ai/agent-swarm/pull/1973)\n- chore(deps): bump vulnerable apps/templates-ui dependencies (Dependabot alerts) by [@desplega-bot](https://github.com/desplega-bot) in[#1978](https://github.com/desplega-ai/agent-swarm/pull/1978)\n- fix(ui): clean code blocks and inline images in approvals by [@desplega-bot](https://github.com/desplega-bot) in[#1979](https://github.com/desplega-ai/agent-swarm/pull/1979)\n- chore: skip unrelated Vercel builds and templates previews by [@desplega-bot](https://github.com/desplega-bot) in[#1980](https://github.com/desplega-ai/agent-swarm/pull/1980)\n- fix: retry transient Bun installs in Docker builds by [@desplega-bot](https://github.com/desplega-bot) in[#1984](https://github.com/desplega-ai/agent-swarm/pull/1984)\n- fix(acp): validate target configuration before claiming tasks by [@ZedingZhang](https://github.com/ZedingZhang) in[#1981](https://github.com/desplega-ai/agent-swarm/pull/1981)\n- ci: track unit test durations and flakes per CI run by [@desplega-bot](https://github.com/desplega-bot) in[#1986](https://github.com/desplega-ai/agent-swarm/pull/1986)\n- fix(codex-oauth): separate refresh time from token expiry by [@gtdd123](https://github.com/gtdd123) in[#1983](https://github.com/desplega-ai/agent-swarm/pull/1983)\n- fix(codex): report the latest request as context, not the turn total by [@desplega-bot](https://github.com/desplega-bot) in[#1988](https://github.com/desplega-ai/agent-swarm/pull/1988)\n- docs(tla): model the boot-triage clean-boot gate by [@desplega-bot](https://github.com/desplega-bot) in[#1991](https://github.com/desplega-ai/agent-swarm/pull/1991)\n- fix(acp): honor the OpenRouter gateway in opencode target by [@desplega-bot](https://github.com/desplega-bot) in[#1992](https://github.com/desplega-ai/agent-swarm/pull/1992)\n- feat(mcp): add optional SWARM_ENABLED_TOOLS tool allowlist by [@desplega-bot](https://github.com/desplega-bot) in[#1989](https://github.com/desplega-ai/agent-swarm/pull/1989)\n- chore(docker): bump amp, anthropic-sdk (2026-10-08) by [@desplega-bot](https://github.com/desplega-bot) in[#1997](https://github.com/desplega-ai/agent-swarm/pull/1997)\n- fix(pricing): seed Claude Haiku 5.5 rates by [@desplega-bot](https://github.com/desplega-bot) in[#1993](https://github.com/desplega-ai/agent-swarm/pull/1993)\n- fix(pricing): collapse amp's dated snapshot ids before the refresh insert by [@desplega-bot](https://github.com/desplega-bot) in[#1994](https://github.com/desplega-ai/agent-swarm/pull/1994)\n- fix(hooks): make Claude hook blocks the only stdout of their event by [@desplega-bot](https://github.com/desplega-bot) in[#1999](https://github.com/desplega-ai/agent-swarm/pull/1999)\n- fix(pi): deliver extension nudges to the model with pi.sendMessage by [@desplega-bot](https://github.com/desplega-bot) in[#2000](https://github.com/desplega-ai/agent-swarm/pull/2000)\n- chore(deps): bump agent-fs to 0.15.2 by [@desplega-bot](https://github.com/desplega-bot) in[#2001](https://github.com/desplega-ai/agent-swarm/pull/2001)\n- fix(models): accept dated Claude ids in harness family checks by [@desplega-bot](https://github.com/desplega-bot) in[#2002](https://github.com/desplega-ai/agent-swarm/pull/2002)\n- fix: run merge gate checks for model packages by [@desplega-bot](https://github.com/desplega-bot) in[#2003](https://github.com/desplega-ai/agent-swarm/pull/2003)\n- feat(providers): attribute OpenRouter harness requests to Agent Swarm by [@desplega-bot](https://github.com/desplega-bot) in[#1995](https://github.com/desplega-ai/agent-swarm/pull/1995)\n- feat(openrouter): attribute the remaining OpenRouter call sites to Agent Swarm by [@desplega-bot](https://github.com/desplega-bot) in[#1996](https://github.com/desplega-ai/agent-swarm/pull/1996)\n- release: v1.167.0 + docs daily update 2026-10-09 by [@desplega-bot](https://github.com/desplega-bot) in[#2005](https://github.com/desplega-ai/agent-swarm/pull/2005)\n\n**Full Changelog**: `v1.166.0...v1.167.0`\n\n## v1.166.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.166.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.166.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.166.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.166.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.166.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.166.0\n# Dashboard\ndocker pull ghcr.io/desplega-ai/agent-swarm-ui:1.166.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-166-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-166-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- chore(maintenance): versioned retro-sweep across logs, memory, tasks, events and workflow steps by [@desplega-bot](https://github.com/desplega-bot) in[#1917](https://github.com/desplega-ai/agent-swarm/pull/1917)\n- feat(secrets): central secret registry with a combined known-value matcher by [@desplega-bot](https://github.com/desplega-bot) in[#1918](https://github.com/desplega-ai/agent-swarm/pull/1918)\n- feat(scrubber): vendored gitleaks rule set with keyword prefilter and corpus test by [@desplega-bot](https://github.com/desplega-bot) in[#1922](https://github.com/desplega-ai/agent-swarm/pull/1922)\n- feat(db): ScrubbedText write contract and TEXT-column classification check by [@desplega-bot](https://github.com/desplega-bot) in[#1923](https://github.com/desplega-ai/agent-swarm/pull/1923)\n- fix: de-flake adversarial scrubber timing guard by [@desplega-bot](https://github.com/desplega-bot) in[#1966](https://github.com/desplega-ai/agent-swarm/pull/1966)\n- fix(db): scrub event payloads at write by [@desplega-bot](https://github.com/desplega-bot) in[#1924](https://github.com/desplega-ai/agent-swarm/pull/1924)\n- fix(db): scrub script run args, output and errors at write by [@desplega-bot](https://github.com/desplega-bot) in[#1925](https://github.com/desplega-ai/agent-swarm/pull/1925)\n- fix(docs): correct Linear gate docs — empty LINEAR_ALLOWED_STATES closes the gate by [@sqmyou](https://github.com/sqmyou) in[#1965](https://github.com/desplega-ai/agent-swarm/pull/1965)\n- chore(docker): bump claude-code, codex, cursor, amp, anthropic sdk (2026-10-07) by [@desplega-bot](https://github.com/desplega-bot) in[#1967](https://github.com/desplega-ai/agent-swarm/pull/1967)\n- feat(scripts): opt-in quickjs script executor by [@tarasyarema](https://github.com/tarasyarema) in[#1951](https://github.com/desplega-ai/agent-swarm/pull/1951)\n- feat(acp): add a copilot ACP target for GitHub Copilot CLI by [@desplega-bot](https://github.com/desplega-bot) in[#1957](https://github.com/desplega-ai/agent-swarm/pull/1957)\n- fix(db): scrub workflow run and step payloads at write by [@desplega-bot](https://github.com/desplega-bot) in[#1926](https://github.com/desplega-ai/agent-swarm/pull/1926)\n- fix(db): scrub memory, messages, approvals, schedules and task text at write by [@desplega-bot](https://github.com/desplega-bot) in[#1927](https://github.com/desplega-ai/agent-swarm/pull/1927)\n- test(security): canary sweep across every table and stdout by [@desplega-bot](https://github.com/desplega-bot) in[#1928](https://github.com/desplega-ai/agent-swarm/pull/1928)\n- fix: typecheck QuickJS worker in extension SDK bundler by [@desplega-bot](https://github.com/desplega-bot) in[#1969](https://github.com/desplega-ai/agent-swarm/pull/1969)\n- fix(db-query): deny credential tables and scrub the HTTP route by [@desplega-bot](https://github.com/desplega-bot) in[#1915](https://github.com/desplega-ai/agent-swarm/pull/1915)\n- release: v1.166.0 + docs daily update 2026-10-08 by [@desplega-bot](https://github.com/desplega-bot) in[#1970](https://github.com/desplega-ai/agent-swarm/pull/1970)\n\n## New Contributors\n\n**Full Changelog**: `v1.165.0...v1.166.0`\n\n## v1.165.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.165.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.165.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.165.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.165.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.165.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.165.0\n# Dashboard\ndocker pull ghcr.io/desplega-ai/agent-swarm-ui:1.165.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-165-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-165-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- docs(specs): sync TLA+ specs with main (heartbeat) by [@desplega-bot](https://github.com/desplega-bot) in[#1933](https://github.com/desplega-ai/agent-swarm/pull/1933)\n- fix(heartbeat): exclude all terminal statuses from deduplication by [@desplega-bot](https://github.com/desplega-bot) in[#1909](https://github.com/desplega-ai/agent-swarm/pull/1909)\n- chore(docker): bump amp (2026-10-07) by [@desplega-bot](https://github.com/desplega-bot) in[#1931](https://github.com/desplega-ai/agent-swarm/pull/1931)\n- perf(ci): skip merge-queue image load, typecheck with tsgo, add bun run check by [@desplega-bot](https://github.com/desplega-bot) in[#1920](https://github.com/desplega-ai/agent-swarm/pull/1920)\n- fix(egress): scrub Slack and WhatsApp sends at the client by [@desplega-bot](https://github.com/desplega-bot) in[#1919](https://github.com/desplega-ai/agent-swarm/pull/1919)\n- fix(scrubber): bare and case-insensitive keys, structured key-context rules, PEM and URL credentials by [@desplega-bot](https://github.com/desplega-bot) in[#1916](https://github.com/desplega-ai/agent-swarm/pull/1916)\n- fix(ui): show self-hosted support links by [@desplega-bot](https://github.com/desplega-bot) in[#1936](https://github.com/desplega-ai/agent-swarm/pull/1936)\n- feat(pr-template): show-me PR template with review map, risk and swarm provenance by [@desplega-bot](https://github.com/desplega-bot) in[#1937](https://github.com/desplega-ai/agent-swarm/pull/1937)\n- fix(scripts): call back through the internal base url for background runs and codex keep-warm by [@oscar-izval](https://github.com/oscar-izval) in[#1935](https://github.com/desplega-ai/agent-swarm/pull/1935)\n- feat(users): one-click Connect to ChatGPT via single-use connector codes by [@tarasyarema](https://github.com/tarasyarema) in[#1903](https://github.com/desplega-ai/agent-swarm/pull/1903)\n- feat(logging): process-wide console scrub at API and worker boot by [@desplega-bot](https://github.com/desplega-bot) in[#1921](https://github.com/desplega-ai/agent-swarm/pull/1921)\n- fix(skills): use OAuth bindings for Jira and Linear by [@desplega-bot](https://github.com/desplega-bot) in[#1929](https://github.com/desplega-ai/agent-swarm/pull/1929)\n- fix(pr-body): track fence and HTML comment state before opening Swarm provenance by [@desplega-bot](https://github.com/desplega-bot) in[#1938](https://github.com/desplega-ai/agent-swarm/pull/1938)\n- chore(skills): re-sync vendored qa skill from ai-toolbox 77abe63 by [@desplega-bot](https://github.com/desplega-bot) in[#1942](https://github.com/desplega-ai/agent-swarm/pull/1942)\n- feat(ui): inline /connect confirm step instead of a dialog by [@tarasyarema](https://github.com/tarasyarema) in[#1944](https://github.com/desplega-ai/agent-swarm/pull/1944)\n- feat(workflows): openai and cloudflare clef providers for system-one-decision by [@desplega-bot](https://github.com/desplega-bot) in[#1945](https://github.com/desplega-ai/agent-swarm/pull/1945)\n- feat(docker): publish the dashboard as an nginx image by [@oscar-izval](https://github.com/oscar-izval) in[#1943](https://github.com/desplega-ai/agent-swarm/pull/1943)\n- chore(deps): bump nginxinc/nginx-unprivileged from 1.29.8-alpine to 1.31.5-alpine by [@dependabot](https://github.com/dependabot) [bot] in[#1946](https://github.com/desplega-ai/agent-swarm/pull/1946)\n- chore(ci): remove HOL plugin scanner workflow by [@desplega-bot](https://github.com/desplega-bot) in[#1950](https://github.com/desplega-ai/agent-swarm/pull/1950)\n- fix: parse integration *_DISABLE flags with the shared env-flag parser by [@azmi2409](https://github.com/azmi2409) in[#1948](https://github.com/desplega-ai/agent-swarm/pull/1948)\n- fix(mcp): per-channel result budget, spill shape summary and kv-get views by [@desplega-bot](https://github.com/desplega-bot) in[#1949](https://github.com/desplega-ai/agent-swarm/pull/1949)\n- test: drop Anthropic credentials from the test env by [@tarasyarema](https://github.com/tarasyarema) in[#1954](https://github.com/desplega-ai/agent-swarm/pull/1954)\n- feat(acp): add a gemini ACP target that runs gemini --acp by [@desplega-bot](https://github.com/desplega-bot) in[#1956](https://github.com/desplega-ai/agent-swarm/pull/1956)\n- refactor(pages): add a guest principal for page sessions by [@oscar-izval](https://github.com/oscar-izval) in[#1955](https://github.com/desplega-ai/agent-swarm/pull/1955)\n- fix(credentials): honor pi and opencode presence-only credentials by [@ZedingZhang](https://github.com/ZedingZhang) in[#1960](https://github.com/desplega-ai/agent-swarm/pull/1960)\n- fix(memory): show outcome and date in injected memories, expire legacy auto-memories by [@desplega-bot](https://github.com/desplega-bot) in[#1963](https://github.com/desplega-ai/agent-swarm/pull/1963)\n- feat(providers): grok CLI harness (API key) by [@desplega-bot](https://github.com/desplega-bot) in[#1959](https://github.com/desplega-ai/agent-swarm/pull/1959)\n- fix: route user MCP tasks through the Lead by [@tarasyarema](https://github.com/tarasyarema) in[#1964](https://github.com/desplega-ai/agent-swarm/pull/1964)\n- release: v1.165.0 by [@desplega-bot](https://github.com/desplega-bot) in[#1961](https://github.com/desplega-ai/agent-swarm/pull/1961)\n\n## New Contributors\n\n- [@azmi2409](https://github.com/azmi2409) made their first contribution in[#1948](https://github.com/desplega-ai/agent-swarm/pull/1948)\n- [@ZedingZhang](https://github.com/ZedingZhang) made their first contribution in[#1960](https://github.com/desplega-ai/agent-swarm/pull/1960)\n\n**Full Changelog**: `v1.164.1...v1.165.0`\n\n## v1.164.1\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.164.1\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.164.1\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.164.1\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.164.1\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.164.1\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.164.1\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-164-1\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-164-1\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- chore(docker): bump claude-code, pi, amp (2026-10-06) by [@desplega-bot](https://github.com/desplega-bot) in[#1890](https://github.com/desplega-ai/agent-swarm/pull/1890)\n- docs(specs): sync TLA+ specs with main (heartbeat) by [@desplega-bot](https://github.com/desplega-bot) in[#1891](https://github.com/desplega-ai/agent-swarm/pull/1891)\n- chore(docker): bump claude-code, amp (2026-10-06) by [@desplega-bot](https://github.com/desplega-bot) in[#1893](https://github.com/desplega-ai/agent-swarm/pull/1893)\n- fix(telemetry): record skill.invoke for every harness by [@desplega-bot](https://github.com/desplega-bot) in[#1894](https://github.com/desplega-ai/agent-swarm/pull/1894)\n- docs: correct ACP bearer and harness default by [@desplega-bot](https://github.com/desplega-bot) in[#1895](https://github.com/desplega-ai/agent-swarm/pull/1895)\n- fix(acp): record the USD cost an ACP target reports by [@desplega-bot](https://github.com/desplega-bot) in[#1896](https://github.com/desplega-ai/agent-swarm/pull/1896)\n- fix(linear): put the session-opening comment in the task body by [@desplega-bot](https://github.com/desplega-bot) in[#1898](https://github.com/desplega-ai/agent-swarm/pull/1898)\n- fix(pi): accept GEMINI_API_KEY for Google models by [@Nagulanvelu](https://github.com/Nagulanvelu) in[#1892](https://github.com/desplega-ai/agent-swarm/pull/1892)\n- fix(codex): keep codex_oauth pool rows out of worker env by [@desplega-bot](https://github.com/desplega-bot) in[#1897](https://github.com/desplega-ai/agent-swarm/pull/1897)\n- fix(claude): seed workspace trust for every Claude session by [@fuvidani](https://github.com/fuvidani) in[#1899](https://github.com/desplega-ai/agent-swarm/pull/1899)\n- docs(research): local embedding model spike and eval harness support by [@tarasyarema](https://github.com/tarasyarema) in[#1900](https://github.com/desplega-ai/agent-swarm/pull/1900)\n- chore(docker): bump amp (2026-10-06) by [@desplega-bot](https://github.com/desplega-bot) in[#1901](https://github.com/desplega-ai/agent-swarm/pull/1901)\n- fix(codex-oauth): count the legacy codex_oauth row as pool slot 0 by [@desplega-bot](https://github.com/desplega-bot) in[#1902](https://github.com/desplega-ai/agent-swarm/pull/1902)\n- fix(tasks): keep worker output schemas off Lead follow-ups and Slack continuations by [@desplega-bot](https://github.com/desplega-bot) in[#1904](https://github.com/desplega-ai/agent-swarm/pull/1904)\n- chore(docker): bump claude-code, opencode, amp (2026-10-06) by [@desplega-bot](https://github.com/desplega-bot) in[#1905](https://github.com/desplega-ai/agent-swarm/pull/1905)\n- fix(scrubber): redact short and shell-escaped secrets in env dumps by [@desplega-bot](https://github.com/desplega-bot) in[#1907](https://github.com/desplega-ai/agent-swarm/pull/1907)\n- fix(tests): keep pre-push test git children out of the pushing repo by [@desplega-bot](https://github.com/desplega-bot) in[#1908](https://github.com/desplega-ai/agent-swarm/pull/1908)\n- ci: gitleaks in merge-gate and prek by [@desplega-bot](https://github.com/desplega-bot) in[#1910](https://github.com/desplega-ai/agent-swarm/pull/1910)\n- fix(http): scrub error response bodies by [@desplega-bot](https://github.com/desplega-bot) in[#1911](https://github.com/desplega-ai/agent-swarm/pull/1911)\n- fix(tasks): scrub completion memory, terminal events and cancel reason by [@desplega-bot](https://github.com/desplega-bot) in[#1912](https://github.com/desplega-ai/agent-swarm/pull/1912)\n- fix(telemetry): scrub business-use payloads and OTel attributes by [@desplega-bot](https://github.com/desplega-bot) in[#1914](https://github.com/desplega-ai/agent-swarm/pull/1914)\n- fix(devin): scrub adapter emit and raw log by [@desplega-bot](https://github.com/desplega-bot) in[#1913](https://github.com/desplega-ai/agent-swarm/pull/1913)\n- release: v1.164.1 + docs daily update 2026-10-07 by [@desplega-bot](https://github.com/desplega-bot) in[#1930](https://github.com/desplega-ai/agent-swarm/pull/1930)\n\n## New Contributors\n\n- [@Nagulanvelu](https://github.com/Nagulanvelu) made their first contribution in[#1892](https://github.com/desplega-ai/agent-swarm/pull/1892)\n\n**Full Changelog**: `v1.164.0...v1.164.1`\n\n## v1.164.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.164.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.164.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.164.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.164.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.164.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.164.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-164-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-164-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- docs: Release Notes — Week of September 28 to October 5, 2026 by [@desplega-bot](https://github.com/desplega-bot) in[#1867](https://github.com/desplega-ai/agent-swarm/pull/1867)\n- docs(workflows): state that bash script args[0] binds to $0 by [@desplega-bot](https://github.com/desplega-bot) in[#1870](https://github.com/desplega-ai/agent-swarm/pull/1870)\n- dreaming-v2 systemDefault skill seed patches (2026-10-05) by [@desplega-bot](https://github.com/desplega-bot) in[#1871](https://github.com/desplega-ai/agent-swarm/pull/1871)\n- fix(github): skip the lead task for approvals with nothing to act on by [@desplega-bot](https://github.com/desplega-bot) in[#1872](https://github.com/desplega-ai/agent-swarm/pull/1872)\n- docs(specs): sync TLA+ specs with main (heartbeat) by [@desplega-bot](https://github.com/desplega-bot) in[#1873](https://github.com/desplega-ai/agent-swarm/pull/1873)\n- chore(docker): bump pi (2026-10-05) by [@desplega-bot](https://github.com/desplega-bot) in[#1874](https://github.com/desplega-ai/agent-swarm/pull/1874)\n- feat(approvals): take the responder from the credential and enforce the approvers policy by [@desplega-bot](https://github.com/desplega-bot) in[#1854](https://github.com/desplega-ai/agent-swarm/pull/1854)\n- fix(gitlab): emit documented past-tense workflow event names by [@knownshah](https://github.com/knownshah) in[#1880](https://github.com/desplega-ai/agent-swarm/pull/1880)\n- feat(extensions): bridge approval, budget, email, Kapso and code-host events as post.* events by [@desplega-bot](https://github.com/desplega-bot) in[#1878](https://github.com/desplega-ai/agent-swarm/pull/1878)\n- fix(heartbeat): refresh a task's session liveness from session-log ingestion by [@desplega-bot](https://github.com/desplega-bot) in[#1879](https://github.com/desplega-ai/agent-swarm/pull/1879)\n- fix: use script endpoint for nightly coverage by [@desplega-bot](https://github.com/desplega-bot) in[#1884](https://github.com/desplega-ai/agent-swarm/pull/1884)\n- feat(providers): add a native cursor harness on @cursor/sdk by [@desplega-bot](https://github.com/desplega-bot) in[#1882](https://github.com/desplega-ai/agent-swarm/pull/1882)\n- fix(x402): reserve spending before payment creation so concurrent payments can't overshoot the daily limit by [@domondi1](https://github.com/domondi1) in[#1885](https://github.com/desplega-ai/agent-swarm/pull/1885)\n- feat(providers): add a native amp harness (Amp CLI, stream-json) by [@desplega-bot](https://github.com/desplega-bot) in[#1883](https://github.com/desplega-ai/agent-swarm/pull/1883)\n- fix(cursor): exclude cache writes from fresh input tokens by [@desplega-bot](https://github.com/desplega-bot) in[#1886](https://github.com/desplega-ai/agent-swarm/pull/1886)\n- fix(amp): deliver queued steering at the next tool result, fail unknown pins fast by [@desplega-bot](https://github.com/desplega-bot) in[#1887](https://github.com/desplega-ai/agent-swarm/pull/1887)\n- chore(docker): bump codex, cursor, amp (2026-10-05) by [@desplega-bot](https://github.com/desplega-bot) in[#1888](https://github.com/desplega-ai/agent-swarm/pull/1888)\n- feat(ui): task detail page overhaul (desktop + mobile) by [@tarasyarema](https://github.com/tarasyarema) in[#1881](https://github.com/desplega-ai/agent-swarm/pull/1881)\n- release: v1.164.0 + docs daily update 2026-10-06 by [@desplega-bot](https://github.com/desplega-bot) in[#1889](https://github.com/desplega-ai/agent-swarm/pull/1889)\n\n## New Contributors\n\n- [@knownshah](https://github.com/knownshah) made their first contribution in[#1880](https://github.com/desplega-ai/agent-swarm/pull/1880)\n- [@domondi1](https://github.com/domondi1) made their first contribution in[#1885](https://github.com/desplega-ai/agent-swarm/pull/1885)\n\n**Full Changelog**: `v1.163.0...v1.164.0`\n\n## v1.163.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.163.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.163.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.163.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.163.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.163.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.163.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-163-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-163-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- fix(rbac): require lead, operator or user for stdio MCP servers at agent scope by [@desplega-bot](https://github.com/desplega-bot) in[#1851](https://github.com/desplega-ai/agent-swarm/pull/1851)\n- fix(rbac): require lead, operator or user to change a repo's allowMerge by [@desplega-bot](https://github.com/desplega-bot) in[#1852](https://github.com/desplega-ai/agent-swarm/pull/1852)\n- fix(rbac): require lead, operator or user to attribute a task to another user by [@desplega-bot](https://github.com/desplega-bot) in[#1853](https://github.com/desplega-ai/agent-swarm/pull/1853)\n- fix(tests): isolate inherited Claude transport in adapter tests by [@desplega-bot](https://github.com/desplega-bot) in[#1858](https://github.com/desplega-ai/agent-swarm/pull/1858)\n- feat(memory): gate HTTP memory delete and narrow list for agent callers by [@desplega-bot](https://github.com/desplega-bot) in[#1855](https://github.com/desplega-ai/agent-swarm/pull/1855)\n- fix(memory): remove stale chunks when deleting keyed documents by [@desplega-bot](https://github.com/desplega-bot) in[#1857](https://github.com/desplega-ai/agent-swarm/pull/1857)\n- feat(ui): replace task status dots and spinners with the reference icon set by [@desplega-bot](https://github.com/desplega-bot) in[#1860](https://github.com/desplega-ai/agent-swarm/pull/1860)\n- fix(rbac): decide stdio and allowMerge updates inside the write transaction by [@desplega-bot](https://github.com/desplega-bot) in[#1859](https://github.com/desplega-ai/agent-swarm/pull/1859)\n- feat(ui): longterm key tree and whole-memory view on /memory by [@desplega-bot](https://github.com/desplega-bot) in[#1856](https://github.com/desplega-ai/agent-swarm/pull/1856)\n- fix(memory): resolve a key-only chunk lookup to one visible document by [@desplega-bot](https://github.com/desplega-bot) in[#1861](https://github.com/desplega-ai/agent-swarm/pull/1861)\n- docs: correct workflow example configs and routing by [@desplega-bot](https://github.com/desplega-bot) in[#1862](https://github.com/desplega-ai/agent-swarm/pull/1862)\n- docs: align SSO RBAC note, Sentry summary, and compose service table with code by [@desplega-bot](https://github.com/desplega-bot) in[#1863](https://github.com/desplega-ai/agent-swarm/pull/1863)\n- docs: add multi-agent orchestration patterns guide by [@desplega-bot](https://github.com/desplega-bot) in[#1864](https://github.com/desplega-ai/agent-swarm/pull/1864)\n- docs: add features section with a team collaboration page by [@desplega-bot](https://github.com/desplega-bot) in[#1865](https://github.com/desplega-ai/agent-swarm/pull/1865)\n- fix(ui): offer a reload instead of crashing when a deploy removes a lazy chunk by [@desplega-bot](https://github.com/desplega-bot) in[#1866](https://github.com/desplega-ai/agent-swarm/pull/1866)\n- release: v1.163.0 + docs daily update 2026-10-05 by [@desplega-bot](https://github.com/desplega-bot) in[#1869](https://github.com/desplega-ai/agent-swarm/pull/1869)\n\n**Full Changelog**: `v1.162.0...v1.163.0`\n\n## v1.162.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.162.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.162.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.162.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.162.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.162.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.162.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-162-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-162-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- docs(specs): sync TLA+ specs with main (heartbeat) by [@desplega-bot](https://github.com/desplega-bot) in[#1834](https://github.com/desplega-ai/agent-swarm/pull/1834)\n- fix(workflows): honor node.retry when an agent-task step's task fails by [@desplega-bot](https://github.com/desplega-bot) in[#1832](https://github.com/desplega-ai/agent-swarm/pull/1832)\n- chore(deps): bump agent-browser to 0.38.2 by [@desplega-bot](https://github.com/desplega-bot) in[#1835](https://github.com/desplega-ai/agent-swarm/pull/1835)\n- fix(pi): reprompt once when the final assistant turn is empty by [@desplega-bot](https://github.com/desplega-bot) in[#1831](https://github.com/desplega-ai/agent-swarm/pull/1831)\n- feat(claude-mod): swarm pane, delegate tool and live task logs for Claude Code by [@tarasyarema](https://github.com/tarasyarema) in[#1838](https://github.com/desplega-ai/agent-swarm/pull/1838)\n- fix(runner): recover fenced JSON output for schema-bound tasks by [@desplega-bot](https://github.com/desplega-bot) in[#1833](https://github.com/desplega-ai/agent-swarm/pull/1833)\n- fix(shutdown): drain the API on SIGTERM so workers hand off while it still serves by [@desplega-bot](https://github.com/desplega-bot) in[#1837](https://github.com/desplega-ai/agent-swarm/pull/1837)\n- feat(memory): Azure / Microsoft Foundry embeddings preset and Memory integration card by [@desplega-bot](https://github.com/desplega-bot) in[#1836](https://github.com/desplega-ai/agent-swarm/pull/1836)\n- feat(telemetry): schema_version 2 identity envelope against the proxy event catalog by [@desplega-bot](https://github.com/desplega-bot) in[#1780](https://github.com/desplega-ai/agent-swarm/pull/1780)\n- fix: allow Linear tracker holders to delegate by [@desplega-bot](https://github.com/desplega-bot) in[#1839](https://github.com/desplega-ai/agent-swarm/pull/1839)\n- chore(deps): bump agent-fs pins to 0.15.1 by [@desplega-bot](https://github.com/desplega-bot) in[#1840](https://github.com/desplega-ai/agent-swarm/pull/1840)\n- chore(docker): bump ACP sdk (2026-10-02) by [@desplega-bot](https://github.com/desplega-bot) in[#1841](https://github.com/desplega-ai/agent-swarm/pull/1841)\n- feat(comb): agent-fs review space in the dashboard, off by default by [@tarasyarema](https://github.com/tarasyarema) in[#1728](https://github.com/desplega-ai/agent-swarm/pull/1728)\n- fix(ci): build and deploy only the newest main commit, post deploys to Slack by [@desplega-bot](https://github.com/desplega-bot) in[#1842](https://github.com/desplega-ai/agent-swarm/pull/1842)\n- docs(specs): sync TLA+ specs with main (heartbeat, workflows) by [@desplega-bot](https://github.com/desplega-bot) in[#1848](https://github.com/desplega-ai/agent-swarm/pull/1848)\n- chore(docker): bump claude-code, pi, dsh (2026-10-04) by [@desplega-bot](https://github.com/desplega-bot) in[#1843](https://github.com/desplega-ai/agent-swarm/pull/1843)\n- fix: point X links at @agent__swarm after account rename by [@desplega-bot](https://github.com/desplega-bot) in[#1844](https://github.com/desplega-ai/agent-swarm/pull/1844)\n- docs(readme): open with the Agent Swarm entity sentence by [@desplega-bot](https://github.com/desplega-bot) in[#1845](https://github.com/desplega-ai/agent-swarm/pull/1845)\n- release: v1.162.0 + docs daily update 2026-10-03 by [@desplega-bot](https://github.com/desplega-bot) in[#1846](https://github.com/desplega-ai/agent-swarm/pull/1846)\n- fix(github): keep internal identifiers out of bot PR bodies on public repos by [@desplega-bot](https://github.com/desplega-bot) in[#1847](https://github.com/desplega-ai/agent-swarm/pull/1847)\n\n**Full Changelog**: `v1.161.0...v1.162.0`\n\n## v1.161.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.161.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.161.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.161.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.161.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.161.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.161.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-161-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-161-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- fix(claude-managed): migrate to @anthropic-ai/sdk ^0.131.0 by [@desplega-bot](https://github.com/desplega-bot) in[#1805](https://github.com/desplega-ai/agent-swarm/pull/1805)\n- fix(memory): pin the memory rater model and record it per rating by [@desplega-bot](https://github.com/desplega-bot) in[#1806](https://github.com/desplega-ai/agent-swarm/pull/1806)\n- docs(playbooks): add open-prompt showreel videos playbook by [@desplega-bot](https://github.com/desplega-bot) in[#1809](https://github.com/desplega-ai/agent-swarm/pull/1809)\n- fix(claude): send the task body once in the first message by [@desplega-bot](https://github.com/desplega-bot) in[#1815](https://github.com/desplega-ai/agent-swarm/pull/1815)\n- fix(memory): accept a blank referencesSource instead of rejecting the whole summary by [@desplega-bot](https://github.com/desplega-bot) in[#1807](https://github.com/desplega-ai/agent-swarm/pull/1807)\n- fix(dsh): MCP, failure path, sandbox, cost/context, effort, and runtime editing by [@desplega-bot](https://github.com/desplega-bot) in[#1810](https://github.com/desplega-ai/agent-swarm/pull/1810)\n- chore(docker): bump ACP (2026-10-01) by [@desplega-bot](https://github.com/desplega-bot) in[#1811](https://github.com/desplega-ai/agent-swarm/pull/1811)\n- fix(github): react 👀 on pings via GITHUB_TOKEN when no GitHub App is installed by [@desplega-bot](https://github.com/desplega-bot) in[#1813](https://github.com/desplega-ai/agent-swarm/pull/1813)\n- feat(db-retention): count-based retention for context_versions by [@desplega-bot](https://github.com/desplega-bot) in[#1808](https://github.com/desplega-ai/agent-swarm/pull/1808)\n- feat(integrations): add minimal Azure DevOps integration (Azure Repos + PR service hooks) by [@desplega-bot](https://github.com/desplega-bot) in[#1812](https://github.com/desplega-ai/agent-swarm/pull/1812)\n- feat(e2e): collapse Slack rendering preview comment into one dropdown by [@desplega-bot](https://github.com/desplega-bot) in[#1817](https://github.com/desplega-ai/agent-swarm/pull/1817)\n- fix(dsh): readable progress, one usage normalization, no phantom cost drift by [@desplega-bot](https://github.com/desplega-bot) in[#1818](https://github.com/desplega-ai/agent-swarm/pull/1818)\n- feat(memory): logical paths under /longterm via key, newKey, keyPrefix and path weight by [@desplega-bot](https://github.com/desplega-bot) in[#1814](https://github.com/desplega-ai/agent-swarm/pull/1814)\n- feat(claude): accept gateway, Foundry, Bedrock and Vertex routes by [@desplega-bot](https://github.com/desplega-bot) in[#1816](https://github.com/desplega-ai/agent-swarm/pull/1816)\n- fix(runner): free a worker slot when the provider session never settles by [@desplega-bot](https://github.com/desplega-bot) in[#1820](https://github.com/desplega-ai/agent-swarm/pull/1820)\n- fix(runner): report pi CLI versions and clear stale harness versions by [@desplega-bot](https://github.com/desplega-bot) in[#1821](https://github.com/desplega-ai/agent-swarm/pull/1821)\n- fix(mcp): answer unknown MCP session ids with 404 so clients reconnect by [@tarasyarema](https://github.com/tarasyarema) in[#1822](https://github.com/desplega-ai/agent-swarm/pull/1822)\n- fix(azure-devops): ack payloads missing resource fields instead of 500 by [@desplega-bot](https://github.com/desplega-bot) in[#1823](https://github.com/desplega-ai/agent-swarm/pull/1823)\n- feat(pi): PI_CODEMODE_MODELS flag and pi 1.0 power-use pilot by [@desplega-bot](https://github.com/desplega-bot) in[#1824](https://github.com/desplega-ai/agent-swarm/pull/1824)\n- feat(extensions): add deploy-awareness catalog extension by [@desplega-bot](https://github.com/desplega-bot) in[#1826](https://github.com/desplega-ai/agent-swarm/pull/1826)\n- chore(docker): bump claude-code, pi, codex (2026-10-01) by [@desplega-bot](https://github.com/desplega-bot) in[#1825](https://github.com/desplega-ai/agent-swarm/pull/1825)\n- feat(extensions): opt-in inline install for leads and operators by [@desplega-bot](https://github.com/desplega-bot) in[#1828](https://github.com/desplega-ai/agent-swarm/pull/1828)\n- release: v1.161.0 + docs daily update 2026-10-02 by [@desplega-bot](https://github.com/desplega-bot) in[#1830](https://github.com/desplega-ai/agent-swarm/pull/1830)\n\n**Full Changelog**: `v1.160.0...v1.161.0`\n\n## v1.160.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.160.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.160.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.160.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.160.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.160.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.160.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-160-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-160-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- docs(specs): sync TLA+ specs with main (heartbeat, workflows) by [@desplega-bot](https://github.com/desplega-bot) in[#1738](https://github.com/desplega-ai/agent-swarm/pull/1738)\n- fix(seed): treat source-identical live copy as in sync before pristine check by [@desplega-bot](https://github.com/desplega-bot) in[#1734](https://github.com/desplega-ai/agent-swarm/pull/1734)\n- chore(docker): bump codex (2026-09-30) by [@desplega-bot](https://github.com/desplega-bot) in[#1735](https://github.com/desplega-ai/agent-swarm/pull/1735)\n- fix(seed-scripts): project failure reasons for every task-failure-audit groupBy by [@desplega-bot](https://github.com/desplega-bot) in[#1736](https://github.com/desplega-ai/agent-swarm/pull/1736)\n- fix(store-progress): refuse writes to another agent's task by [@desplega-bot](https://github.com/desplega-bot) in[#1737](https://github.com/desplega-ai/agent-swarm/pull/1737)\n- fix(prompts): gate tool-search guidance by harness capability by [@desplega-bot](https://github.com/desplega-bot) in[#1727](https://github.com/desplega-ai/agent-swarm/pull/1727)\n- docs(model-catalog): verify task returns overlayProposals, one refresh covers both vendors by [@desplega-bot](https://github.com/desplega-bot) in[#1733](https://github.com/desplega-ai/agent-swarm/pull/1733)\n- feat(evals): suite v1 freeze, grader validation, attempt hygiene (Phase 3) by [@desplega-bot](https://github.com/desplega-bot) in[#1741](https://github.com/desplega-ai/agent-swarm/pull/1741)\n- feat(evals): fan-out and worker-recovery swarm scenarios with solo baselines (Phase 7) by [@desplega-bot](https://github.com/desplega-bot) in[#1745](https://github.com/desplega-ai/agent-swarm/pull/1745)\n- fix(ci): wait for late Dokploy deployment records and retrigger when none appears by [@desplega-bot](https://github.com/desplega-bot) in[#1742](https://github.com/desplega-ai/agent-swarm/pull/1742)\n- fix(memory): recall task content instead of worker wrappers by [@desplega-bot](https://github.com/desplega-bot) in[#1740](https://github.com/desplega-ai/agent-swarm/pull/1740)\n- fix(ui): resolve dashboard UI audit action items by [@desplega-bot](https://github.com/desplega-bot) in[#1743](https://github.com/desplega-ai/agent-swarm/pull/1743)\n- chore(deps): bump agent-fs to 0.15.0 by [@tarasyarema](https://github.com/tarasyarema) in[#1748](https://github.com/desplega-ai/agent-swarm/pull/1748)\n- feat(evals): analytics API for picking the best setup (Phase 4) by [@desplega-bot](https://github.com/desplega-bot) in[#1744](https://github.com/desplega-ai/agent-swarm/pull/1744)\n- fix(opencode): send X-Source-Task-Id and X-Context-Key on the swarm MCP entry by [@desplega-bot](https://github.com/desplega-bot) in[#1749](https://github.com/desplega-ai/agent-swarm/pull/1749)\n- docs(workflows): how to use system-one-decision with provider laya by [@desplega-bot](https://github.com/desplega-bot) in[#1750](https://github.com/desplega-ai/agent-swarm/pull/1750)\n- feat(opencode): validate the final assistant message against outputSchema by [@desplega-bot](https://github.com/desplega-bot) in[#1753](https://github.com/desplega-ai/agent-swarm/pull/1753)\n- ci(ui-e2e): time out and retry stuck artifact uploads by [@tarasyarema](https://github.com/tarasyarema) in[#1754](https://github.com/desplega-ai/agent-swarm/pull/1754)\n- feat(pi): defer non-core swarm tools behind tool_search and pass structuredContent by [@desplega-bot](https://github.com/desplega-bot) in[#1729](https://github.com/desplega-ai/agent-swarm/pull/1729)\n- feat(pi): connect installed MCP servers through pi's MCP extension by [@desplega-bot](https://github.com/desplega-bot) in[#1730](https://github.com/desplega-ai/agent-swarm/pull/1730)\n- feat(evals): Leaderboard home with Pareto frontier and ranking table (Phase 5) by [@desplega-bot](https://github.com/desplega-bot) in[#1755](https://github.com/desplega-ai/agent-swarm/pull/1755)\n- docs: add dashboard design reference by [@desplega-bot](https://github.com/desplega-bot) in[#1757](https://github.com/desplega-ai/agent-swarm/pull/1757)\n- feat(evals): Scenario cards, heatmap, reliability and run outcome (Phase 6) by [@desplega-bot](https://github.com/desplega-bot) in[#1759](https://github.com/desplega-ai/agent-swarm/pull/1759)\n- feat(workflows): add standard-webhooks verification mode for webhook triggers by [@desplega-bot](https://github.com/desplega-bot) in[#1760](https://github.com/desplega-ai/agent-swarm/pull/1760)\n- feat(pi): opt-in codemode behind PI_CODEMODE by [@desplega-bot](https://github.com/desplega-bot) in[#1731](https://github.com/desplega-ai/agent-swarm/pull/1731)\n- feat(evals): Phase 8 swarm scenarios — implement-review, capability-routing, human-in-loop by [@desplega-bot](https://github.com/desplega-bot) in[#1756](https://github.com/desplega-ai/agent-swarm/pull/1756)\n- feat(evals): publishable benchmark v1.0 page and refusal-gated publish (Phase 10) by [@desplega-bot](https://github.com/desplega-bot) in[#1761](https://github.com/desplega-ai/agent-swarm/pull/1761)\n- fix(telemetry): honor the opt-out in dashboard events and correct telemetry docs by [@desplega-bot](https://github.com/desplega-bot) in[#1773](https://github.com/desplega-ai/agent-swarm/pull/1773)\n- feat(evals): run codex on the ChatGPT subscription, add gpt-6.1-sol and gpt-5.6, schedule public cells first by [@desplega-bot](https://github.com/desplega-bot) in[#1772](https://github.com/desplega-ai/agent-swarm/pull/1772)\n- feat(model): reject a task model that the assignee harness cannot run by [@fuvidani](https://github.com/fuvidani) in[#1764](https://github.com/desplega-ai/agent-swarm/pull/1764)\n- fix(pi): run codemode in the compiled binary and unset deleted reloadable config by [@desplega-bot](https://github.com/desplega-bot) in[#1767](https://github.com/desplega-ai/agent-swarm/pull/1767)\n- feat(slack): native working status for the whole life of an ask by [@desplega-bot](https://github.com/desplega-bot) in[#1770](https://github.com/desplega-ai/agent-swarm/pull/1770)\n- feat(evals-ui): way back from /benchmark and an always-on Pareto line by [@desplega-bot](https://github.com/desplega-bot) in[#1771](https://github.com/desplega-ai/agent-swarm/pull/1771)\n- fix(evals): copy the codex OAuth helpers into the evals image by [@desplega-bot](https://github.com/desplega-bot) in[#1778](https://github.com/desplega-ai/agent-swarm/pull/1778)\n- fix(ui): resolve swarm UI audit v2 findings by [@desplega-bot](https://github.com/desplega-bot) in[#1774](https://github.com/desplega-ai/agent-swarm/pull/1774)\n- fix(docs-site): fix the docs UI audit findings by [@desplega-bot](https://github.com/desplega-bot) in[#1776](https://github.com/desplega-ai/agent-swarm/pull/1776)\n- chore(test): raise the db.ts line cap to 14400 until a frozen-body rule lands by [@desplega-bot](https://github.com/desplega-bot) in[#1783](https://github.com/desplega-ai/agent-swarm/pull/1783)\n- fix(credentials): bench a Codex pool login after 2 auth failures in a row by [@fuvidani](https://github.com/fuvidani) in[#1763](https://github.com/desplega-ai/agent-swarm/pull/1763)\n- fix(boot): linear memory_fts backfill and retried worker registration by [@desplega-bot](https://github.com/desplega-bot) in[#1791](https://github.com/desplega-ai/agent-swarm/pull/1791)\n- chore(test): freeze db.ts top-level bodies instead of capping its line count by [@desplega-bot](https://github.com/desplega-bot) in[#1784](https://github.com/desplega-ai/agent-swarm/pull/1784)\n- fix(credentials): seat-aware Claude OAuth key selection for Fable by [@fuvidani](https://github.com/fuvidani) in[#1765](https://github.com/desplega-ai/agent-swarm/pull/1765)\n- docs(specs): sync TLA+ specs with main (heartbeat) by [@desplega-bot](https://github.com/desplega-bot) in[#1798](https://github.com/desplega-ai/agent-swarm/pull/1798)\n- chore(docker): bump claude-code, pi, codex, opencode (2026-10-01) by [@desplega-bot](https://github.com/desplega-bot) in[#1792](https://github.com/desplega-ai/agent-swarm/pull/1792)\n- fix(ci): stop the pi version probe from wedging test workers by [@desplega-bot](https://github.com/desplega-bot) in[#1795](https://github.com/desplega-ai/agent-swarm/pull/1795)\n- docs: correct Codex plugin installation command by [@desplega-bot](https://github.com/desplega-bot) in[#1790](https://github.com/desplega-ai/agent-swarm/pull/1790)\n- feat(evals): add real-diff-agent-fs scenario (a real merged fix, pushed and graded by hidden tests) by [@desplega-bot](https://github.com/desplega-bot) in[#1796](https://github.com/desplega-ai/agent-swarm/pull/1796)\n- chore(deps): bump vulnerable docs-site dependencies (Dependabot alerts) by [@desplega-bot](https://github.com/desplega-bot) in[#1799](https://github.com/desplega-ai/agent-swarm/pull/1799)\n- chore(deps): bump vulnerable apps/templates-ui dependencies (Dependabot alerts) by [@desplega-bot](https://github.com/desplega-bot) in[#1802](https://github.com/desplega-ai/agent-swarm/pull/1802)\n- chore(deps): bump agent-fs image to 0.15.0 by [@desplega-bot](https://github.com/desplega-bot) in[#1803](https://github.com/desplega-ai/agent-swarm/pull/1803)\n- release: v1.160.0 + docs daily update 2026-10-01 by [@desplega-bot](https://github.com/desplega-bot) in[#1797](https://github.com/desplega-ai/agent-swarm/pull/1797)\n- chore(docker): bump dsh, ACP (2026-10-01) by [@desplega-bot](https://github.com/desplega-bot) in[#1804](https://github.com/desplega-ai/agent-swarm/pull/1804)\n\n**Full Changelog**: `v1.159.0...v1.160.0`\n\n## v1.159.0\n\n## Install & Run\n\n**npm:**\n\n```\nnpx @desplega.ai/agent-swarm@1.159.0\n# or install globally\nnpm i -g @desplega.ai/agent-swarm@1.159.0\n```\n\n**bun:**\n\n```\nbunx @desplega.ai/agent-swarm@1.159.0\n# or install globally\nbun i -g @desplega.ai/agent-swarm@1.159.0\n```\n\n**Docker:**\n\n```\n# Server\ndocker pull ghcr.io/desplega-ai/agent-swarm:1.159.0\n# Worker\ndocker pull ghcr.io/desplega-ai/agent-swarm-worker:1.159.0\n```\n\n**E2B templates:**\n\n```\n# API\nagent-swarm-api-1-159-0\nagent-swarm-api-latest\n\n# Worker / lead runtime\nagent-swarm-worker-1-159-0\nagent-swarm-worker-latest\n```\n\n## What's Changed\n\n- ci: require migration conflict check in Merge Gate by [@desplega-bot](https://github.com/desplega-bot) in[#1709](https://github.com/desplega-ai/agent-swarm/pull/1709)\n- perf(stats): count agent statuses in SQL by [@desplega-bot](https://github.com/desplega-bot) in[#1716](https://github.com/desplega-ai/agent-swarm/pull/1716)\n- fix(tasks): re-point dependents of a superseded task to its resume by [@desplega-bot](https://github.com/desplega-bot) in[#1713](https://github.com/desplega-ai/agent-swarm/pull/1713)\n- fix(heartbeat): stop pointing fresh installs at unseeded scripts by [@desplega-bot](https://github.com/desplega-bot) in[#1714](https://github.com/desplega-ai/agent-swarm/pull/1714)\n- fix(heartbeat): parse HEARTBEAT_CHECKLIST_DISABLE as a flag and honor interval 0 by [@desplega-bot](https://github.com/desplega-bot) in[#1711](https://github.com/desplega-ai/agent-swarm/pull/1711)\n- fix(slack): render each human message once in follow-up task prompts by [@desplega-bot](https://github.com/desplega-bot) in[#1712](https://github.com/desplega-ai/agent-swarm/pull/1712)\n- docs: clarify external agent-fs links by [@desplega-bot](https://github.com/desplega-bot) in[#1705](https://github.com/desplega-ai/agent-swarm/pull/1705)\n- fix(usage): read a stored human-free flag and stop busting the usage cache per task by [@desplega-bot](https://github.com/desplega-bot) in[#1698](https://github.com/desplega-ai/agent-swarm/pull/1698)\n- feat(workflows): add native system-one-decision node with key preflight, OpenRouter provider and confidence-band human review by [@desplega-bot](https://github.com/desplega-bot) in[#1715](https://github.com/desplega-ai/agent-swarm/pull/1715)\n- ci: apply the 5 GitHub Actions audit fixes by [@desplega-bot](https://github.com/desplega-bot) in[#1717](https://github.com/desplega-ai/agent-swarm/pull/1717)\n- fix(seed-scripts): hydrate failure reasons in task audit by [@desplega-bot](https://github.com/desplega-bot) in[#1718](https://github.com/desplega-ai/agent-swarm/pull/1718)\n- feat(codex): bump Codex CLI to 0.159.0 and add GPT-6.1 Sol by [@desplega-bot](https://github.com/desplega-bot) in[#1719](https://github.com/desplega-ai/agent-swarm/pull/1719)\n- fix(codex): prevent connector writes as worker OAuth owner by [@desplega-bot](https://github.com/desplega-bot) in[#1720](https://github.com/desplega-ai/agent-swarm/pull/1720)\n- fix(cli): run onboarding with Bun from the Node entrypoint by [@tarasyarema](https://github.com/tarasyarema) in[#1722](https://github.com/desplega-ai/agent-swarm/pull/1722)\n- fix(registry): configure human MCP remote with user tokens by [@desplega-bot](https://github.com/desplega-bot) in[#1723](https://github.com/desplega-ai/agent-swarm/pull/1723)\n- chore(docker): bump claude-code, pi, codex, opencode (2026-09-29) by [@desplega-bot](https://github.com/desplega-bot) in[#1724](https://github.com/desplega-ai/agent-swarm/pull/1724)\n- feat(model-catalog): live model catalog, claim-time tier resolution and catalog-driven model lists by [@desplega-bot](https://github.com/desplega-bot) in[#1691](https://github.com/desplega-ai/agent-swarm/pull/1691)\n- feat(evals): reasoning effort per harness and model by [@desplega-bot](https://github.com/desplega-bot) in[#1710](https://github.com/desplega-ai/agent-swarm/pull/1710)\n- feat(ui): add dev mode for version gates by [@tarasyarema](https://github.com/tarasyarema) in[#1726](https://github.com/desplega-ai/agent-swarm/pull/1726)\n- release: v1.159.0 + docs daily update 2026-09-30 by [@desplega-bot](https://github.com/desplega-bot) in[#1732](https://github.com/desplega-ai/agent-swarm/pull/1732)\n\n**Full Changelog**: `v1.158.0...v1.159.0`", "url": "https://wpnews.pro/news/agent-swarm-oss-multiplayer-ai-for-your-company", "canonical_source": "https://github.com/desplega-ai/agent-swarm/releases", "published_at": "2026-10-09 15:11:36+00:00", "updated_at": "2026-10-09 15:24:58.273628+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "artificial-intelligence"], "entities": ["Desplega AI", "Agent Swarm", "npm", "GitHub Container Registry", "E2B", "Codex", "OpenRouter", "Bun"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/agent-swarm-oss-multiplayer-ai-for-your-company", "markdown": "https://wpnews.pro/news/agent-swarm-oss-multiplayer-ai-for-your-company.md", "text": "https://wpnews.pro/news/agent-swarm-oss-multiplayer-ai-for-your-company.txt", "jsonld": "https://wpnews.pro/news/agent-swarm-oss-multiplayer-ai-for-your-company.jsonld"}}