Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>ACP ProNew to Visual Studio Code? Get it now.
ACP Pro

ACP Pro

Duc Lv

|
1,000 installs
| (7) | Free
One ACP Client (GUI) for every AI agent (Claude Code, Codex, Grok Build, Antigravity CLI, OpenCode, Qwen Code, …) with multi-tab sessions, remote control from your phone, tool-call, markdown, diagrams, and LaTeX.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ACP Pro

Unified GUI interface for AI coding agents in VS Code. Run multiple agent sessions side-by-side in tabs, stream tool calls and inline diffs; you can watch, approve, and steer your agent from your phone or any browser while away from your desk, or just share live sessions with teammates. Drop open files in as @-context, run multiple sessions at once, keep resumable chat history, generate images & video inline. If you’d rather stay in VS Code than a terminal, this brings any AI agent into your sidebar.

ACP Pro speaks the Agent Client Protocol (ACP), so it works with any ACP-compatible agent: Claude Code, Codex, Grok Build, Antigravity CLI, GitHub Copilot CLI, Gemini CLI, Qwen Code, Auggie CLI, OpenCode, Qoder CLI, and more.

Current release: 0.3.8 — folder-tree working-directory picker, history browsing by directory, and session reliability fixes. See the changelog for release details.

Quick Start · Features · Supported Agents · Remote Sharing · Configuration · Troubleshooting

ACP Pro multi-tab chat with streamed tool calls and inline diffs

Features

Expand a feature to see how it works.

Multiple agents and sessions — keep separate conversations in one sidebar

Choose an agent when starting a session, then use the Session Switcher to move between Live and Recent conversations. Browse an agent's history by directory and see each session's working directory, reopen earlier work, or close a live session while keeping its restorable history.

Nine agents are included in the default catalog. In Settings → Agents, add agents from the registry, configure a custom command, test the connection, or drag agent entries to reorder them. See Supported Agents for the default commands.

Files, selections, and attachments — give the agent precise context

Type @ to find files and workspace mentions; the active editor selection appears first when opening an empty mention query. Add : after a path to select a line range. Mention pills remain clickable, and pasted or dragged attachments can be previewed before sending.

Select code in the editor and press Ctrl+Alt+L on Windows/Linux or Cmd+Alt+L on macOS to add it to the active chat. ACP Pro creates a session if needed. Type / for commands and skills advertised by the agent.

Queue, steer, or stop and send — choose when a follow-up reaches the agent

Sending while a turn is running queues your follow-up in Pending. It waits for the current turn to finish. For an immediate correction, use Steer when available to contribute to the running turn, or Stop & send to cancel the current turn and send the replacement after cancellation finishes.

Native steering currently requires the Claude ACP adapter 0.84.0 to advertise support. Other adapters and versions use Stop & send. Attachment support can also affect which action is available. These controls work in VS Code and in browser sessions with write access.

Prompt history and timers — reuse instructions or send them later

At the beginning of the composer, press ↑ to recall earlier prompts from the current session. Move forward with ↓ at the end of the text; moving past the newest recalled prompt restores your unsent draft and caret. Edit a recalled prompt and submit it normally.

Set a delay such as 4m or 1h4m on a draft or queued prompt to schedule it. Drafts, attachments, and scheduled prompts stay with their session when you switch conversations.

Tool calls and inline diffs — inspect what the agent is doing

Reads, edits, shell commands, web searches, and other tool calls stream into the conversation with status labels. Expand a tool's details to inspect its text or terminal output; failures remain visible outside the collapsed panel.

Edits show changed-line totals and word-level highlights. Click a file path in a diff header to open it in VS Code at the diff's starting line, with relative paths resolved against that session's working directory.

Rich answers — code, diagrams, math, and media in the conversation

Replies support GitHub-Flavored Markdown, highlighted code blocks, horizontally scrolling tables, and inline or display LaTeX. Completed Mermaid blocks render as diagrams with pan, zoom, copy-source, and SVG export controls; incomplete or invalid diagrams keep their readable source.

