ACP Tools
GoClaw exposes ACP control to the agent through two tools:
acp_controlacp_inspect
These are different from the user-facing /acp slash command. Use /acp when you want to control ACP manually from chat. Use these tools when the agent itself needs to attach to, inspect, or steer an ACP session.
acp_control
acp_control changes ACP session state for the current GoClaw session identity.
Supported actions:
attachdetachclosecancelset_modelist_modelsset_modelsteer
In the current MVP, attach targets the Cursor driver over local stdio. After attach, GoClaw applies the configured acp.drivers.cursor.model alias and defaults to claude-4.6-opus-high-thinking.
attach
Create a new ACP session, or attach to an existing one if sessionId is provided.
{
"action": "attach",
"driver": "cursor",
"cwd": "/path/to/project",
"mode": "agent"
}
Attach to an existing ACP session:
{
"action": "attach",
"driver": "cursor",
"sessionId": "SESSION_ID"
}
| Parameter | Required | Description |
|---|---|---|
action | Yes | attach |
driver | No | ACP driver ID. Defaults to cursor |
cwd | No | Working directory for the attached ACP session |
mode | No | Initial ACP mode, such as agent, plan, or ask |
sessionId | No | Existing ACP session ID to load instead of creating a new one |
set_mode
Change the attached ACP session mode:
{
"action": "set_mode",
"mode": "plan"
}
list_models
List the live ACP model aliases accepted by the currently attached Cursor session:
{
"action": "list_models"
}
This returns the friendly aliases GoClaw accepts for set_model, with the current one marked in the text output.
set_model
Switch the attached Cursor ACP session to a friendly model alias:
{
"action": "set_model",
"model": "claude-4.6-opus-high-thinking"
}
| Parameter | Required | Description |
|---|---|---|
action | Yes | set_model |
model | Yes | Friendly model alias exposed by the attached Cursor ACP session |
steer
Send a text prompt into the attached ACP session:
{
"action": "steer",
"message": "Review the patch and summarize the remaining risks."
}
By default, steering detaches after completion. To keep the ACP session attached, set stayAttached to true:
{
"action": "steer",
"message": "Stay in ACP mode for one more turn.",
"stayAttached": true
}
| Parameter | Required | Description |
|---|---|---|
action | Yes | steer |
message | Yes | Prompt to send into the attached ACP session |
stayAttached | No | Keep the ACP session attached after steering. Defaults to false |
cancel
Cancel the currently running ACP prompt without closing the session:
{
"action": "cancel"
}
detach
Detach GoClaw from the ACP session while leaving the external ACP session available to re-attach later:
{
"action": "detach"
}
close
Close the ACP session entirely:
{
"action": "close"
}
acp_inspect
acp_inspect is a read-only view into the ACP state for the current GoClaw session.
Minimal call:
{}
Optional detail hint:
{
"detail": "full"
}
The tool output can include:
- whether the session is attached
- ACP session ID, driver, transport, mode, and CWD
- current friendly ACP model alias
- current state and buffered event count
- last assistant text, last question, and last plan overview
- current ACP todo list
- pending interactive requests
- recent driver extension events
This is useful when the agent needs to decide whether to attach, whether an interactive prompt is still pending, or what the attached Cursor session last asked for.
When To Use These Tools
Use ACP tools when the agent must:
- inspect whether an ACP session is already attached
- attach to Cursor before steering an external session
- switch ACP mode before sending a prompt
- inspect the live ACP model aliases before switching models
- switch the attached Cursor session to a specific friendly model alias
- cancel a blocked interactive ACP request
- keep or release ACP attachment intentionally after steering
Do not use ACP tools as a replacement for normal GoClaw conversation unless the task specifically needs an attached ACP session.
See Also
- ACP Sessions — User-facing ACP workflow
- Channel Commands
— Manual
/acpcommands - Channels — Channel-specific ACP presentation