> For the complete documentation index, see [llms.txt](https://docs.tabnine.com/main/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tabnine.com/main/getting-started/tabnine-plugin-for-opencode.md).

# Tabnine Plugin for OpenCode

> **Beta** · Tabnine plugin for OpenCode v0.5.0

## Overview and Quickstart

The **Tabnine plugin for OpenCode** is Tabnine's distribution of the [OpenCode](https://opencode.ai/docs/) CLI coding agent. It installs a managed copy of OpenCode together with the Tabnine plugin, which you launch with the `tabnine-opencode` command. You use OpenCode's features with Tabnine sign-in, Tabnine-served models, built-in Tabnine MCP servers, and your organization's Tabnine governance applied on top.

This guide covers:

* What Tabnine adds to OpenCode
* How your organization's governance applies
* Supported platforms
* How it relates to an OpenCode install you may already have
* A quickstart: launch, sign in, pick a model, and send your first prompt

### What Tabnine adds to OpenCode

* **Managed OpenCode install** – Tabnine installs and maintains its own copy of OpenCode with the Tabnine plugin already configured, so you run a known version without wiring anything up yourself. See [Install](/main/getting-started/tabnine-plugin-for-opencode/install.md).
* **Tabnine sign-in** – you authenticate with your Tabnine account, and every model request uses your Tabnine credentials. See [Signing In and Working with Models](/main/getting-started/tabnine-plugin-for-opencode/sign-in-and-models.md).
* **Tabnine-served models** – the model list shows only models served through Tabnine (`tabnine/...`) that your organization has enabled. The provider is locked to `tabnine`, so no other providers appear.
* **Built-in Tabnine MCP servers** – Remote Codebase Search (`tabnine-context`) and Coaching Guidelines (`tabnine-coaching`) register automatically, with no configuration. See [MCP Servers](/main/getting-started/tabnine-plugin-for-opencode/mcp-servers.md).
* **Organization governance** – your organization's Tabnine policies apply automatically. See [Organization governance](#organization-governance).
* **Tabnine branding** – a Tabnine theme and wordmark, plus `/tabnine` commands in the terminal UI.

Everything else you see in a session is standard OpenCode. `tabnine-opencode` also reads your existing opencode configuration, so any settings and MCP servers you already use with OpenCode apply when you run `tabnine-opencode` as well. See [MCP Servers](/main/getting-started/tabnine-plugin-for-opencode/mcp-servers.md) for adding servers.

**opencode reference:** OpenCode is the underlying agent that `tabnine-opencode` bundles; see the OpenCode [documentation](https://opencode.ai/docs/).

### Organization governance

A key part of what the Tabnine plugin adds is that `tabnine-opencode` enforces the Tabnine governance your organization's administrators configure. This includes:

* [**Agent guidelines**](/main/getting-started/tabnine-agent/guidelines.md) authored by your administrators and applied to the agent's behavior.
* [**Tool governance**](/main/administering-tabnine/managing-your-team/settings/native-tools.md), which can prompt you before the agent edits files or runs commands, or block a tool entirely.
* [**MCP governance**](/main/administering-tabnine/managing-your-team/settings/mcp-governance.md), which controls which MCP servers you can use.
* **Provider lockdown and model availability**, so only the Tabnine-served models your organization enables are available.
* **Quota and license** limits.

You don't configure these policies here; they apply automatically when you use `tabnine-opencode`. Administrators manage them in the [Tabnine admin console](/main/administering-tabnine/managing-your-team.md).

### Supported platforms

| Platform | Architectures              | Installer artifact       |
| -------- | -------------------------- | ------------------------ |
| macOS    | x64, arm64 (Apple silicon) | `.run` (self-extracting) |
| Linux    | x64, arm64                 | `.run` (self-extracting) |
| Windows  | x64, arm64                 | `.exe` (self-extracting) |

There's nothing to install first. On Windows, the installer runs on Windows PowerShell 5.1, which is preinstalled on Windows 10 and 11. Full steps, flags, and uninstall are in [Install](/main/getting-started/tabnine-plugin-for-opencode/install.md).

### Your Own OpenCode Stays Untouched

Tabnine installs its own copy of OpenCode, fully contained under `~/.tabnine/opencode`. It does not depend on or change an OpenCode you already have. The `tabnine-opencode` launcher only ever runs the Tabnine-installed binary (it never falls back to an OpenCode on your `PATH`), and it uses its own config directory under `~/.tabnine/opencode`.

Sign-in is shared: your credentials live in OpenCode's shared data directory, so one Tabnine sign-in covers both the Tabnine copy and your own OpenCode (if you chose to add the Tabnine plugin to it during install; see [Install](/main/getting-started/tabnine-plugin-for-opencode/install.md)).

### Quickstart

Before you start, make sure you've [installed](/main/getting-started/tabnine-plugin-for-opencode/install.md) the plugin and [signed in](/main/getting-started/tabnine-plugin-for-opencode/sign-in-and-models.md).

{% stepper %}
{% step %}

#### Launch

Open a **new shell** (so the installer's `PATH` changes take effect) in a project folder and run:

```bash
tabnine-opencode
```

{% hint style="info" %}
**Working in the TUI**

`tabnine-opencode` opens an interactive terminal UI (TUI), so you can do most things there instead of on the command line. Press **Ctrl+P** to open the command palette, or type a slash command such as `/models` (switch model), `/connect` (sign in), `/mcps` (view MCP servers), or `/help`. For sign-in and model details, see [Signing In and Working with Models](/main/getting-started/tabnine-plugin-for-opencode/sign-in-and-models.md).
{% endhint %}
{% endstep %}

{% step %}

#### The Tabnine look

You'll know you're in the Tabnine distribution:

* The home screen shows the **Tabnine** wordmark with the tagline "AI coding assistant".
* The bottom bar shows a **◆ Tabnine** marker.
* A one-time **"Tabnine plugin ready"** toast appears on first load.
* The Tabnine brand theme (violet and teal, with dark and light variants) is applied on first launch. Your own theme choice is never overridden afterward. To bring the Tabnine theme back at any time, run `/tabnine-theme`.
  {% endstep %}

{% step %}

#### Pick a model

Only Tabnine-served models appear. Model keys are readable slugs like `tabnine/claude-4-5-sonnet`. To list them from the command line:

```bash
tabnine-opencode models
```

To launch with a specific model:

```bash
tabnine-opencode --model tabnine/<key>
```

In the TUI, switch models with the `/models` slash command. You can also pin a default model in your config. For model keys and sign-in, see [Signing In and Working with Models](/main/getting-started/tabnine-plugin-for-opencode/sign-in-and-models.md).

{% hint style="info" %}
**Seeing "Login required" instead of models?**

That placeholder entry means you're not signed in. Sign in with `/connect` in the TUI (or run `tabnine-opencode auth login`), then restart `tabnine-opencode`. The real model list loads on the next launch. More in [Signing In and Working with Models](/main/getting-started/tabnine-plugin-for-opencode/sign-in-and-models.md).
{% endhint %}
{% endstep %}

{% step %}

#### Send your first prompt

Type a prompt at the input box and press **Enter**. For example:

```
Explain what this project does and how it's structured.
```

The agent can search your codebase as it works. For codebase-wide questions, it prefers the built-in **Remote Codebase Search** tools.
{% endstep %}

{% step %}

#### Approve tool actions

When the agent wants to act on your machine (write a file, edit code, or run a shell command), OpenCode may show a permission prompt first, depending on your settings and your organization's tool-approval policy. Review what the agent is asking to do and approve it to let the agent proceed. If your organization has disabled a tool, the action is blocked and a message tells you it's disabled by your organization's administrator.
{% endstep %}

{% step %}

#### Handy commands

* `/tabnine` – opens the **About Tabnine** dialog: what the Tabnine integration adds to the session, plus the running OpenCode version. Also available from the command palette and the default keybinding **Ctrl+Shift+T**.
* `/tabnine-theme` – re-applies the Tabnine theme.
* `/mcps` – shows connected MCP servers, including the built-in Tabnine servers.
  {% endstep %}

{% step %}

#### Check your version

```bash
tabnine-opencode --version
```

This prints `tabnine-opencode <version>`, the version of the Tabnine bundle. The underlying OpenCode version is shown in the `/tabnine` About dialog. Keep this handy when you contact support.
{% endstep %}
{% endstepper %}

### Next Steps

You're all set! From here:

* [Install](/main/getting-started/tabnine-plugin-for-opencode/install.md) – full installation steps for macOS, Linux, and Windows, plus updates and versioning.
* [Signing In and Working with Models](/main/getting-started/tabnine-plugin-for-opencode/sign-in-and-models.md) – sign-in methods, tokens, and choosing models.
* [MCP Servers](/main/getting-started/tabnine-plugin-for-opencode/mcp-servers.md) – built-in Tabnine servers and adding your own.
* [Scripts and CI](/main/getting-started/tabnine-plugin-for-opencode/scripts-and-ci.md) – headless and non-interactive use.
* [Migrating from Tabnine CLI](/main/getting-started/tabnine-plugin-for-opencode/migrating-from-tabnine-cli.md) – move your CLI configuration and `TABNINE.md` context files.
* [Troubleshooting](/main/getting-started/tabnine-plugin-for-opencode/troubleshooting.md) – fixes for common issues.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tabnine.com/main/getting-started/tabnine-plugin-for-opencode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
