OpenCode as a provider
OpenCode is one of ADE’s five agents, alongside Claude Code, Codex, Cursor, and Factory Droid. ADE runs it as a local server and routes chat and worker turns through it like any other provider. OpenCode gives you the broadest model reach — back it with a provider API key, OpenRouter, or a local model (Ollama, LM Studio, vLLM).Setup
Open Settings → AI → OpenCode
Turn OpenCode on. ADE downloads the binary if needed and starts the local server.
Configure the backend
| Mode | Config |
|---|---|
| API key | An Anthropic, OpenAI, Google, or other supported key — OpenCode calls the provider directly. |
| OpenRouter | An OpenRouter key for broad model access. |
| Local | No key — point at Ollama, LM Studio, or another local endpoint. |
How ADE manages OpenCode
How ADE manages OpenCode
ADE owns the full lifecycle:
- Binary manager — downloads and verifies the OpenCode binary and checks for updates.
- Server manager — starts and monitors the local server process, detects crashes, and restarts it.
- Runtime — handles session lifecycle, model discovery, and event routing into ADE’s chat model.
Permission modes
Permission modes
OpenCode uses its own permission modes:
See Permissions for how modes map across providers.
| Mode | Behavior |
|---|---|
plan | Read-only. |
edit | Read and write allowed; bash commands are gated. |
full-auto | Proceeds without asking. |
Using Windsurf alongside ADE
ADE doesn’t run Windsurf as an agent provider — ADE’s five agents are Claude Code, Codex, Cursor, Factory Droid, and OpenCode. But you can still use Windsurf as your editor on the same code, because a lane is just a git worktree on disk.Find the lane's worktree path
Open the lane in ADE; its worktree path is shown in the lane detail header (under
.ade/worktrees/).Open that folder in Windsurf
Open the worktree directory in Windsurf the way you normally open any project — from Windsurf, or with
windsurf <path> if its CLI is on your PATH.Edit inside the lane’s worktree (
.ade/worktrees/<lane>/…), not the primary checkout — otherwise your changes won’t land in that lane’s diff.AI providers
Connect each agent and set defaults.
Agent chat
Run OpenCode in a lane and compare it with other providers.
