These are JSON-RPC 2.0 methods sent by clients over WebSocket.

Connection

initialize

Initialize the ACP connection and negotiate capabilities.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "clientInfo": {
      "name": "dim-web",
      "version": "0.1.0"
    },
    "capabilities": {
      "streaming": true,
      "tools": true,
      "approvals": true
    }
  }
}

initialized

Client notification confirming initialization is complete.
{
  "jsonrpc": "2.0",
  "method": "initialized"
}

Threads

thread/start

Create a new thread (session) and optionally start the first turn.
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "thread/start",
  "params": {
    "agentType": "claude-agent",
    "name": "Fix login bug",
    "projectId": "proj_abc123",
    "metadata": {}
  }
}

thread/resume

Resume an existing thread.
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "thread/resume",
  "params": {
    "threadId": "thread_abc123"
  }
}

thread/list

List all threads for the current user.

thread/read

Read thread history (messages, turns, elements).

thread/archive / thread/unarchive

Archive or unarchive a thread.

thread/unsubscribe

Disconnect from a thread’s event stream.

thread/name/set

Set or update the thread name.

thread/rollback

Roll back to a previous turn, discarding subsequent turns.

Turns

turn/start

Start a new turn (send a user message to the agent).
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "turn/start",
  "params": {
    "text": "Fix the failing test in src/auth.ts",
    "clientTurnId": "turn_local_1"
  }
}

turn/steer

Send mid-turn guidance while the agent is processing.
{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "turn/steer",
  "params": {
    "content": "Focus on the error handling, not the UI"
  }
}

turn/interrupt

Cancel the current turn.
{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "turn/interrupt"
}

Approval Responses

item/approve

Respond to an approval request (command execution, file change).
{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "item/approve",
  "params": {
    "requestId": "req_approval_123",
    "approved": true
  }
}

item/answer

Respond to a user input request.
{
  "jsonrpc": "2.0",
  "id": 8,
  "method": "item/answer",
  "params": {
    "requestId": "req_input_456",
    "answers": { "api_key": "sk-..." },
    "dismissed": false
  }
}