What Are Categories?
Categories enable domain-specific model delegation. When Sisyphus delegates work via thetask() tool, it selects a category (not a model name directly).
This allows:
- Specialized models for different task types
- Centralized model configuration
- Automatic model selection based on task domain
- Cost optimization (cheap models for simple tasks, powerful models for complex work)
Built-in Categories
oh-my-opencode provides 8 built-in categories:| Category | Default Model | Variant | Purpose |
|---|---|---|---|
| visual-engineering | google/gemini-3-pro | high | Frontend, UI/UX, design, animation |
| ultrabrain | openai/gpt-5.3-codex | xhigh | Deep logical reasoning, complex architecture |
| deep | openai/gpt-5.3-codex | medium | Autonomous problem-solving, thorough research |
| artistry | google/gemini-3-pro | high | Creative/unconventional approaches |
| quick | anthropic/claude-haiku-4-5 | — | Trivial tasks, typo fixes, single-file changes |
| unspecified-low | anthropic/claude-sonnet-4-6 | — | General tasks, low effort |
| unspecified-high | anthropic/claude-opus-4-6 | max | General tasks, high effort |
| writing | kimi-for-coding/k2p5 | — | Documentation, prose, technical writing |
Built-in defaults only apply if the category is present in your config. Otherwise the system default model is used.
Basic Configuration
Configure categories under thecategories key:
Category Options
All categories support these configuration options:Model Selection
Model override in
provider/model format.Model variant for thinking budget. Options:
max, xhigh, high, medium, lowFallback models on API errors. Used with
runtime_fallback.Sampling Parameters
Sampling temperature (0.0–2.0). Higher = more creative.
Top-p sampling (0.0–1.0). Alternative to temperature.
Response Control
Maximum tokens for response.
Text verbosity level:
low, medium, highThinking Configuration
Anthropic extended thinking configuration.Fields:
type:"enabled"or"disabled"budgetTokens: Maximum thinking tokens (optional)
OpenAI reasoning effort:
low, medium, high, xhighTool Restrictions
Allowed tools for this category.
Prompt Customization
Text to append to the category’s system prompt.
Human-readable description shown in
task() tool prompt.Stability Control
Force background mode for monitoring. Auto-enabled for Gemini/MiniMax models.
Disable this category. Disabled categories are excluded from task delegation.
Custom Categories
Create custom categories for specific domains:Model Variants
Variants control the thinking budget for models:| Variant | Anthropic Budget | OpenAI Reasoning | Use Case |
|---|---|---|---|
max | ~500k tokens | — | Most complex reasoning |
xhigh | ~300k tokens | xhigh | Deep architectural work |
high | ~200k tokens | high | Complex problem-solving |
medium | ~100k tokens | medium | Standard tasks |
low | ~50k tokens | low | Simple, quick tasks |
Thinking Budgets
Control extended thinking for deep reasoning:Anthropic Extended Thinking
OpenAI Reasoning Effort
Disabling Categories
Two ways to disable categories: Method 1: Per-categorydisable
disabled_categories array
Provider Fallback Chains
Each category has a default provider fallback chain:| Category | Provider Priority |
|---|---|
| visual-engineering | google → zai-coding-plan → anthropic → kimi-for-coding |
| ultrabrain | openai → google → anthropic (via github-copilot/opencode) |
| deep | openai → anthropic → google (via github-copilot/opencode) |
| artistry | google → anthropic → openai (via github-copilot/opencode) |
| quick | anthropic → google → opencode (via github-copilot/opencode) |
| unspecified-low | anthropic → openai → google (via github-copilot/opencode) |
| unspecified-high | anthropic → openai → google (via github-copilot/opencode) |
| writing | kimi-for-coding → google → anthropic |
Complete Example
A comprehensive category configuration:Next Steps
Agent Configuration
Configure individual agents
Background Tasks
Control parallel execution and concurrency