# Agent Swarm: OSS multiplayer AI for your company

> Source: <https://github.com/desplega-ai/agent-swarm/releases>
> Published: 2026-10-09 15:11:36+00:00

## Repository navigation

# Releases: desplega-ai/agent-swarm

## Release list

## v1.167.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.167.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.167.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.167.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.167.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.167.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.167.0
# Dashboard
docker pull ghcr.io/desplega-ai/agent-swarm-ui:1.167.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-167-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-167-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

**Full Changelog**: `v1.166.0...v1.167.0`

## v1.166.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.166.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.166.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.166.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.166.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.166.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.166.0
# Dashboard
docker pull ghcr.io/desplega-ai/agent-swarm-ui:1.166.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-166-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-166-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- feat(scripts): opt-in quickjs script executor by [@tarasyarema](https://github.com/tarasyarema) in[#1951](https://github.com/desplega-ai/agent-swarm/pull/1951)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

## New Contributors

**Full Changelog**: `v1.165.0...v1.166.0`

## v1.165.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.165.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.165.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.165.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.165.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.165.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.165.0
# Dashboard
docker pull ghcr.io/desplega-ai/agent-swarm-ui:1.165.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-165-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-165-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- release: v1.165.0 by [@desplega-bot](https://github.com/desplega-bot) in[#1961](https://github.com/desplega-ai/agent-swarm/pull/1961)

## New Contributors

- [@azmi2409](https://github.com/azmi2409) made their first contribution in[#1948](https://github.com/desplega-ai/agent-swarm/pull/1948)
- [@ZedingZhang](https://github.com/ZedingZhang) made their first contribution in[#1960](https://github.com/desplega-ai/agent-swarm/pull/1960)

**Full Changelog**: `v1.164.1...v1.165.0`

## v1.164.1

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.164.1
# or install globally
npm i -g @desplega.ai/agent-swarm@1.164.1
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.164.1
# or install globally
bun i -g @desplega.ai/agent-swarm@1.164.1
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.164.1
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.164.1
```

**E2B templates:**

```
# API
agent-swarm-api-1-164-1
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-164-1
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

## New Contributors

- [@Nagulanvelu](https://github.com/Nagulanvelu) made their first contribution in[#1892](https://github.com/desplega-ai/agent-swarm/pull/1892)

**Full Changelog**: `v1.164.0...v1.164.1`

## v1.164.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.164.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.164.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.164.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.164.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.164.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.164.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-164-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-164-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

## New Contributors

- [@knownshah](https://github.com/knownshah) made their first contribution in[#1880](https://github.com/desplega-ai/agent-swarm/pull/1880)
- [@domondi1](https://github.com/domondi1) made their first contribution in[#1885](https://github.com/desplega-ai/agent-swarm/pull/1885)

**Full Changelog**: `v1.163.0...v1.164.0`

## v1.163.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.163.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.163.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.163.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.163.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.163.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.163.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-163-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-163-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

**Full Changelog**: `v1.162.0...v1.163.0`

## v1.162.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.162.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.162.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.162.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.162.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.162.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.162.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-162-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-162-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

**Full Changelog**: `v1.161.0...v1.162.0`

## v1.161.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.161.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.161.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.161.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.161.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.161.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.161.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-161-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-161-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

**Full Changelog**: `v1.160.0...v1.161.0`

## v1.160.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.160.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.160.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.160.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.160.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.160.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.160.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-160-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-160-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- docs: add dashboard design reference by [@desplega-bot](https://github.com/desplega-bot) in[#1757](https://github.com/desplega-ai/agent-swarm/pull/1757)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

**Full Changelog**: `v1.159.0...v1.160.0`

## v1.159.0

## Install & Run

**npm:**

```
npx @desplega.ai/agent-swarm@1.159.0
# or install globally
npm i -g @desplega.ai/agent-swarm@1.159.0
```

**bun:**

```
bunx @desplega.ai/agent-swarm@1.159.0
# or install globally
bun i -g @desplega.ai/agent-swarm@1.159.0
```

**Docker:**

```
# Server
docker pull ghcr.io/desplega-ai/agent-swarm:1.159.0
# Worker
docker pull ghcr.io/desplega-ai/agent-swarm-worker:1.159.0
```

**E2B templates:**

```
# API
agent-swarm-api-1-159-0
agent-swarm-api-latest

# Worker / lead runtime
agent-swarm-worker-1-159-0
agent-swarm-worker-latest
```

## What's Changed

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)

**Full Changelog**: `v1.158.0...v1.159.0`
