Protocol
ACP
Type
Tool
Stars
3.4k
License
MIT
Last push
Nov 7, 2026

acpx ACP tool

by openclawβ€’ 3.4kβ€’
ACPToolTypeScript

Headless command-line client for stateful ACP sessions

About acpx

acpx is an open-source ACP tool by openclaw, written mainly in TypeScript. Headless command-line client for stateful ACP sessions. It has 3,422 GitHub stars and uses the MIT license, and its code was last pushed on Nov 7, 2026.

New to ACP? Our ACP Protocol guide explains how it works and lists other projects built on it.

At a glance

Protocol
ACP
Type
Tool
Language
TypeScript
License
MIT
GitHub stars
3,422
Last push
Nov 7, 2026
Latest release
acpx 0.22.0
Released
Nov 7, 2026

Listed from public GitHub data, checked 2026-11-08. Not scanned by AgenticMart.

Questions about acpx

What is acpx?

Headless command-line client for stateful ACP sessions It is listed as a ACP tool, maintained in the openclaw/acpx repository on GitHub.

How do I install acpx?

The project's README gives this command: npm install -g acpx@latest. Read the README for setup steps and requirements before running it.

Is acpx an official ACP project?

No. It is a community project built on ACP, not published by the organisation that runs the protocol.

What license does acpx use?

It is published under the MIT license. Check the license file in the repository before using it commercially.

Is acpx still maintained?

Its code was last pushed on Nov 7, 2026, and it had 3,422 GitHub stars when we checked on 2026-11-08. Look at recent issues and releases in the repository for a fuller picture.

README

acpx 🀝 β€” Agents talking to agents, minus the terminal sΓ©ance

<p align="center"> <img src="acpx_banner.svg" alt="acpx banner" width="100%" /> </p>

CI npm Node.js License npm downloads

acpx is a headless command-line client for the Agent Client Protocol (ACP). It gives agents, orchestrators, and developers one structured interface for persistent sessions, one-shot runs, permissions, and machine-readable output across ACP-compatible coding agents.

$ acpx codex sessions new
<session-id>
$ acpx codex "summarize this repository"
[tool] Read README.md (completed)
This repository contains ...
[done] end_turn

[!NOTE] acpx is pre-1.0. Treat its CLI and runtime interfaces as evolving.

Install

Install the published npm package globally:

npm install -g acpx@latest

acpx requires Node.js 22.13 or newer. To try it without a global install, prefix a command with npx acpx@latest instead. See the install guide for adapter prerequisites, updates, and source builds.

Quick start

Install and authenticate the coding agent you want to use, then create a session in your project and send it a prompt:

acpx codex sessions new
acpx codex "find the slowest test and explain why"

The session is scoped to the current repository and persists across invocations. Creating sessions explicitly prevents automation from starting an unexpected conversation. The quickstart continues with named sessions, one-shot runs, history, and JSON output.

Choose an agent

These 30 built-in launch profiles share one command shape. Each guide covers the required CLI or adapter, authentication, and capability limits. Ante is experimental.

AgentCommand
PiPiacpx pi …
OpenClawOpenClawacpx openclaw …
CodexCodexacpx codex …
Claude CodeClaude Codeacpx claude …
Gemini CLIGemini CLIacpx gemini …
CursorCursoracpx cursor …
GitHub CopilotGitHub Copilotacpx copilot …
AnteAnteacpx ante …
AntigravityAntigravityacpx antigravity …
DeepSeek HarnessDeepSeek Harnessacpx deepseek-harness …
DevinDevinacpx devin …
Factory DroidFactory Droidacpx droid …
fast-agentfast-agentacpx fast-agent …
fxfxacpx fx …
Grok BuildGrok Buildacpx grok-build …
GooseGooseacpx goose …
iFlowiFlowacpx iflow …
JunieJunieacpx junie …
KilocodeKilocodeacpx kilocode …
KimiKimiacpx kimi …
KiroKiroacpx kiro …
MCodeMCodeacpx mcode …
MuxMuxacpx mux …
OctomindOctomindacpx octomind …
OpenCodeOpenCodeacpx opencode …
PoolsidePoolsideacpx pool …
QoderQoderacpx qoder …
Qwen CodeQwen Codeacpx qwen …
TraeTraeacpx trae …
ZeroClawZeroClawacpx zeroclaw …

Need another ACP server? Use acpx --agent '<command>' … or configure a custom agent. See the agent registry for adapter commands and aliases. Logo credits.

Sessions and one-shot runs

Persistent sessions keep context between prompts, support parallel named workstreams, and queue follow-up prompts when a turn is already running. Use exec when you want a stateless run with no saved session.

acpx codex sessions new --name backend
acpx codex -s backend "trace the checkout timeout"
acpx codex exec "summarize this repository"
acpx --model gpt-5.4 codex exec --config-option reasoning_effort=high "review this repository"

Session state lives under ~/.acpx/. The sessions guide covers scope, queue ownership, reconnects, export/import, cancellation, and cleanup.

Automation and permissions

Text output is the default. --format json emits NDJSON ACP events for automation, while --format quiet prints only the final assistant text. Output events retain structured thinking, tool calls, diffs, and completion state instead of terminal escape sequences.

Permission modes range from read approval to explicit deny or approve-all policies. Use --cwd to set the session scope and filesystem boundary. Global and project JSON configuration can provide defaults; command-line flags take precedence.

Flows and embedding

For multi-step work, acpx flow run executes TypeScript workflows that combine ACP turns with deterministic actions, decisions, computation, and checkpoints. The package also exports acpx/runtime and acpx/flows for applications that need session and workflow primitives without shelling out.

Use createSharedAcpRuntime() when an application and CLI processes need to share one local session owner.

Start with the flows guide, then use the examples and architecture notes for deeper integrations.

Documentation

The full documentation is also available at acpx.sh.

Development

pnpm install --frozen-lockfile
pnpm run check
pnpm run check:docs

See CONTRIBUTING.md for contribution and review guidance.

License

MIT. See LICENSE.

More ACP projects

All 20 β†’