ACP Web Gateway

A web interface to AI agents via the Agent Client Protocol.

What is this?

ACP Web Gateway lets you use AI coding agents (like Claude Code, GitHub Copilot CLI, Kiro CLI, etc) through your browser. The acp2web CLI runs the agent locally on your machine and connects it to a web UI, either via a local Docker server or a remote relay.

Install

Download the latest acp2web binary for your platform from GitHub Releases.

macOS
Linux
Windows
curl -fsSL https://github.com/jamesward/acp-web-gateway/releases/latest/download/acp2web-macos-arm64 -o acp2web
chmod +x acp2web
curl -fsSL https://github.com/jamesward/acp-web-gateway/releases/latest/download/acp2web-linux-amd64 -o acp2web
chmod +x acp2web
# Download acp2web-windows-amd64.zip from:
# https://github.com/jamesward/acp-web-gateway/releases/latest
# Extact the contents

Quick Start

Local Mode (Docker)

By default, acp2web starts a local Docker container running the gateway server. The agent runs on your machine and connects to the server over localhost.

# Start acp2web
acp2web

# Or, start with an agent from the ACP registry, like:
acp2web --agent claude-acp

# Or use a custom agent command, like:
acp2web --agent-command "kiro-cli acp"

This will print a URL — open it in your browser to start chatting.

Requires Docker to be installed and running.

Remote Mode (acp2web.com)

Connect to a remote gateway server instead of running Docker locally. The default remote server is acp2web.com.

# Start acp2web in remote mode
acp2web --remote

# Or start with the default remote and specify the agent, like:
acp2web --remote --agent claude-acp

# Or specify your own server
acp2web --remote https://my-server.com

Security note: In remote mode, your conversation messages are relayed through the remote server. The agent still runs locally on your machine (with access to your files and tools), but all prompts and responses pass through the relay. Only use remote servers you trust.

Specifying an Agent

There are two ways to specify which agent to use:

From the ACP Registry

Use --agent <id> with an agent ID from the ACP agent registry. Examples:

acp2web --agent claude-acp
acp2web --agent github-copilot-cli

Custom Command

Use --agent-command <command> for any ACP-compatible agent not in the registry:

acp2web --agent-command "kiro-cli acp"

The --agent and --agent-command flags are mutually exclusive.

How It Works

  1. The acp2web CLI spawns the agent as a local subprocess, communicating via the ACP stdio protocol.
  2. The CLI connects to the gateway server (local Docker or remote) over WebSocket.
  3. You open the session URL in your browser to interact with the agent.
  4. Messages are relayed between the browser and the agent through the gateway.
  5. The agent runs in your project directory with full local access — file reads, edits, and tool calls all happen on your machine.

GitHub · Agent Client Protocol