Opencode
Opencode is a provider-agnostic AI coding assistant that works in your terminal. Use varlock to inject provider API keys at runtime.
For install, schema setup, and shared patterns, see the AI Tools overview.
Environment variables:
ANTHROPIC_API_KEYfor Claude modelsOPENAI_API_KEYfor OpenAI modelsOPENCODE_CONFIGpath to custom config file (optional)
Auth configuration
Section titled “Auth configuration”Run opencode auth login once. When prompted for an API key, paste an env reference instead:
{"env:ANTHROPIC_API_KEY"}
Your config file (~/.local/share/opencode/auth.json) should look like:
{ "anthropic": { "type": "api", "key": "{env:ANTHROPIC_API_KEY}" }}In a project
Section titled “In a project”Add to .env.schema:
# @sensitive @requiredANTHROPIC_API_KEY=op(op://api-local/anthropic/api-key)
# @sensitiveOPENAI_API_KEY=op(op://api-local/openai/api-key)varlock run -- opencode
# or with a specific modelvarlock run -- opencode --model claude-3-5-sonnetFrom any directory
Section titled “From any directory”Personal schema at ~/.env.opencode:
# @sensitive @requiredANTHROPIC_API_KEY=op(op://api-local/anthropic/api-key)
# @sensitiveOPENAI_API_KEY=op(op://api-local/openai/api-key)varlock run -p ~/.env.opencode -- opencode
# or with a specific modelvarlock run -p ~/.env.opencode -- opencode --model claude-3-5-sonnetShell alias (optional)
Section titled “Shell alias (optional)”alias vopencode='varlock run -p ~/.env.opencode --no-redact-stdout -- opencode'See the Opencode docs for more information.