Buckets:
| title: ACP Support | |
| description: Use OpenCode in any ACP-compatible editor. | |
| OpenCode supports the [Agent Client Protocol](https://agentclientprotocol.com) or (ACP), allowing you to use it directly in compatible editors and IDEs. | |
| :::tip | |
| For a list of editors and tools that support ACP, check out the [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now). | |
| ::: | |
| ACP is an open protocol that standardizes communication between code editors and AI coding agents. | |
| ## Configure | |
| To use OpenCode via ACP, configure your editor to run the `opencode acp` command. | |
| The command starts OpenCode as an ACP-compatible subprocess that communicates with your editor over JSON-RPC via stdio. | |
| Below are examples for popular editors that support ACP. | |
| ### Zed | |
| Add to your [Zed](https://zed.dev) configuration (`~/.config/zed/settings.json`): | |
| ```json title="~/.config/zed/settings.json" | |
| { | |
| "agent_servers": { | |
| "OpenCode": { | |
| "command": "opencode", | |
| "args": ["acp"] | |
| } | |
| } | |
| } | |
| ``` | |
| To open it, use the `agent: new thread` action in the **Command Palette**. | |
| You can also bind a keyboard shortcut by editing your `keymap.json`: | |
| ```json title="keymap.json" | |
| [ | |
| { | |
| "bindings": { | |
| "cmd-alt-o": [ | |
| "agent::NewExternalAgentThread", | |
| { | |
| "agent": { | |
| "custom": { | |
| "name": "OpenCode", | |
| "command": { | |
| "command": "opencode", | |
| "args": ["acp"] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| ``` | |
| ### JetBrains IDEs | |
| Add to your [JetBrains IDE](https://www.jetbrains.com/) acp.json according to the [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html): | |
| ```json title="acp.json" | |
| { | |
| "agent_servers": { | |
| "OpenCode": { | |
| "command": "/absolute/path/bin/opencode", | |
| "args": ["acp"] | |
| } | |
| } | |
| } | |
| ``` | |
| To open it, use the new 'OpenCode' agent in the AI Chat agent selector. | |
| ### Avante.nvim | |
| Add to your [Avante.nvim](https://github.com/yetone/avante.nvim) configuration: | |
| ```lua | |
| { | |
| acp_providers = { | |
| ["opencode"] = { | |
| command = "opencode", | |
| args = { "acp" } | |
| } | |
| } | |
| } | |
| ``` | |
| If you need to pass environment variables: | |
| ```lua {6-8} | |
| { | |
| acp_providers = { | |
| ["opencode"] = { | |
| command = "opencode", | |
| args = { "acp" }, | |
| env = { | |
| OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ### CodeCompanion.nvim | |
| To use OpenCode as an ACP agent in [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), add the following to your Neovim config: | |
| ```lua | |
| require("codecompanion").setup({ | |
| interactions = { | |
| chat = { | |
| adapter = { | |
| name = "opencode", | |
| model = "claude-sonnet-4", | |
| }, | |
| }, | |
| }, | |
| }) | |
| ``` | |
| This config sets up CodeCompanion to use OpenCode as the ACP agent for chat. | |
| If you need to pass environment variables (like `OPENCODE_API_KEY`), refer to [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) in the CodeCompanion.nvim documentation for full details. | |
| ## Support | |
| OpenCode works the same via ACP as it does in the terminal. All features are supported: | |
| :::note | |
| Some built-in slash commands like `/undo` and `/redo` are currently unsupported. | |
| ::: | |
| - Built-in tools (file operations, terminal commands, etc.) | |
| - Custom tools and slash commands | |
| - MCP servers configured in your OpenCode config | |
| - Project-specific rules from `AGENTS.md` | |
| - Custom formatters and linters | |
| - Agents and permissions system | |
Xet Storage Details
- Size:
- 3.56 kB
- Xet hash:
- c961b37584ce9a68132fb2ecdfde790573d99580f6b5cc2019e8d29b6de1f56a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.