DEMO A showcase of hev ask⌘K agentic search — running on Coder's real docs. Unaffiliated with Coder; not the official documentation. Official Coder docs ↗ Add ask to your docs ↗
Documentation › OpenCode

OpenCode

Note AI Gateway requires the AI Governance Add-On. As of Coder v2.32, deployments without the add-on will not be able to access AI Gateway.

OpenCode supports both OpenAI and Anthropic models and can be configured to use AI Gateway by setting custom base URLs for each provider.

Centralized API Key

You can configure OpenCode to connect to AI Gateway by setting the following configuration options in your OpenCode configuration file (e.g., ~/.config/opencode/opencode.json):

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://coder.example.com/api/v2/aibridge/anthropic/v1"
      }
    },
    "openai": {
      "options": {
        "baseURL": "https://coder.example.com/api/v2/aibridge/openai/v1"
      }
    }
  }
}

To authenticate with AI Gateway, get your Coder API token and replace <your-coder-api-token> in ~/.local/share/opencode/auth.json

{
  "anthropic": {
    "type": "api",
    "key": "<your-coder-api-token>"
  },
  "openai": {
    "type": "api",
    "key": "<your-coder-api-token>"
  }
}

BYOK (Personal API Key)

Set the following in ~/.config/opencode/opencode.json, including the X-Coder-AI-Governance-Token header with your Coder API token:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://coder.example.com/api/v2/aibridge/anthropic/v1",
        "headers": {
          "X-Coder-AI-Governance-Token": "<your-coder-api-token>"
        }
      }
    },
    "openai": {
      "options": {
        "baseURL": "https://coder.example.com/api/v2/aibridge/openai/v1",
        "headers": {
          "X-Coder-AI-Governance-Token": "<your-coder-api-token>"
        }
      }
    }
  }
}

Set your personal API keys in ~/.local/share/opencode/auth.json:

{
  "anthropic": {
    "type": "api",
    "key": "<your-anthropic-api-key>"
  },
  "openai": {
    "type": "api",
    "key": "<your-openai-api-key>"
  }
}

References: OpenCode Documentation

esc