A Visual Studio Code extension that provides a client for the Agent Client Protocol (ACP) — connect to any ACP-compatible AI coding agent directly from your editor.
- Multi-Agent Support: Connect to 9 pre-configured ACP agents or add your own
- Single-Agent Focus: One agent active at a time — seamlessly switch between agents
- Interactive Chat: Built-in chat panel with Markdown rendering, inline tool call display, and collapsible tool sections
- Thinking Display: See agent reasoning in a collapsible block with streaming animation and elapsed time
- Slash Commands: Autocomplete popup for agent-provided commands with keyboard navigation
- Mode & Model Picker: Switch agent modes and models directly from the chat toolbar
- File System Integration: Agents can read and write files in your workspace
- Terminal Execution: Agents can run commands with terminal output display
- Permission Management: Configurable auto-approve policies for agent actions
- Protocol Traffic Logging: Inspect all ACP JSON-RPC messages with request/response/notification labels
- Agent Registry: Browse and discover available ACP agents
- Chat Persistence: Conversations are preserved when switching panels
- Install: Visual Studio Code Marketplace | Open in VS Code | Open VSX Marketplace
- Open the ACP Client panel from the Activity Bar (ACP icon)
- Click + to add an agent configuration, or use the defaults
- Click an agent to connect
- Start chatting!
- Node.js 18+ (for spawning agent processes)
- An ACP-compatible agent installed or available via
npx
The extension comes with default configurations for:
| Agent | Command |
|---|---|
| GitHub Copilot | npx @github/copilot-language-server@latest --acp |
| Claude Code | npx @zed-industries/claude-code-acp@latest |
| Gemini CLI | npx @google/gemini-cli@latest --experimental-acp |
| Qwen Code | npx @qwen-code/qwen-code@latest --acp --experimental-skills |
| Auggie CLI | npx @augmentcode/auggie@latest --acp |
| Qoder CLI | npx @qoder-ai/qodercli@latest --acp |
| Codex CLI | npx @zed-industries/codex-acp@latest |
| OpenCode | npx opencode-ai@latest acp |
| OpenClaw | npx openclaw acp |
You can add custom agent configurations in settings.
| Setting | Default | Description |
|---|---|---|
acp.agents |
(9 agents) | Agent configurations. Each key is the agent name, value has command, args, and env. |
acp.autoApprovePermissions |
ask |
How agent permission requests are handled: ask or allowAll. |
acp.defaultWorkingDirectory |
"" |
Default working directory for agent sessions. Empty uses current workspace. |
acp.logTraffic |
true |
Log all ACP protocol traffic to the ACP Traffic output channel. |
All commands are accessible via the Command Palette (Ctrl+Shift+P):
| Command | Description |
|---|---|
ACP: Connect to Agent |
Connect to an agent |
ACP: New Conversation |
Start a new conversation with the connected agent |
ACP: Send Prompt |
Send a message to the agent |
ACP: Cancel Current Turn |
Cancel the current agent turn |
ACP: Disconnect Agent |
Disconnect from the current agent |
ACP: Restart Agent |
Restart the current agent process |
ACP: Open Chat Panel |
Focus the chat webview |
ACP: Add Agent Configuration |
Add a new agent to settings |
ACP: Remove Agent |
Remove an agent configuration |
ACP: Set Agent Mode |
Change the agent's operating mode |
ACP: Set Agent Model |
Change the agent's model |
ACP: Show Log |
Open the ACP Client log output channel |
ACP: Show Protocol Traffic |
Open the ACP Traffic output channel |
ACP: Browse Agent Registry |
Browse the ACP agent registry |
| Shortcut | Action |
|---|---|
Ctrl+Shift+A (Cmd+Shift+A on Mac) |
Open Chat Panel |
Escape (when turn in progress) |
Cancel Current Turn |
- Node.js 18+
- VS Code 1.85+
git clone https://github.com/formulahendry/vscode-acp.git
cd vscode-acp
npm installnpm run compile # One-time build
npm run watch # Watch mode for developmentPress F5 in VS Code to launch the Extension Development Host.
npm run pretest # Compile tests + lint
npm test # Run testsnpm run package # Production build
npx @vscode/vsce package # Create .vsixThe extension follows a modular architecture:
- Core:
AgentManager,ConnectionManager,SessionManager,AcpClientImpl - Handlers:
FileSystemHandler,TerminalHandler,PermissionHandler,SessionUpdateHandler - UI:
SessionTreeProvider,ChatWebviewProvider,StatusBarManager - Config:
AgentConfig,RegistryClient - Utils:
Logger,StreamAdapter
Communication with agents uses the ACP protocol (JSON-RPC 2.0 over stdio).
- Agents must be available via the system PATH or
npx - Some agents may require additional authentication setup
- File attachment feature is not yet functional
MIT — see LICENSE for details.
