Send a `claude_code` block to run a session with Claude Code:

```json
{
  "claude_code": {
    "prompt": "Find and fix the failing test.",
    "model": "claude-opus-5-5",
    "effort": "high"
  }
}
```

In agent YAML, the same fields go under `session.claude_code`. The CLI picks the harness from `--model`.

## Options

| Field | Type | Meaning |
| --- | --- | --- |
| `prompt` | `string` | The task. |
| `model` | `string`, required | A Claude Code model from [Models](/docs/models#current-support). |
| `effort` | `string` | Reasoning effort, where the model supports it. One of `low`, `medium`, `high`, `xhigh`, `max`. |
| `max_turns` | `integer` | The most turns the agent can take on each message, a whole number above 0. |
| `fallback_model` | `string` | The model Claude Code switches to when `model` is overloaded. Default none. |
| `settings` | `object` | A Claude Code `settings.json` in a repository, applied below the settings Ellipsis manages. Hooks stay disabled. |
| `settings.path` | `string`, required | Path of the file, relative to the repository root. |
| `settings.repository` | `object` | Where `path` resolves. Default the repository this file lives in. |
| `settings.repository.name` | `string`, required | The repository name, without the owner. |
| `settings.repository.owner` | `string` | The GitHub owner. Default your account. |
| `settings.repository.ref` | `string` | Branch, tag, or commit. Default the default branch. |

| Model | Effort levels | Default effort |
| --- | --- | --- |
| Claude Opus 5.5, Sonnet 5.5, and Haiku 5.5 | All 5 | `medium` |
| Claude Fable 5.1 | All 5 | `high` |

## Features

| Feature | Support |
| --- | --- |
| Follow-up messages | All models |
| [MCP servers](/docs/environments/schema#add-an-mcp-server) | All models |
| [JSON output](/docs/agents/schema#typed-input-and-output) | All models |
| [Skills](/docs/agents/schema#add-a-codex-skill) | Not supported; use Codex |
| Images in messages | All models |
| [Settings file](#options) | All models |
