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

# Agents and Models

> Choose the agent provider, model, interaction mode, and reasoning effort per task and as defaults.

Every [task](/guides/tasks) runs one coding agent. Aether ships three selectable agent providers — **Codex** (the default), **Claude Code**, and **OpenCode** — each with its own curated model catalog and reasoning options. You pick the agent, model, interaction mode, and reasoning effort per task, and you can save those choices as project or account defaults.

## The Three Agents

| Agent | `agent_type` | Default model | Reasoning effort |
| - | - | - | - |
| Codex | `codex` | `gpt-6.1-sol` | `low`…`ultra` (model-dependent) |
| Claude Code | `claude-code` | `claude-opus-5-5` | `low`…`ultracode` (model-dependent) |
| OpenCode | `opencode` | `opencode-claude-sonnet-4-6` | `low`, `medium`, `high` (default), `max` |

<Note>
  A fourth agent, **Cursor** (`cursor`), is legacy: it is retired from new task selection, but existing Cursor tasks and connections keep working. See [Cursor (legacy)](#cursor-legacy).
</Note>

The platform default agent is `codex` with `interaction_mode: default`. Every agent — including Codex — runs under your own provider account, so you must connect that provider before running a task with it — see [Connect agent providers](/guides/connect-agent-providers).

### Codex

OpenAI Codex:

| Model slug | Name |
| - | - |
| `gpt-6-astra` | GPT-6 Astra |
| `gpt-6.1-sol` | GPT-6.1 Sol (default) |
| `gpt-6-sol` | GPT-6 Sol |
| `gpt-6-luna` | GPT-6 Luna |
| `gpt-5.6-sol` | GPT-5.6 Sol |
| `gpt-5.6-terra` | GPT-5.6 Terra |
| `gpt-5.6-luna` | GPT-5.6 Luna |
| `gpt-5.5` | GPT-5.5 |
| `gpt-5.4` | GPT-5.4 |
| `gpt-5.4-mini` | GPT-5.4 Mini |
| `gpt-5.3-codex-spark` | GPT-5.3 Codex Spark |

GPT-6 Sol supports `low`, `medium`, `high`, `xhigh`, `max`, and `ultra` reasoning effort. GPT-6.1 Sol and GPT-6 Luna support the same set up to `max`.

### Claude Code

Anthropic Claude Code. Seven models:

| Model slug | Name |
| - | - |
| `claude-opus-5` | Claude Opus 5 |
| `claude-opus-5-5` | Claude Opus 5.5 (default) |
| `claude-fable-5-1` | Claude Fable 5.1 |
| `claude-sonnet-5-5` | Claude Sonnet 5.5 |
| `claude-sonnet-5` | Claude Sonnet 5 |
| `claude-sonnet-4-6` | Claude Sonnet 4.6 |
| `claude-haiku-4-5` | Claude Haiku 4.5 |

Reasoning-effort options depend on the model. Fable 5.1, Opus 5.5, Opus 5, Sonnet 5.5, and Sonnet 5 accept the full range — `low`, `medium`, `high`, `xhigh`, `max`, `ultrathink`, `ultracode`. Sonnet 4.6 accepts the adaptive set — `low`, `medium`, `high`, `ultrathink`. The default effort is `xhigh`.

### OpenCode

OpenCode routes to a curated catalog of models across providers (OpenRouter, OpenCode Zen, Anthropic). The catalog includes Claude, GPT, Gemini, DeepSeek, Mimo, Kimi, Qwen, and GLM model variants; the default is `opencode-claude-sonnet-4-6`. Which models you can actually run depends on the credentials in your uploaded auth file and the provider's entitlements — selecting a model your bridge can't reach fails loudly.

OpenRouter-routed OpenCode models can use a [bring-your-own OpenRouter key](#openrouter-byok-for-opencode).

### Cursor (legacy)

Cursor is retired from new task selection; existing Cursor tasks and connections keep working. The Cursor agent (the `cursor-agent` CLI). Six models:

| Model slug | Name |
| - | - |
| `auto` | Auto (Cursor's selection) |
| `claude-sonnet` | Claude Sonnet 4.6 (default) |
| `claude-haiku` | Claude Haiku 4.5 |
| `gpt-5` | GPT-5.5 |
| `gemini-3-pro` | Gemini 3.1 Pro |
| `grok-4` | Grok 4.3 |

Cursor encodes thinking and context settings into the model itself, so it does not expose a separate reasoning-effort setting.

## Interaction Mode

Interaction mode controls how the agent starts work:

| Mode | Behavior |
| - | - |
| `default` | The agent starts editing and running code immediately. |
| `plan` | The agent proposes a plan and waits for your approval before making changes. |

## Selecting Per Task

Pass the agent, model, interaction mode, and reasoning effort when you create a task. Unset fields fall back to the project defaults.

<Tabs>
  <Tab title="Web">
    Open the task composer and use its settings menu to pick the agent, model, interaction mode, and reasoning effort before sending the prompt.
  </Tab>

  <Tab title="CLI">
    ```bash theme={"dark"}
    aether run "Add a health-check endpoint" \
      --agent-type claude-code \
      --model claude-opus-5 \
      --interaction-mode plan \
      --reasoning-effort high
    ```

    `aether task create --prompt "..."` accepts the same option flags. Pass `--reasoning-effort none` to clear the thinking level.
  </Tab>
</Tabs>

### Changing a Task's Settings

`aether task update` changes the model, interaction mode, and reasoning effort on an existing task. Its harness stays fixed. Only the flags you pass are changed.

```bash theme={"dark"}
aether task update <task-id> --model gpt-5.4 --reasoning-effort medium
```

When you send a follow-up, you can override the interaction mode and reasoning effort for that turn:

```bash theme={"dark"}
aether task respond <task-id> --message "Now add tests" --interaction-mode plan
```

## Setting Defaults

A new task inherits the agent, model, interaction mode, and reasoning effort from its project's [task defaults](/guides/projects#task-defaults). Update them once and every new task in that project starts from those settings.

<Tabs>
  <Tab title="Web">
    Set defaults in **Settings → Projects → Task defaults**, or save the current composer settings as the project default from the composer's settings menu.
  </Tab>

  <Tab title="CLI">
    ```bash theme={"dark"}
    aether project update <project-id> \
      --agent-type codex \
      --model gpt-5.5 \
      --interaction-mode default \
      --reasoning-effort xhigh
    ```
  </Tab>
</Tabs>

## OpenRouter BYOK for OpenCode

OpenCode models routed through OpenRouter can use your own OpenRouter API key. Add it once and OpenCode's OpenRouter-routed models use it.

```bash theme={"dark"}
aether opencode api-key
```

<Note>
  This OpenRouter key is only used for OpenCode's OpenRouter-routed models. Codex, Claude Code, and legacy Cursor authenticate through their own provider connections — see [Connect agent providers](/guides/connect-agent-providers).
</Note>

## Next Steps

<CardGroup cols={2}>
  <Card title="Connect Agent Providers" icon="plug" href="/guides/connect-agent-providers">
    Authenticate Codex, Claude Code, and OpenCode.
  </Card>

  <Card title="Tasks" icon="list-check" href="/guides/tasks">
    Create, watch, and respond to agent runs.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.