Models and harnesses
A session runs on Claude Code or Codex; a model, effort or speed change applies from the next model request
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:
@computer +smart work out why the importer drops rowsA 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.
!statusshows the model, the effort once it is set, and the speed when it isstandard. 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 faston 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.
Harnesses
| Claude Code | Codex | |
|---|---|---|
| Started before the first message (faster first reply) | Yes | No |
| Subagents | Yes | No |
| Permission modes | default, acceptEdits, plan, auto, bypassPermissions | default, bypassPermissions |
Cost shown in !status | Yes | No |
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.