Repo: https://github.com/openclaw/acpx
-
Docs/readme: rewrite the project front door to the house standard and route detailed CLI guidance to the existing documentation.
-
Runtime/embedding: expose the existing per-tool permission policy through
AcpRuntimeOptionsso embedded clients can reuse its rule matching and decisions. Thanks @xenaocx-dev.
- Runtime API: require
AcpRuntimeTurn.promptStarted, which settles afterconnection.prompt()returns its request promise or fails beforehand.
- Runtime/embedding: settle turn results only after lifecycle persistence and client cleanup attempts finish, including unexpected finalization failures.
- Replay viewer: contain manifest-selected projection reads within their run bundle, including symlink targets. Thanks @bunlongheng.
- CLI/session: re-apply a session-pinned model before set_mode/set_model/set_config_option after reconnect, matching the prompt path so model-dependent options work. Fixes #489. Thanks @SebTardif.
- Runtime: preserve non-empty
messageIdand a safe subset of ACP update_metaontext_deltaevents so consumers can distinguish model prose from adapter diagnostics that still useagent_message_chunk. Thanks @SebTardif. - Runtime/sessions: keep atomic-write temporary filenames within filesystem component limits when valid session IDs have long basenames. Thanks @henkterharmsel.
- Runtime/embedding: snapshot permission policies at client configuration boundaries so caller-side mutation cannot change an in-flight turn after prompt readiness.
- Replay viewer: return the same not-found response for missing files and containment-denied paths, preventing outside-target existence probes.
- Runtime/sessions: surface checkpoint flush and session-store save failures during turn finalization instead of dropping them. Thanks @SebTardif.
- ACP/terminal: time out hung
ps/ PowerShell process-list helpers after a shell-backed terminal exits so wait_for_exit, kill, and release can finish. Thanks @SebTardif. - ACP/terminal: raise the process-list helper stdout cap above execFile's 1 MiB default so large
pslistings are not dropped as empty. Thanks @SebTardif. - Runtime/embedding: retain one-shot session ownership from initialization through its turn so repeated pre-turn
ensureSessioncalls reuse one backend session, then clean it up after completion. Fixes #504. Thanks @jhgaylor. - Runtime/embedding: project and persist
session/updatenotifications for the full lifetime of retained sessions, including idle periods before and between turns. Fixes #477. Thanks @nyl199310.
- Windows agent launches now use structured argv end to end. Unambiguous legacy
commandplusargsentries migrate automatically; ambiguous/raw commands and.shwrappers must move toagents.<name>.argv, and existing saved custom-agent sessions without argv must be recreated. - Built-in Pool and ZeroClaw support makes both native ACP stdio servers available without custom registry configuration.
- The new
--no-fsflag lets compatible agents use their native filesystem implementation instead of ACP client filesystem methods. - The dependency and pnpm refresh resolves all four known PostCSS, fast-uri, js-yaml, and brace-expansion advisories.
-
Agents/built-ins: add Pool via
pool acp. Thanks @dan-roberts-poolside and @osolmaz. -
Agents/built-ins: add ZeroClaw via
zeroclaw acp, ZeroClaw's native ACP v1 stdio server. Thanks @JordanTheJet. -
CLI/ACP: add
--no-fsto disable advertised ACP file read/write capabilities so compatible agents can use their native filesystem implementation. Thanks @zgxkbtl. -
CLI/timers: preserve tiny positive timeout and TTL values from flags or config as 1 ms instead of disabling timers, and reject delays beyond Node's supported timer range. Thanks @realmehmetali.
-
Dependencies/tooling: refresh the ACP SDK, runtime and development toolchain, update pnpm to 10.34.5, and resolve the PostCSS, fast-uri, js-yaml, and brace-expansion advisories.
- Windows agent launches now require structured
agents.<name>.argv; unambiguous legacycommandplusargsentries migrate automatically, while raw, ambiguous, or directly executable.shcommands fail with explicit migration guidance instead of lossy parsing or CreateProcess ENOENT. Existing custom-agent sessions without saved argv must be recreated. Fixes #466. Thanks @MarcelCFritsche.
-
Flows: swallow best-effort heartbeat write failures at the timer boundary so storage errors do not become unhandled promise rejections. Thanks @SebTardif.
-
Runtime/sessions: use collision-resistant temporary paths for concurrent atomic session and index writes. Thanks @henkterharmsel.
-
CLI/status: report a normal cold-start session as
agent startingwhile preservingneeds reconnectfor an unreachable live owner. Thanks @guettli.
- Agents/built-ins: refresh the default Pi, Codex, Claude, and Mux adapter ranges. Thanks @kelvinschen and @TheAngryPit.
- Session queue owner: capture a bounded owner stderr tail and exit status during cold start only (stop retaining at first IPC accept; keep draining the pipe so long-lived owners are not killed by EPIPE) so a dead owner reports the real failure instead of a silent timeout. Thanks @SebTardif.
- Agents/built-ins: add Grok Build via
grok agent stdio, including cached-login andXAI_API_KEYauthentication selection. Thanks @TheAngryPit.
-
CLI/queue: drain active turns before releasing queue-owner leases and preserve typed retryable shutdown responses while terminating agent bridges. Thanks @superWorldSavior.
-
CLI/quiet output: emit exactly one structured stderr diagnostic for direct and queued prompt failures without adding diagnostics to stdout. Thanks @superWorldSavior.
- Runtime/status: persist token usage reported on successful prompt responses,
including adapters that only provide a sparse
usage_update.
- Runtime/embedding: preserve per-agent environment variables across ACP session creation, queue handoff, persistence, and reconnects. Thanks @zhangguiping-xydt.
- CLI/queue: harden command parsing, queue-owner startup, stale process cleanup,
and release/CI checks found by
clawpatch. - Windows/Claude: only export a native
.exeasCLAUDE_CODE_EXECUTABLE; unresolved.cmd,.bat, and.ps1shims now fall back to the Claude ACP adapter's bundled native binary. Fixes openclaw/openclaw#93465. - Client/ACP: ignore non-object JSON lines from adapter stdout before ACP dispatch, preventing primitive frames from crashing the SDK message path.
- ACP/models: call the current SDK
session/set_modelmethod for legacy model metadata instead of the generic extension fallback. - CLI/config: add
--mcp-configfor session-scoped MCP servers without writing a project config file. Live persistent sessions reject MCP config changes until closed. Fixes #387.
- 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-agentas a built-in fast-agent ACP adapter viauvx fast-agent-mcp acp. - Agents/built-ins: add
muxas a built-in coder/mux ACP adapter vianpx -y mux@^0.27.0 acp. Thanks @ThomasK33. - CLI: add
acpx compareto run one prompt across multiple agents and summarize timing, token usage, stop reason, permissions, and final output side by side. Thanks @mvanhorn.
- Runtime/embedding: export a stable typed error and predicate for requested model selectors that an ACP agent does not support, including whether model capability is missing or the requested id is unadvertised, so embedders do not need to match error text.
- 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=1to restore user settings deliberately. Fixes #361. - ACP/models: support SDK 0.25 model config options while preserving
session/set_modelcompatibility 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.
- CLI/sessions: add
sessions exportandsessions importfor moving portable session archives between machines. Thanks @mvanhorn.
- 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.
- CLI: treat
--versionafter--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-terminalappear 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/listwhen available, including cursor pagination, cwd filtering, and agent-native session metadata. Thanks @amknight. - Sessions/reconnect: use ACP
session/resumewhen adapters advertise it, so resume-only agents can reuse saved sessions without requiringsession/load. Thanks @amknight. - CLI/ACP: validate rich prompt blocks against advertised ACP
promptCapabilitiesand support audio prompt content end-to-end. Thanks @amknight. - CLI/status: hide stale cached session PIDs when no live helper process exists. Thanks @dutifulbob.
- Runtime/embedding: add an optional
onPermissionRequestcallback toAcpRuntimeOptionsandAcpClientOptionsso embedders can intercept ACP per-call permission requests with their own UI. Returning a decision short-circuits the mode-based resolver; returningundefinedfalls through to it, leaving CLI behavior unchanged. Thanks @DaniAkash. - Runtime/embedding:
AcpRuntime.ensureSessionnow acceptssessionOptions(systemPrompt,model,allowedTools,maxTurns) for fresh sessions, threading the values into_meta.systemPrompt(and_meta.claudeCode.options.*) on the underlyingsession/newrequest and persisting them onto the new record. Reusing an existing persistent record continues to ignoresessionOptionssince system prompts are fixed atnewSessiontime.SessionAgentOptionsandSystemPromptOptionare now re-exported fromacpx/runtime. Thanks @DaniAkash. - Runtime/embedding: surface advertised models on
AcpRuntimeStatus.modelsso embedders can build model pickers without reaching into private session records. Thanks @DaniAkash. - CLI/permissions: add
--permission-policy/--policyfor per-tool ACP permission rules withautoApprove,autoDeny,escalate, anddefaultAction; non-interactive escalations now surface structured tool name/input metadata for orchestrators.
- Runtime/embedding: preserve structured ACP
tool_call_updatedetails 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 readandsessions historycan show in-flight progress instead of only the submitted prompt. (#314) Thanks @AndroidPoet. - Flows: keep external TypeScript flow modules that import
acpx/flowscompatible with currenttsxloader behavior. - Terminal: run no-argument
terminal/createcommand lines so agents that send an unsplit command do not fail withENOENT. Thanks @xdjyxu. - CLI/config: accept command-local
--formatonconfig showandconfig init. - CLI/sessions: accept the documented
-sshorthand onsessions newandsessions ensure. - Replay viewer: add help output for
pnpm viewer --helpwithout starting a server. - Replay viewer: make
pnpm viewer statusandpnpm viewer stopdispatch to the requested command instead of always prependingstart. - Package: keep
npm pack --jsonoutput 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 unhandledEPIPE. - 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
authPolicyvalues 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-retrieswhen 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
thinkingcontrols to advertisedeffortoptions when available. (#293)
- 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.