Interactive CLI tool to switch between oh-my-opencode configuration profiles.
Quickly switch between different oh-my-opencode configurations without manually copying files. Useful when you have multiple profiles for different AI providers (ChatGPT, Google, Copilot, etc.).
- macOS (uses
md5for file comparison) - oh-my-opencode installed
- At least one profile named
oh-my-opencode-*.jsonin either:~/.config/opencode/(global profiles).opencode/in your project (project-local profiles)
curl -o ~/.config/opencode/switch-omo-config.sh \
https://raw.githubusercontent.com/AnPod/Switch-Omo-Config/main/switch-omo-config.sh
chmod +x ~/.config/opencode/switch-omo-config.sh# Copy the script to your opencode config directory
cp switch-omo-config.sh ~/.config/opencode/
chmod +x ~/.config/opencode/switch-omo-config.sh# For zsh
echo 'alias omo-switch="~/.config/opencode/switch-omo-config.sh"' >> ~/.zshrc
source ~/.zshrc
# For bash
echo 'alias omo-switch="~/.config/opencode/switch-omo-config.sh"' >> ~/.bashrc
source ~/.bashrc# Run directly
~/.config/opencode/switch-omo-config.sh
# Or with alias
omo-switch| Key | Action |
|---|---|
↑ or k |
Move selection up |
↓ or j |
Move selection down |
Enter |
Apply selected config |
q |
Quit without changes |
Switch oh-my-opencode Configuration
Use arrow keys to navigate, Enter to select, q to quit
> oh-my-opencode-ChatGPT.json
oh-my-opencode-baseline.json
oh-my-opencode-copilot.json
oh-my-opencode-google.json (active)
oh-my-opencode-minimax.json
- Detects whether you’re in a project that has a
.opencode/directory. - If
.opencode/does not exist, prompts whether to create it for project-local switching.- Your answer is persisted to
./.switch-omo-config.create-opencode(yorn) so you won’t be asked again in that directory. - If you answer
y, the script creates./.opencode/and continues in project-local mode.
- Your answer is persisted to
- (Project-local only, first run) Prompts whether to copy global profiles
~/.config/opencode/oh-my-opencode-*.jsoninto./.opencode/.- Your answer is persisted to
./.opencode/.switch-omo-config.copy-profiles(yorn) so you won’t be asked again in that project.
- Your answer is persisted to
- Scans the chosen directory for
oh-my-opencode-*.json, compares hashes to find the active profile, and copies the selected profile tooh-my-opencode.jsonin the same directory.
Note: After switching configs, you must exit and reopen OpenCode for the changes to take effect. To continue from your previous session, use
/sessionand select the last session.
To be asked again in a project directory, delete either (or both):
./.switch-omo-config.create-opencode(re-ask whether to create./.opencode/)./.opencode/.switch-omo-config.copy-profiles(re-ask whether to copy global profiles)
If you want a full reset for that directory, delete ./.opencode/ as well.
~/.config/opencode/
├── opencode.json # Main OpenCode config
├── oh-my-opencode.json # Active oh-my-opencode config (managed by this tool)
├── oh-my-opencode-ChatGPT.json
├── oh-my-opencode-google.json
├── oh-my-opencode-copilot.json
└── oh-my-opencode-baseline.json
./.switch-omo-config.create-opencode # Persists create prompt answer (y/n)
./.opencode/
├── oh-my-opencode.json # Active oh-my-opencode config (managed by this tool)
├── oh-my-opencode-ChatGPT.json
├── oh-my-opencode-google.json
├── oh-my-opencode-copilot.json
├── oh-my-opencode-baseline.json
└── .switch-omo-config.copy-profiles # Persists copy prompt answer (y/n)
After switching back to Anthropic models within the same session, you may experience:
messages.1.content.0: Invalid 'signature' in 'thinking' block
Solution: Disable "thinking" for Anthropic models in your OpenCode config.
Add this to ~/.config/opencode/opencode.json (or project opencode.json) and restart OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"models": {
"claude-sonnet-4-5": {
"options": {
"thinking": { "type": "disabled" }
}
}
}
}
}
}- v3.2.0 - Updated all configuration files with refined schema
- v3.1.0 - Added sisyphus_agent, git_master, and categories to all configs
- v3.0.0 - Major overhaul of agent configuration schema
- v2.0.0 - Schema restructuring and new agent definitions
- v1.09 - Release consolidation
- v1.08 - Added full Copilot config profile
- v1.07 - Added
oh-my-opencode-full-copilot.jsonprofile (all agents use GitHub Copilot models) - v1.06 - Upgraded Google models to
antigravity-*variants for improved performance - v1.05 - Upgraded
multimodal-lookeragent fromgemini-2.5-flashtogemini-3-flash - v1.04 - Added version badge and changelog to README
- v1.03 - Project-local
.opencode/directory support with creation prompt - v1.02 - Standardized agent models (
frontend-ui-ux-engineer,document-writer,multimodal-looker) - v1.01 - Initial public release
MIT