Skip to content

Releases: openclaw/acpx

acpx 0.11.0

17 Jun 08:44

Choose a tag to compare

v0.11.0

Changes

  • Agents/built-ins: bump the default Claude ACP adapter range to @agentclientprotocol/claude-agent-acp@^0.37.0. Thanks @trumpyla.
  • Runtime/embedding: surface cost, token usage breakdowns, and advertised command metadata on runtime status/events. Thanks @DaniAkash.
  • Agents/built-ins: add fast-agent as a built-in fast-agent ACP adapter via uvx fast-agent-mcp acp.
  • Agents/built-ins: add mux as a built-in coder/mux ACP adapter via npx -y mux@^0.27.0 acp. Thanks @ThomasK33.
  • CLI: add acpx compare to run one prompt across multiple agents and summarize timing, token usage, stop reason, permissions, and final output side by side. Thanks @mvanhorn.

Fixes

  • CLI/Claude: isolate built-in Claude ACP sessions from user settings by default so globally enabled channel and daemon plugins cannot interfere with a spawned session. Set ACPX_CLAUDE_INCLUDE_USER_SETTINGS=1 to restore user settings deliberately. Fixes #361.
  • ACP/models: support SDK 0.25 model config options while preserving session/set_model compatibility for adapters that explicitly advertise legacy model metadata.
  • CLI/Claude: let Claude Code adjudicate model selectors missing from a stale advertised model list on later persistent turns, and preserve the adapter-reported current model after model switches. Thanks @oakif.
  • Client/ACP: advertise scoped Devin/Windsurf-compatible client metadata and handle Devin extension requests/notifications without noisy method-not-found logs. Thanks @LivioGama.
  • Runtime/sessions: treat corrupt public file-session records as missing while preserving genuine filesystem errors. Thanks @KrasimirKralev.

Verification

2026.5.23 (v0.10.0)

17 Jun 08:24
v0.10.0
aa61f9e

Choose a tag to compare

Changes

  • CLI/sessions: add sessions export and sessions import for moving portable session archives between machines. Thanks @mvanhorn.

Release Proof

2026.5.22 (v0.9.0)

22 May 15:31
v0.9.0
00e4c94

Choose a tag to compare

2026.5.22 (v0.9.0)

Changes

  • Tooling: add Slophammer TypeScript quality gates for coverage, complexity,
    unsafe types, mutation testing, DRY checks, and dependency boundaries.
  • Agents/built-ins: switch the default Codex adapter to @agentclientprotocol/codex-acp, with Codex model selection handled through advertised ACP model ids, and bump the default Claude ACP adapter range.
  • Tooling: add a repo-local autoreview skill and helper for Codex-first
    closeout review with acpx checks in parallel.

Breaking

Fixes

  • CLI: treat --version after -- as prompt text instead of intercepting it as a top-level version request.
  • CLI: keep custom raw agent commands routed correctly when global flags such as --system-prompt, --append-system-prompt, --prompt-retries, or --no-terminal appear before the agent name. Thanks @amknight.
  • CLI/API: avoid installing CLI-only process handlers when the package entrypoint is imported as a module.
  • CLI/sessions: use agent-side ACP session/list when available, including
    cursor pagination, cwd filtering, and agent-native session metadata. Thanks
    @amknight.
  • Sessions/reconnect: use ACP session/resume when adapters advertise it, so resume-only agents can reuse saved sessions without requiring session/load. Thanks @amknight.
  • CLI/ACP: validate rich prompt blocks against advertised ACP
    promptCapabilities and support audio prompt content end-to-end. Thanks
    @amknight.
  • CLI/status: hide stale cached session PIDs when no live helper process exists. Thanks @dutifulbob.

Verification

2026.5.15 (v0.8.0)

15 May 15:52
v0.8.0
994fc6c

Choose a tag to compare

2026.5.15 (v0.8.0)

npm: https://www.npmjs.com/package/acpx/v/0.8.0
registry tarball: https://registry.npmjs.org/acpx/-/acpx-0.8.0.tgz
integrity: sha512-mI8ma3sDz8QfI2c40iiOAQ3iklpdv0XB7YFieOIcZZWw8dBTGsbFn4qqgbKQjDBX8S/yIWiKvmqi5j/L8c2kUQ==
published: 2026-05-15T15:51:32.704Z
release CI: https://github.com/openclaw/acpx/actions/runs/25927300574
commit: 994fc6c

