model | ✅ | ✅ | Default model when no persisted active model is set. |
small_model / smallModel | ✅ | ✅ | Not enabled by default. When configured, crabcode uses it for lightweight tasks such as session title generation. |
default_agent | ✅ | ✅ | Selects the startup agent mode. |
command config | ✅ | ✅ | JSON-defined slash commands with template, description, agent, model, and subtask. |
.opencode/commands/*.md | ✅ | ✅ | Markdown command files, including nested names. |
.crabcode/commands/*.md | | ✅ | crabcode-specific command overrides. |
$ARGUMENTS, $1, $2 | ✅ | ✅ | The final positional placeholder consumes the rest of the arguments. |
!`command` in command files | ✅ | ✅ | Runs from the project root and injects command output. |
@path file references in commands | ✅ | ✅ | File or directory content is appended to the rendered prompt. |
AGENTS.md project instructions | ✅ | ✅ | crabcode walks up from the working directory and prefers AGENTS.md over CLAUDE.md in the same directory. |
~/.config/crabcode/AGENTS.md | | ✅ | crabcode global instructions. |
| Claude Code fallback rules | ✅ | ✅ | CLAUDE.md and ~/.claude/CLAUDE.md are read unless disabled by crabcode environment flags. |
| Skills | ✅ | ✅ | Reads SKILL.md files from OpenCode, crabcode, Claude, and .agents skill roots. |
agent.<name>.tools | ✅ | ✅ | Tool allowlists feed the runtime agent registry. |
agent.<name>.permission | ✅ | ✅ | Agent-specific permission rules override global rules. |
agent.<name>.task_permissions | ✅ | ✅ | Controls which subagents an agent may invoke through Task. |
agent.<name>.steps / maxSteps / max_steps | ✅ | ✅ | Registry max-step values apply to primary agents and subagents. |
agent.<name>.mode / hidden | ✅ | ✅ | Modes control primary/subagent use; hidden agents are omitted from prompt and autocomplete listings. |
agent.<name>.model / temperature / top_p | ✅ | partial | Subagent model overrides are applied for Task/@agent; sampling settings are parsed but not yet applied. |
| Markdown agent files | ✅ | ✅ | .opencode/agents/*.md frontmatter is parsed; body content becomes agent instructions. |
provider.<id>.options.timeout | ✅ | partial | Integer milliseconds or false to disable timeout. |
theme | ✅ | ✅ | In crabcode config files only. OpenCode config theme is ignored by crabcode. |
notifications | | ✅ | crabcode-specific sounds, desktop notifications, and terminal alert signals such as Zed tab dots. |
mcp | ✅ | ✅ | Uses the OpenCode MCP config shape. Enabled servers are connected at runtime and their tools are exposed as crabcode tools. |
permission | ✅ | ✅ | Global tool permission rules are enforced during AI SDK tool execution. |
instructions | ✅ | | Accepted at the top level, but config-driven instruction files are not loaded yet. |
tools | ✅ | | Accepted at the top level, not used as global tool config yet. |
compaction | ✅ | | Accepted at the top level, not used as config yet. |
watcher | ✅ | | Accepted at the top level, not used as config yet. |
formatter | ✅ | | Accepted at the top level, not used as config yet. |
disabled_providers | ✅ | | Accepted at the top level, not applied yet. |
enabled_providers | ✅ | | Accepted at the top level, not applied yet. |
keybinds | ✅ | ❌ | Ignored because crabcode does not use OpenCode keybind config. |
share | ✅ | ❌ | Ignored. |
tui | ✅ | ❌ | Ignored. crabcode owns its terminal UI. |
server | ✅ | ❌ | Ignored. |
plugin | ✅ | ❌ | Ignored. |
custom tools (tool, custom_tools, customTools) | ✅ | ❌ | Ignored. |