Indicia Code.

opencode

Add the gateway as a custom provider in opencode.

opencode uses the gateway through /v1/chat/completions, so it can use the model classes, with failover, and the direct ChatGPT and Claude models.

Add the provider

Add the gateway to opencode.json, either ~/.config/opencode/opencode.json for every project or opencode.json in one project:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "indicia": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Indicia",
      "options": {
        "baseURL": "https://code.test.indicia-ai.com/v1",
        "apiKey": "{env:INDICIA_TOKEN}"
      },
      "models": {
        "indicia/sterk": { "name": "Indicia Sterk" },
        "indicia/snel": { "name": "Indicia Snel" },
        "indicia/claude": { "name": "Indicia Claude" },
        "gpt-6-astra": { "name": "GPT-6 Astra" },
        "gpt-6-luna": { "name": "GPT-6 Luna" },
        "claude-opus-5-5": { "name": "Claude Opus 5.5" },
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" }
      }
    }
  },
  "model": "indicia/indicia/snel"
}

The keys under models are the ids from GET /v1/models, and each name is the readable name it returns. Add or remove entries to match that list.

Export the token

{env:INDICIA_TOKEN} reads the token from the environment:

Terminal
export INDICIA_TOKEN="ic_..."

Pick a model

In opencode, a model is the provider id, a slash, then the model id. Run /models to choose one, or pass it on the command line:

Terminal
opencode --model indicia/claude-sonnet-5-5

On this page