> ## Documentation Index
> Fetch the complete documentation index at: https://c42d5cb-opencomputer.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://c42d5cb-opencomputer.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://c42d5cb-opencomputer.manicule.dev/api/mcp.
> Every agent surface: https://c42d5cb-opencomputer.manicule.dev/.well-known/llms-manifest.json

# Models and harnesses (/slack/models-and-harnesses)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 892 · updated: 2026-11-12 -->
Related: [Threads](/slack/threads.md), [Shared threads](/slack/shared-threads.md), [Linked and spawned threads](/slack/linked-and-spawned-threads.md), [Mid-turn messages](/slack/mid-turn-messages.md), [Permission modes](/slack/permission-modes.md), [Approvals, questions and plans](/slack/approvals-questions-plans.md)

> A session runs on Claude Code or Codex; a model, effort or speed change applies from the next model request

<Frame>
  <img src="/_assets/c00dd86bf236e2c1e4d1bea55088b4bf8ffedc13897381d13ba2b7e7fc442f34" alt="Answers to !model smart, !effort without an argument, and !effort high" width="1552" height="1248" />
</Frame>

## Tiers

| Tier      | Claude Code                                                     | Codex         |
| --------- | --------------------------------------------------------------- | ------------- |
| `default` | `claude-opus-5-5`, or the `MODEL` environment variable when set | `gpt-6.1-sol` |
| `smart`   | `claude-fable-5-2`                                              | `gpt-6-astra` |
| `fast`    | `claude-sonnet-5-5`                                             | `gpt-6-luna`  |

A new session starts on `default`. Start a message with `+smart`, `+fast` or `+default` to switch the session's model and send the rest of the message to it:

```text
@computer +smart work out why the importer drops rows
```

A message that is only the tier switches the model and starts no turn.

## Commands

| Command   | Argument                                                       | Default   |
| --------- | -------------------------------------------------------------- | --------- |
| `!model`  | A tier (`smart`, `fast`, `default`) or a model id              | `default` |
| `!effort` | `low`, `medium`, `high`, `xhigh`, `max`; on Codex also `ultra` | `medium`  |
| `!speed`  | `fast`, `standard`                                             | `fast`    |

* Without an argument, each command shows the current value and the choices. `!status` shows the model, the effort once it is set, and the speed when it is `standard`. See Slack commands.
* If the harness refuses a model, the session answers `can't switch to <model>: <reason>; still on <current>` and nothing changes.
* `!speed fast` on Claude Code turns on fast mode, which affects only models that have one. On Codex it is the provider's priority tier.
* Which provider account pays: [Model credentials](/self-hosting/configure).

<Frame>
  <img src="/_assets/134d4c4f8f067777a38279537112cc558d62920c63df2f17837b302e519bf79c" alt="Answer to !status: model, effort, context size and thread cost, then thread id, working directory, session id and bot version" width="1552" height="842" />
</Frame>

## Harnesses

|                                                       | Claude Code                                                   | Codex                          |
| ----------------------------------------------------- | ------------------------------------------------------------- | ------------------------------ |
| Started before the first message (faster first reply) | Yes                                                           | No                             |
| [Subagents](/slack/subagents)                         | Yes                                                           | No                             |
| [Permission modes](/slack/permission-modes)           | `default`, `acceptEdits`, `plan`, `auto`, `bypassPermissions` | `default`, `bypassPermissions` |
| Cost shown in `!status`                               | Yes                                                           | No                             |

<Note>Not in the open-source code yet (model proxy). The public build runs every session on Claude Code: without the proxy a Codex session fails to start, the public gateway never asks for one, and no Slack command selects a harness.</Note>
