acp
acp
Run the ACP (Agent Client Protocol) bridge that talks to a RemoteClaw Gateway.
This command speaks ACP over stdio for IDEs and forwards prompts to the Gateway over WebSocket. It keeps ACP sessions mapped to Gateway session keys.
Usage
remoteclaw acp
# Remote Gatewayremoteclaw acp --url wss://gateway-host:18789 --token <token>
# Remote Gateway (token from file)remoteclaw acp --url wss://gateway-host:18789 --token-file ~/.remoteclaw/gateway.token
# Attach to an existing session keyremoteclaw acp --session agent:main:main
# Attach by label (must already exist)remoteclaw acp --session-label "support inbox"
# Reset the session key before the first promptremoteclaw acp --session agent:main:main --reset-sessionACP client (debug)
Use the built-in ACP client to sanity-check the bridge without an IDE. It spawns the ACP bridge and lets you type prompts interactively.
remoteclaw acp client
# Point the spawned bridge at a remote Gatewayremoteclaw acp client --server-args --url wss://gateway-host:18789 --token-file ~/.remoteclaw/gateway.token
# Override the server command (default: remoteclaw)remoteclaw acp client --server "node" --server-args remoteclaw.mjs acp --url ws://127.0.0.1:19001Permission model (client debug mode):
- Auto-approval is allowlist-based and only applies to trusted core tool IDs.
readauto-approval is scoped to the current working directory (--cwdwhen set).- Unknown/non-core tool names, out-of-scope reads, and dangerous tools always require explicit prompt approval.
- Server-provided
toolCall.kindis treated as untrusted metadata (not an authorization source).
How to use this
Use ACP when an IDE (or other client) speaks Agent Client Protocol and you want it to drive a RemoteClaw Gateway session.
- Ensure the Gateway is running (local or remote).
- Configure the Gateway target (config or flags).
- Point your IDE to run
remoteclaw acpover stdio.
Example config (persisted):
remoteclaw config set gateway.remote.url wss://gateway-host:18789remoteclaw config set gateway.remote.token <token>Example direct run (no config write):
remoteclaw acp --url wss://gateway-host:18789 --token <token># preferred for local process safetyremoteclaw acp --url wss://gateway-host:18789 --token-file ~/.remoteclaw/gateway.tokenSelecting agents
ACP does not pick agents directly. It routes by the Gateway session key.
Use agent-scoped session keys to target a specific agent:
remoteclaw acp --session agent:main:mainremoteclaw acp --session agent:design:mainremoteclaw acp --session agent:qa:bug-123Each ACP session maps to a single Gateway session key. One agent can have many
sessions; ACP defaults to an isolated acp:<uuid> session unless you override
the key or label.
Zed editor setup
Add a custom ACP agent in ~/.config/zed/settings.json (or use Zed’s Settings UI):
{ "agent_servers": { "RemoteClaw ACP": { "type": "custom", "command": "remoteclaw", "args": ["acp"], "env": {} } }}To target a specific Gateway or agent:
{ "agent_servers": { "RemoteClaw ACP": { "type": "custom", "command": "remoteclaw", "args": [ "acp", "--url", "wss://gateway-host:18789", "--token", "<token>", "--session", "agent:design:main" ], "env": {} } }}In Zed, open the Agent panel and select “RemoteClaw ACP” to start a thread.
Session mapping
By default, ACP sessions get an isolated Gateway session key with an acp: prefix.
To reuse a known session, pass a session key or label:
--session <key>: use a specific Gateway session key.--session-label <label>: resolve an existing session by label.--reset-session: mint a fresh session id for that key (same key, new transcript).
If your ACP client supports metadata, you can override per session:
{ "_meta": { "sessionKey": "agent:main:main", "sessionLabel": "support inbox", "resetSession": true }}Learn more about session keys at /concepts/session.
Options
--url <url>: Gateway WebSocket URL (defaults to gateway.remote.url when configured).--token <token>: Gateway auth token.--token-file <path>: read Gateway auth token from file.--password <password>: Gateway auth password.--password-file <path>: read Gateway auth password from file.--session <key>: default session key.--session-label <label>: default session label to resolve.--require-existing: fail if the session key/label does not exist.--reset-session: reset the session key before first use.--no-prefix-cwd: do not prefix prompts with the working directory.--verbose, -v: verbose logging to stderr.
Security note:
--tokenand--passwordcan be visible in local process listings on some systems.- Prefer
--token-file/--password-fileor environment variables (REMOTECLAW_GATEWAY_TOKEN,REMOTECLAW_GATEWAY_PASSWORD).
acp client options
--cwd <dir>: working directory for the ACP session.--server <command>: ACP server command (default:remoteclaw).--server-args <args...>: extra arguments passed to the ACP server.--server-verbose: enable verbose logging on the ACP server.--verbose, -v: verbose client logging.