For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

File
Location
What it's for

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.

OPENCODE_CONFIG_DIR is set for you. The tabnine-opencode launcher automatically points opencode's config directory at ~/.tabnine/opencode/config. You do not set OPENCODE_CONFIG_DIR yourself, and you do not need to. That's why the Tabnine copy reads its own isolated opencode.json instead of only your personal one.

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.

Restart to apply. Config changes are read at startup. If a tabnine-opencode session is already running, exit and relaunch it for your edits to take effect.

Choosing where to put a setting

  • Everywhere: put it in the Tabnine config directory, ~/.tabnine/opencode/config/opencode.json. It then applies to every tabnine-opencode session, in any directory.

  • One project only: put it in an opencode.json (or opencode.jsonc) in that project's root. It applies only when you run tabnine-opencode from 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:

1

Your personal global config

Your personal global config (~/.config/opencode/opencode.json) is the base.

2

Project files

Project files are layered on top of it.

3

Tabnine config directory

The Tabnine config directory (~/.tabnine/opencode/config) is applied last, so it wins where the same key is set in more than one place.

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?