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:
{
"$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:
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:
opencode --model indicia/claude-sonnet-5-5