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

# AI provider integration in dotbot

> Supported AI providers in dotbot - Claude, Codex, Antigravity, Copilot, and OpenCode - covering permission modes, authentication, model tiers, and switching providers.

dotbot is multi-provider by design. You can switch between Claude, Codex, Antigravity, Copilot, and OpenCode from the Settings tab in the dashboard or by editing `.bot/.control/settings.json`, without changing any workflow files. Each provider has its own model configuration and permission modes. The runtime normalises invocations across all providers, so your workflow files stay the same regardless of which provider is active.

Each provider is configured by a file at `content/settings/providers/<name>.json` inside your dotbot installation. These files define the CLI executable, permission modes, and capability flags for each provider.

***

## Supported providers

### Claude

Anthropic's Claude CLI.

| Property         | Value                                                     |
| ---------------- | --------------------------------------------------------- |
| Setting value    | `claude`                                                  |
| Permission modes | `bypassPermissions` (default), `auto`                     |
| Session support  | Yes - sessions are maintained across turns for continuity |

**Permission modes:**

* `bypassPermissions` - Passes `--dangerously-skip-permissions` to the CLI. The agent operates without any permission prompts. Works on all plans and models.
* `auto` - AI classifier approves or blocks each action. Available on Max, Team, Enterprise, and API plans. Not available on the Pro plan or with the fast model tier.

**Model tiers (defaults):**

| Tier       | Default model ID    |
| ---------- | ------------------- |
| `fast`     | `claude-haiku-4-5`  |
| `balanced` | `claude-sonnet-4-6` |
| `best`     | `claude-opus-4-7`   |

***

### Codex

OpenAI's Codex CLI.

| Property         | Value                             |
| ---------------- | --------------------------------- |
| Setting value    | `codex`                           |
| Permission modes | `bypass` (default), `full-auto`   |
| Session support  | No - each invocation is stateless |

**Permission modes:**

* `bypass` - Passes `--dangerously-bypass-approvals-and-sandbox` to the CLI. Skips all approval and sandbox checks.
* `full-auto` - Workspace-scoped auto-approve with on-request approval for risky operations.

**Model tiers (defaults):**

| Tier       | Default model ID |
| ---------- | ---------------- |
| `fast`     | `gpt-5.4-mini`   |
| `balanced` | `gpt-5.4`        |
| `best`     | `gpt-5.5`        |

***

### Antigravity

Google's Antigravity CLI (`agy`). This provider replaces the previous Gemini provider.

| Property         | Value                             |
| ---------------- | --------------------------------- |
| Setting value    | `antigravity`                     |
| Permission modes | `yolo` (default), `auto_edit`     |
| Session support  | No - each invocation is stateless |

**Permission modes:**

* `yolo` - Auto-approves all tool calls without prompts.
* `auto_edit` - Uses Antigravity's default permission review flow.

**Model tiers (defaults):**

| Tier       | Default model ID   |
| ---------- | ------------------ |
| `fast`     | `gemini-3.5-flash` |
| `balanced` | `gemini-3.5-flash` |
| `best`     | `gemini-3.5-flash` |

***

### Copilot

GitHub Copilot CLI.

| Property         | Value                             |
| ---------------- | --------------------------------- |
| Setting value    | `copilot`                         |
| Permission modes | `bypass` (default), `workspace`   |
| Session support  | No - each invocation is stateless |

**Permission modes:**

* `bypass` - Allows all tools, paths, and URLs; disables user prompts; enables autonomous continuation.
* `workspace` - Allows local read, write, and shell tools across the workspace without granting access to all URLs.

**Model tiers (defaults):**

| Tier       | Default model ID                                               |
| ---------- | -------------------------------------------------------------- |
| `fast`     | `auto` - Copilot selects the fastest suitable model            |
| `balanced` | `auto` - Copilot balances speed, cost, and capability          |
| `best`     | `auto` - Copilot selects the best available model for the task |

Copilot manages its own model routing, so dotbot passes `auto` for all tiers by default. You can set a specific model ID in the `providers.copilot.models` block if you want to pin a particular model.

***

### OpenCode

OpenCode by SST.

| Property         | Value                             |
| ---------------- | --------------------------------- |
| Setting value    | `opencode`                        |
| Permission modes | `bypass` (default)                |
| Session support  | No - each invocation is stateless |

**Permission modes:**

* `bypass` - Auto-approves permissions that are not explicitly denied.

**Model tiers (defaults):**

| Tier       | Default model ID                |
| ---------- | ------------------------------- |
| `fast`     | `opencode-go/deepseek-v4-flash` |
| `balanced` | `opencode-go/deepseek-v4-pro`   |
| `best`     | `opencode-go/kimi-k2.6`         |

***

## Per-task model selection

Individual tasks can override the process-level model tier by setting the `model` field in `task_create` or in the workflow's `tasks` array. This lets you use faster models for simple tasks and reserve more capable models for complex architectural work.

```json theme={null}
{
  "name": "Generate boilerplate controllers",
  "description": "Scaffold standard CRUD controllers from the entity model.",
  "model": "fast"
}
```

The `model` field accepts a tier name: `fast`, `balanced`, or `best`. dotbot resolves the tier to the concrete model ID using the active provider's model map in the `providers` block of your settings. The default tier for both analysis and execution is `best`.

<Warning>
  Model tiers are provider-agnostic names. Setting `model: "best"` for a Claude task resolves to `claude-opus-4-7` by default; the same setting for an OpenCode task resolves to `opencode-go/kimi-k2.6`. You can override these mappings in the `providers` block of your settings file.
</Warning>

***

## Provider detection in the dashboard

The Settings tab automatically detects installed AI CLIs by scanning the system PATH. For each provider it reports:

* Whether the CLI is installed.
* The detected version.
* Authentication status (logged in / API key present / not authenticated).

This detection runs when the Settings tab is first opened, giving you immediate visibility into which providers are available before starting a workflow.

***

## Switching providers

You can switch providers in two ways:

**Via the Settings tab:** Open the dashboard, go to the Settings tab, and select a provider from the Provider dropdown. The change is written to `.bot/.control/settings.json` and takes effect immediately for the next workflow run.

**Via settings.json directly:** Edit `.bot/.control/settings.json`:

```json theme={null}
{
  "provider": "antigravity"
}
```

Valid values: `claude`, `codex`, `antigravity`, `copilot`, `opencode`.

<Note>
  Switching providers mid-workflow is supported but may produce inconsistent results if the new provider's models have different context window sizes or capability profiles. Complete or pause the current workflow before switching providers.
</Note>
