Configuration
Beta · Tabnine plugin for OpenCode v0.5.1
tabnine-opencode is configured with standard opencode config files: JSON files that set your host, models, MCP servers, permissions, and more. This page is the reference for where those files live in the Tabnine distribution, how to edit them, and how they combine.
If you just installed, see Install first.
Where configuration lives
tabnine-opencode reads several config files and layers them together. You'll usually edit just one: the Tabnine config directory file.
Tabnine config (opencode.json)
~/.tabnine/opencode/config/opencode.json
The main file to edit for the Tabnine copy. Holds the Tabnine plugin entry, your host, models, MCP servers, and permissions. Applies to every tabnine-opencode session.
Tabnine TUI settings (tui.json)
~/.tabnine/opencode/config/tui.json
A separate file for terminal-interface settings only (such as theme and keybindings). It is not part of the opencode.json layering described below. The installer also registers the plugin here; you rarely edit it by hand.
Project config (opencode.json or opencode.jsonc)
A project's root directory
Settings that apply only when you run tabnine-opencode inside that project. Commit it to share settings with your team.
Personal global config (opencode.json)
~/.config/opencode/opencode.json
Your personal opencode config. It applies to tabnine-opencode as well, so settings you already use with opencode carry over.
On Windows, these paths live under %USERPROFILE%\.tabnine\opencode\config\ and %USERPROFILE%\.config\opencode\ respectively.
Editing a config file
Every opencode config file is JSON. Start it with the $schema line so your editor can validate and autocomplete keys:
{
"$schema": "https://opencode.ai/config.json"
}To change a setting, open ~/.tabnine/opencode/config/opencode.json, add your keys, and keep the JSON valid (no trailing commas, quoted keys). For example, to set your Tabnine host:
Replace /Users/you with your home directory. The installer already wrote the plugin entry, so in practice you're editing the object next to it rather than adding it from scratch.
Choosing where to put a setting
Everywhere: put it in the Tabnine config directory,
~/.tabnine/opencode/config/opencode.json. It then applies to everytabnine-opencodesession, in any directory.One project only: put it in an
opencode.json(oropencode.jsonc) in that project's root. It applies only when you runtabnine-opencodefrom inside that project, and you can commit it so your team shares it.
How settings combine
The config files are layered on top of each other, and where the same key is set in more than one place, the layer applied last wins. In short:
So a value in the Tabnine config directory overrides the same value from a project file, which overrides the same value from your personal global config.
opencode reference: configuration is a standard opencode feature; for the full list of options and the complete precedence order, see the opencode Config docs.
Common things to configure
Models: choose which Tabnine model runs and set a default. See Sign-in and Models.
MCP servers: add your own local or remote MCP servers, and turn the built-in Tabnine servers on or off. See MCP Servers.
Proxy, custom CA, and debug logs: environment settings for corporate networks and log collection. See Troubleshooting.
Last updated
Was this helpful?
