OpenCode Compatibility
What OpenCode configuration works in crabcode and what is crabcode-specific.
Treat it like OpenCode
Don't think CrabCode as another agent config to manage, just treat it like configuring OpenCode.
Most OpenCode docs apply directly: config is JSON/JSONC, project assets live under .opencode/, and command files use the OpenCode markdown command format. crabcode adds a small terminal-specific layer for notifications and theme selection.
Compatibility map
Blank cells mean that runtime behavior is not supported by that project today. ❌ means crabcode intentionally ignores the OpenCode setting.
| Area / setting | OpenCode | crabcode | Notes |
|---|---|---|---|
model | ✅ | ✅ | Default model when no persisted active model is set. |
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 | ✅ | Accepted at the top level for forward compatibility, not wired to tools yet. | |
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. |
Use the OpenCode docs
| Topic | Reference |
|---|---|
| Config shape | OpenCode config |
| Commands | OpenCode commands |
| Rules | OpenCode rules |
| Agents | OpenCode agents |
| MCP | OpenCode MCP servers |
| Themes | OpenCode themes |