> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ollama.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCode

[OpenCode](https://opencode.ai) is an open-source coding agent that runs in your terminal, reads your project, edits files, and runs commands.

Ollama configures OpenCode to use local and cloud models.

## Get started

Launch OpenCode with Ollama:

```shell theme={"system"}
ollama launch opencode
```

## Capabilities

<div className="capability-list capability-list-full">
  <div className="capability-list-grid">
    <div className="capability-list-item">
      <div className="capability-list-icon">
        <Icon icon="comment" />
      </div>

      <div>
        <div className="capability-list-heading">Chat</div>
        <div className="capability-list-copy">Ask questions about a repository or task</div>
      </div>
    </div>

    <div className="capability-list-item">
      <div className="capability-list-icon">
        <Icon icon="terminal" />
      </div>

      <div>
        <div className="capability-list-heading">Command line</div>
        <div className="capability-list-copy">Run commands from your working directory</div>
      </div>
    </div>

    <div className="capability-list-item">
      <div className="capability-list-icon">
        <Icon icon="code" />
      </div>

      <div>
        <div className="capability-list-heading">File edits</div>
        <div className="capability-list-copy">Read and edit files in your project</div>
      </div>
    </div>

    <div className="capability-list-item">
      <div className="capability-list-icon">
        <Icon icon="users" />
      </div>

      <div>
        <div className="capability-list-heading">Subagents</div>
        <div className="capability-list-copy">Split work across tasks</div>
      </div>
    </div>

    <div className="capability-list-item">
      <div className="capability-list-icon">
        <Icon icon="file-text" />
      </div>

      <div>
        <div className="capability-list-heading">Web fetch</div>
        <div className="capability-list-copy">Fetch and summarize web pages</div>
      </div>
    </div>

    <div className="capability-list-item">
      <div className="capability-list-icon">
        <Icon icon="image" />
      </div>

      <div>
        <div className="capability-list-heading">Vision</div>
        <div className="capability-list-copy">Send images and screenshots</div>
      </div>
    </div>
  </div>
</div>

## Models

Choose a model with enough context for your repository.

<CardGroup cols={2}>
  <Card title="Cloud models" icon="cloud" href="https://ollama.com/search?c=cloud">
    Use larger models without downloading them.
  </Card>

  <Card title="Local models" icon="hard-drive" href="https://ollama.com/search?c=tools">
    Choose a model and set a 64k+ context window.
  </Card>
</CardGroup>

<Note>OpenCode requires a context length of 64k or higher. See [Context length](/context-length) for more information.</Note>

## Manual setup

<p className="manual-step-title">1. Install OpenCode</p>

<CodeGroup>
  ```shell macOS / Linux theme={"system"}
  curl -fsSL https://opencode.ai/install | bash
  ```

  ```powershell Windows theme={"system"}
  npm install -g opencode-ai
  ```
</CodeGroup>

<p className="manual-step-title">2. Configure Ollama as a provider</p>

Add an Ollama provider to `opencode.json`:

```json theme={"system"}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3.5": {
          "name": "qwen3.5"
        }
      }
    }
  }
}
```

<p className="manual-step-title">3. Run OpenCode</p>

```shell theme={"system"}
opencode
```

To configure OpenCode with Ollama without starting an interactive session:

```shell theme={"system"}
ollama launch opencode --config
```

### Configuration precedence

`ollama launch opencode` starts OpenCode with an inline config for the selected Ollama model. It does not overwrite `~/.config/opencode/opencode.json`; existing OpenCode settings still apply.

Models defined only in `opencode.json` do not appear in the `ollama launch` model picker.

See OpenCode's [config precedence](https://opencode.ai/docs/config/#precedence-order).
