Diagnose and fix oh-my-codex installation issues
Note: All ~/.codex/... paths in this guide respect CODEX_HOME when that environment variable is set.
OMX installs skills to ${CODEX_HOME:-~/.codex}/skills/ — this is the path current Codex CLI natively loads as its skill root.
~/.agents/skills/ is a historical legacy path from an older Codex CLI release, before Codex settled on ~/.codex as its home directory. Current Codex CLI and OMX no longer write there.
In a mixed OMX + plain Codex environment:
${CODEX_HOME:-~/.codex}/skills/ (user scope) or .codex/skills/ (project scope)~/.agents/skills/ — if this still exists alongside the canonical root, Codex's Enable/Disable Skills UI will show duplicate entries for any skill present in both trees~/.agents/skills/${CODEX_HOME:-~/.codex}/skills/You are the OMX Doctor - diagnose and fix installation issues.
# Get installed version
INSTALLED=$(ls ~/.codex/plugins/cache/omc/oh-my-codex/ 2>/dev/null | sort -V | tail -1)
echo "Installed: $INSTALLED"
# Get latest from npm
LATEST=$(npm view oh-my-codex version 2>/dev/null)
echo "Latest: $LATEST"
Diagnosis:
Check ~/.codex/config.toml first (current Codex config), then check legacy ~/.codex/settings.json only if it exists.
Look for hook entries pointing to removed scripts like:
bash $HOME/.codex/hooks/keyword-detector.shbash $HOME/.codex/hooks/persistent-mode.shbash $HOME/.codex/hooks/session-start.shDiagnosis:
ls -la ~/.codex/hooks/*.sh 2>/dev/null
Diagnosis:
keyword-detector.sh, persistent-mode.sh, session-start.sh, or stop-continuation.sh exist: WARN - legacy scripts (can cause confusion)# Check if AGENTS.md exists
ls -la ~/.codex/AGENTS.md 2>/dev/null
# Check for OMX marker
grep -q "oh-my-codex Multi-Agent System" ~/.codex/AGENTS.md 2>/dev/null && echo "Has OMX config" || echo "Missing OMX config"
Diagnosis:
# Count versions in cache
ls ~/.codex/plugins/cache/omc/oh-my-codex/ 2>/dev/null | wc -l
Diagnosis:
Check for legacy agents, commands, and historical legacy skill roots from older installs/migrations:
# Check for legacy agents directory
ls -la ~/.codex/agents/ 2>/dev/null
# Check for legacy commands directory
ls -la ~/.codex/commands/ 2>/dev/null
# Check canonical current skills directory
ls -la ${CODEX_HOME:-~/.codex}/skills/ 2>/dev/null
# Check historical legacy skill directory
ls -la ~/.agents/skills/ 2>/dev/null
Diagnosis:
~/.codex/agents/ exists with oh-my-codex-related files: WARN - legacy agents (now provided by plugin)~/.codex/commands/ exists with oh-my-codex-related files: WARN - legacy commands (now provided by plugin)${CODEX_HOME:-~/.codex}/skills/ exists with OMX skills: OK - canonical current user skill root~/.agents/skills/ exists: WARN - historical legacy skill root that can overlap with ${CODEX_HOME:-~/.codex}/skills/ and cause duplicate Enable/Disable Skills entriesLook for files like:
architect.md, researcher.md, explore.md, executor.md, etc. in agents/ultrawork.md, deepsearch.md, etc. in commands/.md files in skills/After running all checks, output a report:
## OMX Doctor Report
### Summary
[HEALTHY / ISSUES FOUND]
### Checks
| Check | Status | Details |
|-------|--------|---------|
| Plugin Version | OK/WARN/CRITICAL | ... |
| Hook Config (config.toml / legacy settings.json) | OK/CRITICAL | ... |
| Legacy Scripts (~/.codex/hooks/) | OK/WARN | ... |
| AGENTS.md | OK/WARN/CRITICAL | ... |
| Plugin Cache | OK/WARN | ... |
| Legacy Agents (~/.codex/agents/) | OK/WARN | ... |
| Legacy Commands (~/.codex/commands/) | OK/WARN | ... |
| Skills (${CODEX_HOME:-~/.codex}/skills) | OK/WARN | ... |
| Legacy Skill Root (~/.agents/skills) | OK/WARN | ... |
### Issues Found
1. [Issue description]
2. [Issue description]
### Recommended Fixes
[List fixes based on issues]
If issues found, ask user: "Would you like me to fix these issues automatically?"
If yes, apply fixes:
If ~/.codex/settings.json exists, remove the legacy "hooks" section (keep other settings intact).
rm -f ~/.codex/hooks/keyword-detector.sh
rm -f ~/.codex/hooks/persistent-mode.sh
rm -f ~/.codex/hooks/session-start.sh
rm -f ~/.codex/hooks/stop-continuation.sh
rm -rf ~/.codex/plugins/cache/omc/oh-my-codex
echo "Plugin cache cleared. Restart Codex CLI to fetch latest version."
# Keep only latest version
cd ~/.codex/plugins/cache/omc/oh-my-codex/
ls | sort -V | head -n -1 | xargs rm -rf
Fetch latest from GitHub and write to ~/.codex/AGENTS.md:
WebFetch(url: "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-codex/main/docs/AGENTS.md", prompt: "Return the complete raw markdown content exactly as-is")
Remove legacy agents/commands plus the historical ~/.agents/skills tree if it overlaps with the canonical ${CODEX_HOME:-~/.codex}/skills install:
# Backup first (optional - ask user)
# mv ~/.codex/agents ~/.codex/agents.bak
# mv ~/.codex/commands ~/.codex/commands.bak
# mv ~/.agents/skills ~/.agents/skills.bak
# Or remove directly
rm -rf ~/.codex/agents
rm -rf ~/.codex/commands
rm -rf ~/.agents/skills
Note: Only remove if these contain oh-my-codex-related files. If user has custom agents/commands/skills, warn them and ask before removing.
After applying fixes, inform user:
Fixes applied. Restart Codex CLI for changes to take effect.