Image, audio, resource, resource-link, and diff blocks render inline when supplied by the agent. Image attachments open in a preview modal, including when available from restored history. Media generation and accepted attachment types depend on the agent's tools and capabilities.

Plans and reasoning — follow progress without crowding the transcript

Agent execution plans appear in a collapsible task panel. Reported reasoning streams into a separate expandable Markdown block, so you can inspect it when useful and keep the main answer in view.

Session controls and usage — choose models, permissions, and effort

Use the session toolbar to select the model, permission mode, reasoning effort, and additional options exposed by the agent, such as Codex fast mode. Press Shift+Tab to cycle permission modes or Esc to cancel a turn.

Compact input, output, cache, context-window, and cost metrics show the usage reported for the session. Hover for exact values. When an agent requests authentication, its supported flow runs locally in VS Code; short-lived credentials are kept out of settings and session history.

Working directories and session actions — organize and revisit your work

Click the directory in the chat header to browse directories level by level in a compact folder tree. The header also shows connection state, agent name and version, and git branch and working-tree status for that directory. A disconnected session can be refreshed from its state indicator.

Open Session actions (⋮) to find text across the transcript, export it to Markdown, fork or duplicate a session, or copy session and workspace sharing details. The Command Palette also provides Fork Active Tab and Pick Working Directory for Active Tab.

Resumable history and session limits — keep long-running work manageable

The last active session restores on window reload by default. Earlier conversations can reopen through the agent's supported load or resume behavior, retaining their working directory.

The default live-session cap is eight. Finished, unattended sessions release their running agent after 60 idle minutes while preserving restorable history. Active work, visible sessions, drafts, attachments, scheduled prompts, pending permissions, and remotely viewed sessions remain protected. Both limits are configurable.

Long transcripts use virtualized rendering and batched streaming updates; attachment previews load on demand. Local VS Code chat stays independent of the browser bridge's leader window.

Browser sharing — follow sessions from your phone or another computer

Click the ACP status-bar indicator to copy a share URL and open the live workspace in a browser. Viewers start with read-only access. Use LAN access or VS Code port forwarding to reach the bridge from another device; the VS Code host must remain running and reachable.

Browser sharing can be disabled per workspace in Settings → Bridge Server while local chat continues to work. See Sharing a Session for setup.

Optional Pro controls — manage browser ownership and write access

Pro adds a persistent, customizable workspace share code, an owner password for claiming browser ownership, and an owner-only toggle between read-only and full-write viewer access. Authorized browser users can send prompts and respond to permission requests.

Activate once in Settings → License to share entitlement across local and remote workspace hosts opened by the same VS Code client profile. See Licensing & Pro Features for details.

Appearance, settings, and diagnostics — tailor the workspace

Choose System, Dark, or Light in Settings → Appearance, or use the sun/moon toggle. System mode follows VS Code's theme. Narrow layouts keep session and toolbar controls within reach.

Settings opens in a reusable VS Code editor with agent management, appearance, licensing, and extension information. Browser settings expose client-local preferences. For connection troubleshooting, run ACP Pro: Toggle Debug Mode to enable live ACP request and response logs in the Output panel.

Bridge — Remote Session Sharing

ACP Pro embeds a tiny HTTP + WebSocket server that starts automatically with the extension. The first VS Code window of a user becomes the leader and binds the configured port; subsequent windows join as followers over loopback IPC.

  • Status bar indicator — $(broadcast) ACP <shareCode>. Click to copy the shareable URL.
  • Loopback (127.0.0.1) — URL resolves via vscode.env.asExternalUri, so VS Code port forwarding (Remote - Tunnels / Codespaces / SSH) automatically produces a public URL.
  • All interfaces (0.0.0.0) — URL resolves to the host's first non-loopback IPv4 address for LAN sharing.
  • Access — Protected workspace data and browser connections require share-code authentication. The server checks workspace scope and permissions before allowing actions.
  • Lockfile — Stored under the extension's per-installation global storage as acp-pro/bridge.lock (mode 0600, ephemeral per session), keeping bridge coordination isolated between local and remote extension hosts. License entitlement is shared separately through the VS Code client profile.

