Config
You can configure opencode using a JSON config file that can be placed in:
- Globally under
~/.config/opencode/config.json
. - Your project root under
opencode.json
. This is safe to be checked into Git and uses the same schema as the global one.
{ "$schema": "https://opencode.ai/config.json", "theme": "opencode", "model": "anthropic/claude-sonnet-4-20250514", "autoshare": false, "autoupdate": true}
In most cases, you’ll want to use the global config for things like themes, providers, or keybinds. Having a config per project is useful if you are using different providers for your company.
When opencode starts up, it looks for a config file in the current directory or traverse up to the nearest Git directory.
Schema
The config file has a schema that’s defined in opencode.ai/config.json
.
Your editor should be able to validate and autocomplete based on the schema.
Models
You can configure the providers and models you want to use in your opencode config through the provider
and model
options.
{ "$schema": "https://opencode.ai/config.json", "provider": { }, "model": ""}
Themes
You can configure the theme you want to use in your opencode config through the theme
option.
{ "$schema": "https://opencode.ai/config.json", "theme": ""}
Keybinds
You can customize your keybinds through the keybinds
option.
{ "$schema": "https://opencode.ai/config.json", "keybinds": { }}
MCP servers
You can configure MCP servers you want to use through the mcp
option.
{ "$schema": "https://opencode.ai/config.json", "mcp": { }}