coderClaw

acp

Run the ACP (Agent Client Protocol) bridge that talks to a CoderClaw 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

coderclaw acp

# Remote Gateway
coderclaw acp --url wss://gateway-host:18789 --token <token>

# Attach to an existing session key
coderclaw acp --session agent:main:main

# Attach by label (must already exist)
coderclaw acp --session-label "support inbox"

# Reset the session key before the first prompt
coderclaw acp --session agent:main:main --reset-session

ACP 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.

coderclaw acp client

# Point the spawned bridge at a remote Gateway
coderclaw acp client --server-args --url wss://gateway-host:18789 --token <token>

# Override the server command (default: coderclaw)
coderclaw acp client --server "node" --server-args coderclaw.mjs acp --url ws://127.0.0.1:19001

How to use this

Use ACP when an IDE (or other client) speaks Agent Client Protocol and you want it to drive a CoderClaw Gateway session.

  1. Ensure the Gateway is running (local or remote).
  2. Configure the Gateway target (config or flags).
  3. Point your IDE to run coderclaw acp over stdio.

Example config (persisted):

coderclaw config set gateway.remote.url wss://gateway-host:18789
coderclaw config set gateway.remote.token <token>

Example direct run (no config write):

coderclaw acp --url wss://gateway-host:18789 --token <token>

Selecting agents

ACP does not pick agents directly. It routes by the Gateway session key.

Use agent-scoped session keys to target a specific agent:

coderclaw acp --session agent:main:main
coderclaw acp --session agent:design:main
coderclaw acp --session agent:qa:bug-123

Each 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": {
    "CoderClaw ACP": {
      "type": "custom",
      "command": "coderclaw",
      "args": ["acp"],
      "env": {}
    }
  }
}

To target a specific Gateway or agent:

{
  "agent_servers": {
    "CoderClaw ACP": {
      "type": "custom",
      "command": "coderclaw",
      "args": [
        "acp",
        "--url",
        "wss://gateway-host:18789",
        "--token",
        "<token>",
        "--session",
        "agent:design:main"
      ],
      "env": {}
    }
  }
}

In Zed, open the Agent panel and select “CoderClaw 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:

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

acp client options