Repo: https://github.com/openclaw/acpx
- Flows/authoring: add
decision()anddecisionEdge()helpers for constrained LLM branching on top of the existingacp,parse, andswitchmachinery. (#278) Thanks @JoshuaLelon.
- Runtime/embedding: preserve normalized ACP
detailCodevalues on failed turn results and legacy error events, so embedders can branch on stable error detail codes. (#288) Thanks @kunchenguid. - Runtime/config: persist advertised
configOptionsfromsession/newandsession/loadand expose their keys through handle-aware runtime capabilities. (#282) Thanks @samithaj. - CLI/queue: ask active queue owners to send ACP
session/closebeforesessions closeterminates their adapter process. (#283) Thanks @codefromthecrypt. - CLI/models: fail clearly when
--modeltargets a non-Claude ACP agent that does not advertise ACP model support, and reject model ids outside an adapter's advertisedavailableModelsinstead of silently falling back to the adapter default. - Windows/Claude: resolve the
claude.exeexecutable from PATH before spawning Claude ACP sessions, so native Windows launches do not depend on shell-specific command lookup. (#289) Thanks @MikeChongCan. - Client/ACP: send
session/closefromcloseSession()instead of the experimentalnes/closemethod, so adapters without NES support can tear down sessions cleanly. (#291) Thanks @hexsprite. - Runtime/WSL: recognize Windows
.cmdand.batACP agent wrappers for cwd translation, including wrappers installed on non-C drives. (#280) Thanks @solomonneas.
- CLI/claude: add
--system-prompt <text>and--append-system-prompt <text>global flags that forward through ACP_meta.systemPromptonsession/new, letting callers replace or append to the Claude Code system prompt without dropping out of persistent acpx sessions. The value is persisted insession_options.system_promptso ensure/reuse flows keep the override. Codex and other agents ignore the field. (#229) Thanks @Vercantez. - CLI/sessions: add
sessions prunewith--dry-run, age filters, and--include-historyso 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 preservingrunTurn(...)compatibility. (#262) Thanks @enki. - CLI/ACP: add
--no-terminalto 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, andpi-acppackage 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/promptresolves. (#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.
- CLI/runtime: persist non-mode
session/set_config_optionvalues and replay them on fresh adapter sessions, so options such as Codexreasoning_effortsurvive session fallback/reuse. (#138) - CLI/prompt: honor
--modelwhen 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/promptbefore 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 historyandsessions readno longer reportNo historywhile an active prompt is already running. (#157) - Runtime/WSL: translate session cwd with
wslpathwhen running under WSL and spawning Windows.exeACP agents, sosession/newandsession/loadreceive paths the agent can access. (#232) - Client/auth: require explicit
ACPX_AUTH_*env vars or configauthentries for ACP auth-method selection, so ambient provider env likeOPENAI_API_KEYno longer triggers unintended login flows in adapters such ascodex-acp. - Config/agents: honor custom agent
argsarrays 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
idlewhen 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().detailscontains strings even when probe failures include Error or object values. (#267) - Replay viewer: protect run-bundle file reads from run-id boundary escapes.
- Dependencies: upgrade Vite to 8.0.7. (#231) Thanks @hxy91819.
- Sessions/reset: close the live backend session when discarding persistent state so reset flows start a fresh ACP session instead of silently reopening the old one. (#228) Thanks @dutifulbob.
- Runtime/processes: own built-in adapter launches so child processes are managed consistently. (#226) Thanks @dutifulbob.
- Flows: validate flow definitions and require
defineFlow. (#219) Thanks @osolmaz. - Runtime/embedding: add a supported
acpx/runtimeAPI for embedding ACPX session lifecycle, turn execution, status/control, and file-backed runtime storage. (#220) Thanks @osolmaz. - Runtime/prompt turns: stabilize runtime prompt turn handling. (#222) Thanks @osolmaz.
- Flows/replay viewer: keep recent runs and the active recent-run view live over a WebSocket snapshot/patch transport so in-progress runs update without manual refresh while rewind stays available. (#205) Thanks @osolmaz.
- Agents/built-ins: bump the default pinned
@zed-industries/codex-acpand@agentclientprotocol/claude-agent-acppackage ranges. (#215) Thanks @osolmaz. - Dependencies: update ACP SDK, TypeScript, and TypeScript-native dev tooling. (#200, #202, #203)
- Flows/workflows: add an initial
flow runcommand, anacpx/flowsruntime surface, and file-backed flow run state under~/.acpx/flows/runsfor user-authored workflow modules. (#179) Thanks @osolmaz. - Flows/replay: store flow runs as trace bundles with
manifest.json,flow.json,trace.ndjson, projections, bundled session replay data, and per-attempt ACP/action receipts for later inspection. (#181) Thanks @osolmaz. - Flows/replay viewer: add a React Flow-based replay viewer example that replays saved run bundles and shows the bundled ACP session beside the graph. (#183) Thanks @osolmaz.
- Flows/permissions: let flows declare explicit required permission modes, fail fast when a flow requires an explicit
--approve-allgrant, and preserve the granted mode through persistent ACP queue-owner paths. (#186) Thanks @osolmaz. - Flows/workspaces: let ACP validation choose PR test plans and broaden PR-triage refactor judgment. (#189, #190) Thanks @osolmaz.
- Flows/titles: add a flow run title API. (#197) Thanks @osolmaz.
- Agents/trae: add built-in Trae agent support backed by
trae-cli. (#171) Thanks @hqwuzhaoyi. - Agents/qoder: add built-in Qoder CLI ACP support via
qoder -> qodercli --acpand document Qoder-specific auth notes. (#178) Thanks @xinyuan0801. - Agents/codex: support
--modelfor Codex sessions. (#192) Thanks @osolmaz. - Models: add generic model selection via ACP
session/set_model. (#150) Thanks @ironerumi. - Output: add
--suppress-readsto mask raw file-read bodies in text and JSON output while keeping normal tool activity visible. (#193) Thanks @osolmaz. - CLI/prompts: add
--prompt-retriesto retry transient prompt failures with exponential backoff while preserving strict JSON behavior and avoiding replay after prompt side effects. (#196) Thanks @osolmaz. - Docs/PR triage: add conflict gates and standard check validation guidance for maintenance PRs. (#180, #187) Thanks @osolmaz.
- Dependencies: update ACP SDK, workflow actions, TypeScript-native tooling, and development dependencies. (#131, #133, #146, #154, #177)
- Sessions/load: fall back to a fresh ACP session when adapters reject
session/loadwith JSON-RPC-32601or-32602, so persistent session reconnects do not crash on partial load support. (#174) Thanks @Bortlesboat. - Flows/runtime: finalize interrupted
flow runbundles as failed instead of leaving them stuck atrunningwhen the process receivesSIGHUP,SIGINT, orSIGTERM. (#188) Thanks @osolmaz. - Windows/process spawning: enable shell mode for terminal spawn on Windows. (#173) Thanks @Bortlesboat.
- Client/startup: add connection timeout and max buffer size limits. (#168) Thanks @Yuan-ManX.
- Client/auth: cache derived auth env key lists per auth method to avoid repeated allocations during credential lookup. (#167) Thanks @Yuan-ManX.
- Output/thinking: preserve line breaks in text-mode
[thinking]output instead of flattening multi-line thought chunks into one line. (#194) Thanks @osolmaz. - Agents/cursor: recognize Cursor's
Session "..." not foundsession/loaderror format so reconnects fall back tosession/newinstead of failing. (#195) Thanks @osolmaz. - Agents/kiro: use
kiro-cli-chat acpfor the built-in Kiro adapter command to avoid orphan child processes. (#129) Thanks @vokako.
- Conformance/ACP: add a data-driven ACP core v1 conformance suite with CI smoke coverage, nightly coverage, and a hardened runner that reports startup failures cleanly and scopes filesystem checks to the session cwd. (#130) Thanks @lynnzc.
- Agents/droid: add
factory-droidandfactorydroidaliases for the built-in Factory Droid adapter and sync the built-in docs. (#156) Thanks @vincentkoc.
- Agents/built-ins: add Factory Droid and iFlow as built-in ACP agents and document their built-in commands. (#112, #109) Thanks @ironerumi and @gandli.
- Dependencies: update TypeScript-native and tsdown development tooling. (#106, #107, #118, #125, #126)
- Codex/session config: treat
thought_levelas a compatibility alias for codex-acpreasoning_effortsoacpx codex set thought_level <value>works on current codex-acp releases. (#127) Thanks @vincentkoc. - Session control/errors: surface actionable
set-modeandseterror messages when adapters reject unsupported session control params, and preserve wrapped adapter metadata in those failures. (#123) Thanks @manthan787. - Sessions/load fallback: suppress recoverable
session/loaderror payloads during first-run prompt recovery and keep the session record rotated to the fresh ACP session. (#122) Thanks @lynnzc. - Permissions/stats: track client permission denials in permission stats. (#120) Thanks @lynnzc.
- Agents/gemini: default to
--acpfor Gemini CLI and fall back to--experimental-acpfor pre-0.33 releases. (#113) Thanks @imWildCat. - Images/prompt validation: validate structured image prompt block MIME types and base64 payloads, emit human-readable CLI usage errors, and add an explicit non-CI live Cursor ACP smoke test path. (#110) Thanks @vincentkoc.
- Windows/process spawning: detect PATH-resolved batch wrappers such as
npxon Windows and enable shell mode only for those commands. (#102) Thanks @lynnzc.
- Docs/changelog: add missing changelog entries, align the changelog with OpenClaw style, and clean up duplicate ACP and queue helpers. (#104, #105, #108) Thanks @vincentkoc.
- ACP/prompt blocks: preserve structured ACP prompt blocks instead of flattening them during prompt handling to support images and non-text. (#103) Thanks @vincentkoc.
- Tooling: align
acpxtooling with the wider OpenClaw stack. (#43) Thanks @dutifulbob. - Docs/contributors: sync contributor guidance with OpenClaw, add the vision doc, and refocus the agent contributor guide. (#68, #97) Thanks @onutc.
- ACP/set-mode: clarify that
set-modemode IDs are adapter-defined. (#27) Thanks @z-x-yang. - Tests/coverage: expand CLI, adapter, and session-runtime coverage and keep the coverage lane on Node 22. (#69, #89) Thanks @vincentkoc and @frankekn.
- Agents/built-ins: add built-in agent support for Copilot, Cursor, Kimi CLI, Kiro CLI, kilocode, and qwen. (#72, #98, #56, #40, #62, #53) Thanks @vincentkoc, @osolmaz, @gandli, @vokako, and @kimptoc.
- Sessions/read: add a
sessions readcommand. (#88) Thanks @frankekn. - Config/exec: add a
disableExecconfig option. (#91) Thanks @gandli. - Claude/session options: add CLI passthrough flags for Claude session options. (#94) Thanks @frankekn.
- Sessions/resume: add
--resume-sessionto attach to an existing agent session. (#95) Thanks @frankekn. - ACP/config: pass
mcpServersthrough ACP session setup. (#96) Thanks @frankekn. - Docs/registry: sync the agent registry documentation with the live built-in registry. (#55) Thanks @gandli.
- Runtime/perf: improve runtime performance and queue coordination, tighten perf capture, reuse warm queue-owner ACP clients, and lazy-load CLI startup modules. (#73, #84, #87, #86) Thanks @vincentkoc.
- Repo/maintenance: add Dependabot configuration and pin ACP adapter package ranges. (#74, #99) Thanks @vincentkoc and @osolmaz.
- Docs/alpha: refresh code and adapter alpha docs. (#75) Thanks @vincentkoc.
- Dependencies: batch pending dependency upgrades. (#83) Thanks @vincentkoc.
- Queue/runtime: stabilize queue sockets and related runtime coordination paths. (#73) Thanks @vincentkoc.
- Gemini/ACP startup: harden Gemini ACP startup and reconnect handling, then fix follow-on session reconnect regressions. (#70, #93) Thanks @vincentkoc and @Takhoffman.
- Claude/ACP startup: harden Claude ACP session creation stalls. (#71) Thanks @vincentkoc.
- Windows/process spawning: use
cross-spawnfor Windows compatibility. (#57) Thanks @sawyer0x110. - Release/CI: restore the CI release bump flow and keep release jobs on GitHub-hosted runners. (#100, #101) Thanks @osolmaz.
- CLI/version: restore
--versionbehavior and staged adapter shutdown fallback. (#41) Thanks @dutifulbob.
- ACP/session model: land the ACP session model work and define the ACP-only JSON stream contract. (#28, #34) Thanks @osolmaz and @dutifulbob.
- Queue/owner: make the queue owner self-spawn through the
acpxCLI entrypoint. (#36) Thanks @dutifulbob. - Metadata/release: restore OpenClaw package metadata for trusted publishing. (#39) Thanks @dutifulbob.
- Tests/queue owner: stabilize queue-owner integration teardown with additional tests. (#37) Thanks @dutifulbob.
- Gemini/session restore: recognize Gemini CLI
Invalid session identifierfailures as session-not-found reconnect cases. (#35) Thanks @louria. - Sessions/output: suppress replayed
loadSessionupdates from user-facing output. (#38) Thanks @dutifulbob.
- CLI/version env: ignore foreign
npm_package_versionvalues innpxcontexts when resolving the CLI version. (#25) Thanks @dutifulbob.
- CLI/version: add dynamic
--versionresolution at runtime. (#24) Thanks @dutifulbob.
- Runtime/owners: detach warm session owners from prompt callers and run the
opencodeadapter in ACP mode. (#23) Thanks @dutifulbob.
- ACP/reconnect: fall back cleanly when a persisted ACP session is no longer found. (#22) Thanks @dutifulbob.
- Docs/session identity: clarify the ACP session identity model and current coverage status. (#21) Thanks @dutifulbob.
- Docs/runtime: specify runtime session id passthrough from ACP metadata. (#18) Thanks @dutifulbob.
- Metadata/repo: update repository metadata for
openclaw/acpx. (#19) Thanks @osolmaz.
- Docs/install: restore global install instructions, badges, and skillflag guidance. (#14) Thanks @dutifulbob.
- Runtime/OpenClaw: add OpenClaw ACP integration runtime and CLI primitives. (#17) Thanks @dutifulbob.
- Docs/readme: add banner, badges, skillflag 0.1.4 guidance, and simplified setup. (#12, #13) Thanks @dutifulbob.
- Docs/install: clarify
npxusage and use@latestin install commands. (#5, #6) Thanks @dutifulbob. - Runtime/session UX: implement high-priority runtime, config, and session UX features. (#7) Thanks @dutifulbob.
- Tests/integration: add mock ACP agent and integration tests. (#9) Thanks @dutifulbob.
- Startup/cancel: cancel prompts during startup correctly. (#10) Thanks @dutifulbob.
- Docs/setup: add quick-setup guidance for agent skill install. (#3) Thanks @dutifulbob.
- Sessions/prompts: require explicit sessions and route prompts by directory walk. (#4) Thanks @dutifulbob.
- CI/tests: align CI and test setup with SimpleDoc and expand coverage. (#1) Thanks @dutifulbob.
- Release: align release workflow with the skillflag in-memory bump pattern. (#2) Thanks @dutifulbob.
- Initial public release of the ACP CLI client, including npm-first docs, agent-first prompt/exec/session commands, async prompt queueing, the initial agent registry, CI, trusted publishing, and MIT licensing.