Licensing & Pro Features

ACP Pro is free. A license unlocks optional remote controls without touching the core experience.

  • Get a license — Purchase a Pro key from Gumroad.
  • Activate once per VS Code profile — Settings → License. Enter your key once; ACP Pro caches the entitlement in VS Code profile, re-checks it on startup, and reuses it in local, SSH, Tunnel, WSL, Dev Container, and Codespaces workspace extension hosts opened by the same VS Code client profile.
  • Shared entitlement, host-bound unlock — Workspace hosts in the same VS Code client profile present one shared license fingerprint.
  • Pro unlocks — A persistent, customizable workspace share code; an owner password for browser viewers to claim ownership; and an owner-only tab-bar toggle to switch the workspace between read-only and full-write viewer access.
  • Offline-resilient — A host that already has a validated, loadable CEK keeps Pro unlocked when the license server is unreachable. A newly joined host retains the shared entitlement but may show Pro unavailable until it can fetch an envelope for its device key.
  • Remove anytime — Settings → License → Remove (inline two-click confirm) clears the license from the shared VS Code client profile; you can reactivate the same key later.

Requirements

  • VS Code 1.96 or later
  • Node.js 20 or later (agents launched via npx require a working Node toolchain on your PATH)
  • An ACP-compatible agent and any account, credentials, or subscription it requires. The default agents launch through npx; first use needs network access to download their packages.

Quick Start

  1. Install ACP Pro by duclvz from the VS Code Extensions view, then open a project folder.
  2. Open ACP Pro from the Activity Bar or run ACP Pro: Focus Chat View from the Command Palette.
  3. Choose an agent from the empty view or New session menu. Claude Code is the default; Settings → Agents lets you test or change its command.
  4. Complete the selected agent's authentication if requested, type a prompt, and press Enter. The first launch may take longer while npx downloads the adapter.
  5. Start another conversation with New session and use the Session Switcher to return to Live or Recent sessions.

Sharing a Session

