Interactive CLI to manage model assignments in oh-my-opencode.json for OpenCode.
Use it to pick models and variants per agent and category, validate capabilities, and keep configs safe with backups.
Requires Bun.
curl -fsSL https://bun.sh/install | bash
bun add -g oh-my-opencode-configYou can run the published CLI directly from npm with bunx:
bunx oh-my-opencode-configWith arguments:
bunx oh-my-opencode-config listSwitch profile:
bunx oh-my-opencode-config profile use light-workbunx oh-my-opencode-config profile use ultra-brainoh-my-opencode-configoh-my-opencode-config listRun oh-my-opencode-config --help for the full command list.
If you use bunx, run bunx oh-my-opencode-config --help.
| Command | What it does |
|---|---|
menu |
Open the interactive menu |
list |
Show current config |
status |
Check config health |
configure agents |
Assign models to agents |
configure categories |
Assign models to categories |
configure quick-setup |
Apply Standard, Economy, or Anthropic presets |
reset |
Reset to default model assignments |
diff |
Show changes from defaults |
doctor |
Diagnose issues (--fix repairs cache) |
backup list |
List backups |
backup restore <timestamp> |
Restore a backup |
profile save/use/list/delete/rename/template |
Manage profiles |
import [path] |
Import config JSON |
export [path] |
Export config JSON |
refresh |
Refresh models cache |
clear-cache |
Clear models cache |
undo |
Restore most recent backup |
history |
Show change history |
--config <path>Override theoh-my-opencode.jsonpath.--opencode-config <path>Override theopencode.jsonpath for custom models.--refreshForce refresh of the models cache.--jsonOutput as JSON (where supported).--verboseInclude detailed logs and stack traces.--dry-runPreview changes without writing.--template <path>Override the profile template path used byprofile save.--no-update-notifierDisable automatic CLI update checks at startup.
This tool writes oh-my-opencode.json and reads opencode.json for custom models.
Discovery order:
--config./.opencode/oh-my-opencode.json(current directory)~/.config/opencode/oh-my-opencode.json
Models cache: ~/.cache/opencode/models.json
{
"agents": {
"oracle": { "model": "google/antigravity-gemini-3-pro", "variant": "high" }
}
}Used as a base when saving profiles. Create it with profile template or provide one via --template <path>.
Example template:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
"google_auth": false,
"sisyphus_agent": {
"default_builder_enabled": true,
"replace_plan": true
},
"git_master": {
"commit_footer": false,
"include_co_authored_by": false
},
"disabled_hooks": ["comment-checker"]
}This is OpenCode’s main config. This CLI does not write it. It reads model definitions here so custom/plugin models show up in the picker. Use --opencode-config if your file lives elsewhere.
Minimal example:
{
"plugin": ["opencode-antigravity-auth@latest"],
"provider": {
"google": {
"models": {
"antigravity-gemini-3-pro": {
"name": "Antigravity Gemini 3 Pro",
"variants": { "high": {}, "low": {} }
}
}
}
}
}| Agent | Required capabilities |
|---|---|
| oracle | reasoning, tool_call |
| librarian | tool_call |
| explore | tool_call |
| multimodal-looker | attachment |
| prometheus | reasoning, tool_call |
| metis | reasoning |
| sisyphus | reasoning, tool_call |
| atlas | reasoning, tool_call |
| hephaestus | reasoning, tool_call |
| momus | reasoning |
- Check that
opencodesees the model:opencode models | grep antigravity - Confirm the plugin and model are in
opencode.json. - Refresh the cache:
opencode models --refresh
Run oh-my-opencode-config refresh, or let doctor offer a refresh.
Ensure you can write to the config directory.
If another process writes the config, the CLI aborts to avoid data loss.
Defaults are synced from the upstream oh-my-opencode repository. See src/shared/model-requirements.ts in that repo for the current fallback chains.
We use a develop → main flow.
- Work on
develop. - Create a changeset before release.
- Open a PR from
developtomain.
bun install
bun run dev
bun run test
bun run check
bun run typecheckMIT