Cmux Codex Acp — Development skill for Claude Code
Codex app-server as an ACP agent: Rust library and stdio binary (GPL-3.0-or-later).
How to install Cmux Codex Acp
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open manaflow-ai/cmux-codex-acp and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Cmux Codex Acp does
Codex app-server as an ACP agent: Rust library and stdio binary (GPL-3.0-or-later).
Alternatives in Development
- Claude Code Rust — 🚀 Rust 全量重构的 Claude Code - 性能提升 2.5x,体积减少 97% High-performance Rust implementation of Claude Code with 2.5x f 1.4k ★
- Obsidian MCP Server — Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP 686 ★
- Pubmed MCP Server — Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms via MCP 150 ★
README
cmux-codex-acp
Codex as an [Agent Client Protocol](https://agentclientprotocol.com) (ACP) agent, built directly on `codex app-server`.
- Library (
cmux_codex_acp::Translator): translates between ACP and the Codex app-server JSON-RPC protocol. It does no I/O; the caller owns thecodex app-serverprocess and passes lines in and out. acpmux (cmux's agent session daemon) links it in process, so there is no extra process between the client and Codex. - Binary (
cmux-codex-acp): the translator over stdio for any ACP client.
cargo install --git https://github.com/manaflow-ai/cmux-codex-acp
cmux-codex-acp --codex "$(command -v codex)"
Options: `--codex PATH` (else `$CODEX_PATH`, else `codex` on `PATH`), `-c key=value` (passed to `codex app-server`), `--model`, `--effort`, `--mode`.
Tested with Codex `0.162.1`.
Design
One `codex app-server` process carries every session of a translator. Each ACP session is one Codex thread; the ACP session id is the thread id. Text, reasoning and command output stream to the client as each delta arrives.
Subagents are native: when Codex starts a subagent (a child thread), the client gets `subagent_spawned` under the parent session, every update of the child under the child's own session id, and `subagent_state_update` when it ends (ACP draft `subagents` capability).
Approvals go through the client: Codex's command, file change, permission and question requests become `session/request_permission`, with options built from the decisions Codex offers for that request.
Sessions and modes
| Mode | Approval policy | Sandbox |
|---|---|---|
ask |
untrusted: asks before every command that is not a known-safe read, and before every edit | workspace-write |
read-only |
on-request | read-only |
agent (default) |
on-request | workspace-write |
agent-full-access |
never | danger-full-access |
Config options: `model` (from `model/list`), `reasoning_effort` (the model's supported effort
Related Skills
Isolate Dependency Process Boundary
Use a GPL-incompatible-but-needed dependency by running it in a separate process the app talks to over IPC, so
Agent Web Search
A free, uncapped stdio MCP server that searches the web via DuckDuckGo/ddgs and returns page-body extracts. Sh
Shared Agents IDE
Local-first desktop app where a team shares coding-agent sessions and memory. Watch a teammate's Claude Code o
Sumac
Sumac: bring out what your tools can do — one Rust binary to bridge skills, MCP, and APIs. Run any skill as an
Frankensonos
Memory-safe Rust controller for your own Sonos speakers on your own LAN — reliable SSDP/UPnP-SOAP/GENA interop
Thoth
Thoth is a Rust library (plus a CLI, an MCP server, and a Claude Code / Cowork plugin) that gives a coding age
Related Agents
Adapter Engineer
Implements and maintains Tacet agent adapters (Claude Code, Codex app-server, ACP, OpenCode, PTY fallback) beh
CLI MCP
Implements the santi binary: clap subcommands and the stdio MCP server (rmcp) that call the HTTP API with a pe
Extension Builder
TypeScript code another program loads or calls, shipped as its own small Node package (a Vite plugin, stdio MC