The bridge starts automatically when the extension activates. Browser sharing is enabled by default and can be turned off per workspace from Settings -> Bridge Server.

  1. Look at the status bar for $(broadcast) ACP <shareCode> (Free uses a fresh 6-character code each activation; Pro can keep a persistent code).
  2. Click it to copy the share URL (http://<host>:<port>?code=<shareCode>).
  3. Open the URL in a browser to load your live tabs in a read-only view.
  4. To share beyond LAN, enable VS Code port forwarding for the bridge port — the status bar URL updates to the forwarded address automatically.

Configuration

All settings live under acpPro.* and can be edited via VS Code Settings UI or settings.json.

Setting Type Default Description
acpPro.agents array 9 built-in agents Ordered stdio agent entries with name, command, and optional args and env.
acpPro.defaultAgent string Claude Code Agent used for new tabs.
acpPro.defaultModel string — Model to request from the agent (optional, agent-dependent).
acpPro.autoApproveDefault boolean false Auto-approve tool calls for new sessions.
acpPro.session.liveSessionCap integer 8 Maximum number of agent sessions kept live at once.
acpPro.session.idleTimeoutMinutes integer 60 Minutes a finished, unattended session stays live before dehydration. 0 disables timeout-based dehydration.
acpPro.session.restoreLastActive boolean true Reopen the last active session after a VS Code reload.
acpPro.bridge.port integer 4545 Preferred TCP port. 0 = ephemeral. Falls back to ephemeral if busy.
acpPro.bridge.listenHost enum 127.0.0.1 127.0.0.1 (loopback only) or 0.0.0.0 (all interfaces).
acpPro.notificationSound enum Abstract Chime Sound: Abstract Chime, Gentle Bell, Soft Ping, Digital Tone, None.
acpPro.licenseServerUrl string — Host server used to activate and check a Pro license. Must be https:// (loopback http allowed for self-hosting); insecure or invalid values fall back to the secure default.

Example: custom agent over stdio

{
  "acpPro.agents": [
    {
      "name": "My Local Agent",
      "command": "node",
      "args": ["/path/to/my-agent.js", "--acp"],
      "env": { "MY_AGENT_API_KEY": "sk-..." }
    }
  ]
}

Supported Agents

Defaults shipped in acpPro.agents:

Agent Command
Claude Code npx @agentclientprotocol/claude-agent-acp@latest
Codex npx @agentclientprotocol/codex-acp@latest
Grok Build npx @xai-official/grok@latest agent stdio
OpenCode npx opencode-ai@latest acp
GitHub Copilot npx @github/copilot-language-server@latest --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
OpenClaw npx openclaw acp

Other agents implementing the Agent Client Protocol can connect — add them from Settings → Agents when listed in the registry, or configure them manually in acpPro.agents.

Commands

All commands are available via the Command Palette (Ctrl/Cmd+Shift+P):

Command Title
acp-pro.newTab ACP Pro: New Tab
acp-pro.closeTab ACP Pro: Close Active Tab
acp-pro.cancelTurn ACP Pro: Cancel Current Turn
acp-pro.focusChatView ACP Pro: Focus Chat View
acp-pro.copyShareInfo ACP Pro: Copy Bridge Share Link
acp-pro.doctor ACP Pro: Toggle Debug Mode
acp-pro.forkTab ACP Pro: Fork Active Tab
acp-pro.pickTabCwd ACP Pro: Pick Working Directory for Active Tab
acp-pro.sendSelectionToActiveTab ACP Pro: Send Selection to Active Tab

Focus Chat View also appears as a bot-glyph button in the editor title bar, and reveals the chat at its current docked location rather than forcing it back into the sidebar.

Keyboard Shortcuts

ACP Pro ships one default keybinding:

Command Windows / Linux macOS When
acp-pro.sendSelectionToActiveTab Ctrl+Alt+L Cmd+Alt+L editor has focus and a selection

Inside the chat webview:

  • Enter — send prompt
  • Shift+Enter — newline
  • ↑ / ↓ at the text boundaries — browse session prompt history and return to your draft
  • Shift+Tab — cycle the active tab's permission mode
  • Esc — cancel the current turn
  • / — open slash-command autocomplete
  • @ — open file/mention autocomplete

Bind any command via keybindings.json — for example:

{
  "key": "ctrl+alt+c",
  "command": "acp-pro.copyShareInfo"
}

Troubleshooting

  • Agent fails to start — Check the Output panel → "ACP Pro" channel. First run may take time while npx downloads the agent package.
  • Bridge port in use — The extension falls back to an ephemeral port and surfaces a warning. Set acpPro.bridge.port to 0 to always use ephemeral.
  • Share URL is 127.0.0.1 — That means asExternalUri did not produce a forwarded URL. Enable VS Code port forwarding for the bridge port, or switch acpPro.bridge.listenHost to 0.0.0.0.
  • Stale lockfile — Delete acp-pro/bridge.lock from the extension's global storage directory and restart the affected local or remote VS Code extension host.

License

ACP Pro is proprietary, commercial software — © Duc Lv, All Rights Reserved. It is licensed, not sold, under the End-User License Agreement in LICENSE. The core experience is free to install and use; Pro features require a valid license entitlement, shared by a VS Code client profile and protected by host-bound encrypted Pro keys. You may not copy, redistribute, resell, reverse-engineer, or circumvent the licensing or encryption mechanisms. See LICENSE for the full terms.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft