Skip to content
AnvilACP runtime

Overview

Anvil is a Rust Agent Client Protocol server. It is the portable agent backend behind an editor, bot, TUI, or automation rather than a user interface of its own.

An ACP client launches Anvil as a subprocess and communicates over stdio using JSON-RPC.

ACP client stdio / JSON-RPC Anvil
---------- ---------------- -----
editor --------------------------------> agent loop
issue bot --------------------------------> model routing
custom TUI --------------------------------> permissions
automation --------------------------------> tools + sessions

The client owns conversation presentation, controls, and permission UI. Anvil owns model routing, tool execution, permission enforcement, session persistence, context management, sandbox selection, and MCP subprocesses.

ACP session options are client-owned. Model, behavior, reasoning effort, service tier, and permission selections apply to the live session and must be resubmitted by a client when appropriate. Anvil persists durable history and session metadata, not a universal UI preference profile. Stream timeouts are separate process defaults with an in-memory session override.

Codex/ChatGPT, Bedrock, Ollama, ds4, DeepSeek, Kimi, OpenAI-compatible endpoints, and OpenRouter are model providers, not ACP clients.

Use Install Anvil for release and source options, then complete the ten-minute evaluation to verify one client, one provider, Bifrost-backed code intelligence, permission behavior, and session context.

Before connecting private source code or third-party extensions, review Data and Trust Boundaries and Permissions and Sandboxing.