Changelog

Changes

  • Runtime/embedding: add an optional onPermissionRequest callback to AcpRuntimeOptions and AcpClientOptions so embedders can intercept ACP per-call permission requests with their own UI. Returning a decision short-circuits the mode-based resolver; returning undefined falls through to it, leaving CLI behavior unchanged. Thanks @DaniAkash.
  • Runtime/embedding: AcpRuntime.ensureSession now accepts sessionOptions (systemPrompt, model, allowedTools, maxTurns) for fresh sessions, threading the values into _meta.systemPrompt (and _meta.claudeCode.options.*) on the underlying session/new request and persisting them onto the new record. Reusing an existing persistent record continues to ignore sessionOptions since system prompts are fixed at newSession time. SessionAgentOptions and SystemPromptOption are now re-exported from acpx/runtime. Thanks @DaniAkash.
  • Runtime/embedding: surface advertised models on AcpRuntimeStatus.models so embedders can build model pickers without reaching into private session records. Thanks @DaniAkash.
  • CLI/permissions: add --permission-policy/--policy for per-tool ACP permission rules with autoApprove, autoDeny, escalate, and defaultAction; non-interactive escalations now surface structured tool name/input metadata for orchestrators.

Breaking

Fixes

  • Runtime/embedding: preserve structured ACP tool_call_update details on public runtime events, including content, output, locations, kind, and raw payload fields, so embedders can display live tool progress. (#306) Thanks @joeia26.
  • CLI/sessions: checkpoint live assistant and tool updates while prompt turns are still running, so sessions read and sessions history can show in-flight progress instead of only the submitted prompt. (#314) Thanks @AndroidPoet.
  • Flows: keep external TypeScript flow modules that import acpx/flows compatible with current tsx loader behavior.
  • Terminal: run no-argument terminal/create command lines so agents that send an unsplit command do not fail with ENOENT. Thanks @xdjyxu.
  • CLI/config: accept command-local --format on config show and config init.
  • CLI/sessions: accept the documented -s shorthand on sessions new and sessions ensure.
  • Replay viewer: add help output for pnpm viewer --help without starting a server.
  • Replay viewer: make pnpm viewer status and pnpm viewer stop dispatch to the requested command instead of always prepending start.
  • Package: keep npm pack --json output parseable by running the prepack build quietly.
  • CLI/output: exit cleanly on broken pipes so common pipelines such as acpx ... | grep -q ... do not crash with an unhandled EPIPE.
  • Tooling: document the current Node.js 22.13+ and pnpm 10.33.2 floor.
  • Tooling/docs: document npm-based pnpm bootstrap for clean Node 22.13 setups with stale Corepack signing keys.
  • Docs/auth: document the supported authPolicy values and ACP credential selection behavior.
  • Docs/skills: make the quick setup skill-install command noninteractive and route unsupported harnesses to the reference URL.
  • CLI/queue: honor per-request --prompt-retries when sending a prompt to an already-warm persistent queue owner.
  • Runtime/embedding: reject unsupported advertised config option keys before forwarding them to adapters, and map generic thinking controls to advertised effort options when available. (#293)

acpx 0.6.0

25 Apr 09:57
0cc6eba

Choose a tag to compare

Changes

  • CLI/claude: add --system-prompt <text> and --append-system-prompt <text> global flags that forward through ACP _meta.systemPrompt on session/new, letting callers replace or append to the Claude Code system prompt without dropping out of persistent acpx sessions. The value is persisted in session_options.system_prompt so ensure/reuse flows keep the override. Codex and other agents ignore the field. (#229) Thanks @Vercantez.
  • CLI/sessions: add sessions prune with --dry-run, age filters, and --include-history so closed session records and optional event streams can be cleaned up explicitly. (#227) Thanks @coder999999999.
  • Runtime/embedding: add startTurn(...) turn handles so embedders can observe live runtime events separately from terminal completion, cancel a turn, or close only the event stream while preserving runTurn(...) compatibility. (#262) Thanks @enki.
  • CLI/ACP: add --no-terminal to disable advertised ACP terminal capability for new agent clients. (#155) Thanks @DMQ.
  • Agents/built-ins: bump the default @agentclientprotocol/claude-agent-acp, @zed-industries/codex-acp, and pi-acp package ranges so fresh built-in launches pick up the latest adapter releases. (#253, #275) Thanks @flowforgelab.
  • Conformance/ACP: add a post-success drain case that catches late tool updates emitted after session/prompt resolves. (#252) Thanks @logofet85-ai.
  • Docs/session identity: clarify when CLI output shows ACPX runtime session IDs versus backend agent session IDs.
  • Dependencies/CI: update ACP SDK, runtime dependencies, TypeScript-native tooling, formatter/lint tooling, and workflow actions.

Breaking

Fixes

  • CLI/runtime: persist non-mode session/set_config_option values and replay them on fresh adapter sessions, so options such as Codex reasoning_effort survive session fallback/reuse. (#138)
  • CLI/prompt: honor --model when sending prompts to existing persistent sessions, including queued owner paths. (#211) Thanks @skywills.
  • Runtime/persistent sessions: keep reusable persistent ACP clients warm across turns and close pooled clients during runtime close. (#265) Thanks @Sway-Chan.
  • Runtime/ACP: drain late post-success session updates before closing prompt turns so adapters that resolve session/prompt before final updates do not drop assistant output. (#251) Thanks @logofet85-ai.
  • Runtime/embedding: reuse the saved persistent session when sending runtime controls instead of creating a new backend session for control operations.
  • CLI/sessions: persist the submitted prompt at turn start so sessions history and sessions read no longer report No history while an active prompt is already running. (#157)
  • Runtime/WSL: translate session cwd with wslpath when running under WSL and spawning Windows .exe ACP agents, so session/new and session/load receive paths the agent can access. (#232)
  • Client/auth: require explicit ACPX_AUTH_* env vars or config auth entries for ACP auth-method selection, so ambient provider env like OPENAI_API_KEY no longer triggers unintended login flows in adapters such as codex-acp.
  • Config/agents: honor custom agent args arrays from config instead of silently dropping required adapter subcommands. (#199) Thanks @log-li.
  • CLI/queue: tighten persistent queue and IPC socket directories to owner-only permissions, including previously-created permissive directories. (#216) Thanks @garagon.
  • CLI/queue: use cryptographically random owner generation IDs so rapid queue owner restarts cannot reuse a stale generation token. (#207) Thanks @Yuan-ManX.
  • Output/errors: add text-mode remediation hints for auth-required, missing-session, ACP session failures, timeouts, provider rate limits, and invalid model names while keeping JSON error payloads stable. (#256) Thanks @SJeffZhang.
  • CLI/quiet output: emit final token usage and cost metadata to stderr when adapters include it in the ACP prompt result, while keeping quiet stdout as assistant text only. (#257)
  • CLI/status: report resumable persistent sessions as idle when no queue owner is running, instead of marking pre-prompt or TTL-expired sessions as dead. (#185)
  • Client/ACP: use the locked ACP SDK close API path so session closing stays compatible with the current SDK.
  • Runtime/doctor: guarantee doctor().details contains strings even when probe failures include Error or object values. (#267)
  • Replay viewer: protect run-bundle file reads from run-id boundary escapes.

acpx 0.5.3

08 Apr 09:49
087f820

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.2...v0.5.3

acpx 0.5.2

07 Apr 09:37

Choose a tag to compare

What's Changed

Full Changelog: v0.5.1...v0.5.2

acpx 0.5.1

06 Apr 21:42

Choose a tag to compare

What's Changed

Full Changelog: v0.5.0...v0.5.1

acpx 0.5.0

06 Apr 10:44
dbfdd1b

Choose a tag to compare

What's Changed

  • feat: validate flow definitions and require defineFlow by @osolmaz in #219
  • refactor: add acpx runtime embedding API by @osolmaz in #220
  • Stabilize runtime prompt turns by @osolmaz in #222

Full Changelog: v0.4.1...v0.5.0

acpx 0.4.1

04 Apr 14:35
7dce60f

Choose a tag to compare

What's Changed

  • chore(deps-dev): bump @typescript/native-preview from 7.0.0-dev.20260326.1 to 7.0.0-dev.20260328.1 by @dependabot[bot] in #203
  • chore(deps): bump @agentclientprotocol/sdk from 0.17.0 to 0.17.1 in the production group by @dependabot[bot] in #200
  • chore(deps-dev): bump typescript from 5.9.3 to 6.0.2 by @dependabot[bot] in #202
  • feat: stream replay viewer runs live by @osolmaz in #205
  • [codex] bump codex and claude ACP adapter pins by @osolmaz in #215

Full Changelog: v0.4.0...v0.4.1