Skip to content

ACP Support

Ralph’s agent communication layer has been rebuilt around the Agent Client Protocol (ACP) — a standard JSON-RPC protocol over stdio. All adapters now speak the same protocol, which makes the integration more reliable and opens the door to supporting more agents.


Three adapters are available, all using ACP:

AdapterCommand
Claude Codeclaude-code-acp
OpenCodeopencode acp
Gemini (experimental)gemini --experimental-acp

Because adapters share a common protocol, adding support for new agents is now straightforward.


Agents now request permission for specific tool calls at runtime. A modal appears in the TUI showing the tool name, the kind of access requested, and numbered options to allow or deny.

Permissions work in three ways:

  • Interactive — press a number key to allow or deny each request
  • Cachedallow_always selections are remembered for the rest of the session
  • Unattended — run with --yolo to auto-approve all requests without prompting
Terminal window
ralph run --yolo # auto-approve all permissions

Each run now has a session ID. If a run is interrupted, Claude Code and OpenCode sessions can be resumed — either by ralph itself on the next iteration, or by opening the session directly in the native CLI tool from the TUI.


Three new flags were added alongside this change:

FlagDescription
--debug / -dWrite a ralph-debug-<timestamp>.log file
--yolo / -yAuto-approve all permission requests
--transport-log / -tWrite raw ACP protocol messages to a log file

All three can also be set persistently in .ralph/config.toml. See the CLI reference and configuration for details.