Switch agent model presets at runtime using the /preset TUI slash command.
/preset opens a three-level preset manager in the TUI — pure TUI, like
the built-in /models, so it triggers no LLM turn.
| Level | What you do |
|---|---|
| 1. Preset list | Apply / Edit / Delete an existing preset, or create a new one |
| 2. Agent arrangement | Add / remove / edit the agents in a preset, then Save (or Save & Apply) |
| 3. Edit agent | Pick model → variant (thinking strength) → temperature → options (JSON) |
/presetis a TUI-only slash command (like/models). Invoke it via autocomplete selection or a keybind. Typing/preset+ Enter does not open the manager (same design as/models).
oh-my-opencode-slim.jsonc under the presets
field, or create them interactively from the manager@opencode-ai/plugin (tracked in #799).The model picker lists every model from all connected providers (fetched from
the server's provider registry). If the chosen model exposes variants (e.g.
thinking, high, low), a variant picker follows — this is the "thinking
strength" selector. Temperature is a numeric prompt (0–2 or blank). Options is
a raw JSON prompt for provider-specific settings (e.g.
{"thinking":{"type":"enabled","budgetTokens":10000}}).
{
"presets": {
"cheap": {
"orchestrator": { "model": "anthropic/claude-3.5-haiku" },
"explorer": { "model": "openai/gpt-5.6-luna" },
"oracle": { "model": "anthropic/claude-sonnet-4-6" }
},
"powerful": {
"orchestrator": { "model": "openai/gpt-5.6" },
"oracle": { "model": "anthropic/claude-opus-4-6" },
"librarian": { "model": "anthropic/claude-sonnet-4-6" }
},
"thinking": {
"oracle": {
"model": "anthropic/claude-sonnet-4-6",
"variant": "thinking",
"options": { "thinking": { "type": "enabled", "budgetTokens": 10000 } }
}
}
}
}
The following fields are applied when the preset is loaded on restart:
| Field | Description |
|---|---|
model |
Model ID in provider/model format. Array form (fallback chains) is resolved to the first entry |
temperature |
Inference temperature (0-2) |
variant |
Model variant (e.g. "thinking") |
options |
Provider-specific options (e.g. thinking budget) |
Fields not applied at runtime (require restart): prompt, skills, mcps, displayName.
There are two ways to activate a preset:
| Method | How | Persists? |
|---|---|---|
| Config file | Set "preset": "cheap" in oh-my-opencode-slim.jsonc |
Yes, across restarts |
/preset TUI command |
Select a preset from the picker during a session | Yes — writes to config file |
The /preset TUI command writes the selected preset name to the config file,
so the switch persists across restarts. Reload OpenCode for the new preset
to take effect on the agent registry. The current session continues
uninterrupted with its existing models.
See Configuration for the full preset option reference.