Skip to content

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_KEY for Claude models
  • OPENAI_API_KEY for OpenAI models
  • OPENCODE_CONFIG path to custom config file (optional)

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:

~/.local/share/opencode/auth.json
{
"anthropic": {
"type": "api",
"key": "{env:ANTHROPIC_API_KEY}"
}
}

Add to .env.schema:

# @sensitive @required
ANTHROPIC_API_KEY=op(op://api-local/anthropic/api-key)
# @sensitive
OPENAI_API_KEY=op(op://api-local/openai/api-key)
Terminal window
varlock run -- opencode
# or with a specific model
varlock run -- opencode --model claude-3-5-sonnet

Personal schema at ~/.env.opencode:

~/.env.opencode
# @sensitive @required
ANTHROPIC_API_KEY=op(op://api-local/anthropic/api-key)
# @sensitive
OPENAI_API_KEY=op(op://api-local/openai/api-key)
Terminal window
varlock run -p ~/.env.opencode -- opencode
# or with a specific model
varlock run -p ~/.env.opencode -- opencode --model claude-3-5-sonnet
Terminal window
alias vopencode='varlock run -p ~/.env.opencode --no-redact-stdout -- opencode'

See the Opencode docs for more information.