Common issues and quick fixes for AgentOps.
Hooks are runtime-specific: Claude uses ~/.claude/settings.json, while Codex
v0.115.0+ uses ~/.codex/hooks.json installed by the native plugin path.
Diagnosis:
ao doctorLook for the "Hooks installed" check. If it shows ✗, hooks are not configured.
Fixes:
-
Verify hooks are configured in
~/.claude/settings.json:{ "hooks": { "PostToolUse": [...], "UserPromptSubmit": [...] } }The
ao doctorcheck counts all hooks across event types. If it reports "no hooks configured", hooks are missing from settings.json entirely. -
Check that hooks are not disabled via environment variable:
echo $AGENTOPS_HOOKS_DISABLED
If set to
1, all hooks are bypassed. Unset it:unset AGENTOPS_HOOKS_DISABLED -
Verify hook scripts exist and are executable:
ls -la hooks/
All
.shfiles in the hooks directory should have execute permissions. -
For Codex native-plugin installs, verify the native hooks file exists:
cat ~/.codex/hooks.json | jq '.hooks'
If it is missing, reinstall with:
curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-codex.sh | bash
Skills must be installed as a Claude Code plugin.
Diagnosis:
claude plugin list
claude plugin marketplace list
ao doctorThe ao doctor "Plugin" check scans the skills/ directory for subdirectories containing a SKILL.md file. If it reports "no skills found" or "skills directory not found", the plugin is not installed correctly.
Fixes:
-
Install or reinstall the AgentOps skills:
claude plugin marketplace add boshu2/agentops claude plugin install agentops@agentops-marketplace
-
Update existing skills:
claude plugin marketplace update agentops-marketplace claude plugin update agentops
-
If updates seem stale, clear the cache and reinstall:
# The skills cache lives here: ls ~/.claude/plugins/marketplaces/agentops-marketplace/ # Pull latest directly if marketplace update lags: cd ~/.claude/plugins/marketplaces/agentops-marketplace/ && git pull
-
Verify the plugin loads:
claude --plugin ./
-
If skills load but automation hooks are missing, install hooks from repo root:
ao init --hooks ao hooks test
If bd ready --json fails with an error such as:
column "crystallizes" could not be found in any table in scope
you likely have a beads CLI / beads DB schema mismatch.
Diagnosis:
bd version
bd upgrade status --json
bd status --json
bd migrate --inspectIf the JSON version/status probes or the human-readable migration inspection
show the database state is newer than the installed bd version, the local CLI
is too old for the repo's tracker data.
Fixes:
- Upgrade beads to the matching or newer version:
brew upgrade beads
- Re-run tracker probes:
bd ready --json bd list --type epic --status open --json
- If you cannot repair beads immediately, Codex phased RPI now degrades honestly to tasklist mode instead of silently assuming beads is healthy. That fallback is for continuity, not a substitute for repairing the tracker.
For Codex, use curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-codex.sh | bash. The installer enables plugins and suppresses the unstable-plugins warning in ~/.codex/config.toml. On Linux, install system bubblewrap as well so Codex does not warn that it is using the vendored fallback. For OpenCode, use curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-opencode.sh | bash. For other agents, use the platform-specific scripts in scripts/.
sudo apt-get install -y bubblewrapSymptoms:
- Running
npx updateinstalls an unrelated npm package and does not update skills. bash <(curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install.sh)reports failed skills without actionable detail.
Fixes:
- Use the correct updater command:
bash <(curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install.sh) - If specific skills still fail, reinstall each failed skill directly:
bash <(curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install.sh) - Re-run update to verify a clean state:
bash <(curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install.sh)
If reinstalling one-by-one works but bulk update previously failed, the local skills lock state was stale; per-skill reinstall refreshes it.
This usually means Codex is seeing AgentOps skills from more than one location.
For native-plugin installs, the active source of truth is the plugin cache under
~/.codex/plugins/cache/.../skills-codex. Stale copies in ~/.codex/skills or
~/.agents/skills can still create duplicates if your local Codex build scans
more than one of those locations.
Diagnosis:
ao doctorIf the "Plugin" check warns about duplicate installs, inspect the active homes:
find ~/.codex/plugins/cache/agentops-marketplace/agentops/local/skills-codex -maxdepth 1 -mindepth 1 -type d | sort
find ~/.codex/skills -maxdepth 1 -mindepth 1 -type d | sort
find ~/.agents/skills -maxdepth 1 -mindepth 1 -type d | sortFix:
- Reinstall so the native plugin cache is refreshed and stale raw mirrors are archived:
curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-codex.sh | bash - If duplicates persist, archive the stale
~/.agents/skillscopy:mv ~/.agents/skills ~/.agents/skills.backup.$(date +%Y%m%d-%H%M%S)
- If duplicates still persist, archive the stale
~/.codex/skillscopy:mv ~/.codex/skills ~/.codex/skills.backup.$(date +%Y%m%d-%H%M%S)
- If duplicates still persist after that, remove the compatibility plugin cache:
rm -rf ~/.codex/plugins/cache/agentops-marketplace/agentops/local - Validate the runtime in a fresh session:
bash scripts/validate-codex-cli-skills.sh
- Restart Codex so interactive sessions reload the current skill list.
- Re-run
ao doctorto confirm the warning is gone.
Keep the native plugin cache as the source of truth for native-plugin installs.
Only restore ~/.agents/skills or ~/.codex/skills if you intentionally want
raw-skill mode for a specific Codex build.
The push gate hook blocks git push unless a recent /vibe check has passed. This enforces quality validation before code reaches the remote.
Why it exists: The vibe gate prevents untested or unreviewed code from being pushed. It is part of the AgentOps quality enforcement workflow.
Quick bypass (use sparingly):
AGENTOPS_HOOKS_DISABLED=1 git pushProper resolution:
-
Run
/vibeon your changes:/vibe -
Address any findings until you get a PASS verdict.
-
Push normally:
git push
This is expected behavior in the lead-only commit pattern used by /crank and /swarm.
How it works:
- Workers write files but NEVER run
git add,git commit, orgit push. - The team lead validates all worker output, then commits once per wave.
- This prevents merge conflicts when multiple workers run in parallel.
If a worker accidentally committed:
- The lead should review the commit before pushing.
- Amend or squash if needed to maintain clean history.
For workers: If you are a worker agent, your only job is to write files. The lead handles all git operations.
If you see errors for commands like bd mol, gt convoy, or bd cook, these are planned future features that do not exist yet.
How to identify: Look for FUTURE markers in skill documentation. These indicate commands or features that are designed but not yet implemented.
What to do:
- Do not retry the command. It will not work.
- Check the skill's
SKILL.mdfor current supported commands. - Use
bd --helporgt --helpto see available subcommands.
ao doctor runs 9 health checks. Here is how to fix each one.
| Check | What it verifies | How to fix |
|---|---|---|
| ao CLI | The ao binary is running and reports its version. |
Reinstall via Homebrew, or build from cli/ (see cli/README.md). |
| Knowledge Base | The .agents/ao/ directory exists in the current working directory. |
Run ao init from your project root, or verify you are in the correct directory. |
| Plugin | The skills/ directory exists and contains at least one subdirectory with a SKILL.md file. |
See Skills not showing up above. |
| Check | What it verifies | How to fix |
|---|---|---|
| CLI Dependencies | gt and bd are on your PATH (nice-to-have for multi-repo ops + beads issue tracking). |
Install missing tools (e.g., brew install gastown, brew install beads). |
| Hook Coverage | Claude Code: hooks configured via ~/.claude/settings.json. Codex v0.115.0+: native hooks configured via ~/.codex/hooks.json; older Codex versions fall back to ao codex start/stop. |
Claude: ao hooks install. Codex: scripts/install-codex-plugin.sh or `curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-codex.sh |
| Knowledge Freshness | At least one recent session exists under .agents/ao/sessions/. |
After a session, run ao forge transcript <path> to ingest it. |
| Search Index | A non-empty .agents/ao/index.jsonl exists for faster repo-local searches. |
Run ao store rebuild. |
| Flywheel Health | At least one learning exists under .agents/ao/learnings/ (or legacy .agents/learnings/). |
Run /retro or /forge to extract learnings; empty is normal early on. |
| Codex CLI | The codex binary is on your PATH (optional, used for --mixed validation modes). |
Install Codex CLI and ensure it is on PATH. |
ao doctor
─────────
✓ ao CLI vX.Y.Z
! Hook Coverage No hooks found — run 'ao hooks install'
✓ Knowledge Base .agents/ao initialized
✓ Plugin skills found
! Codex CLI not found (optional — needed for --mixed council)
7/9 checks passed, 2 warnings
✓= pass!= warning (optional component missing or degraded)✗= failure (required component missing or broken)
Use ao doctor --json for machine-readable output.
The pre-mortem gate denies ambiguous state by default (as of 2.37.2). If /crank exits immediately with a pre-mortem error, it is telling you there is no pre-mortem artifact or the artifact is stale for the current epic.
Fixes:
- Run
/pre-mortemagainst the epic before invoking/crank. - For exploratory runs where a pre-mortem is not worth the cost:
This downgrades the gate to a warning.
AGENTOPS_PREMORTEM_MODE=advisory /crank ...
The go-test-precommit.sh hook runs relevant Go tests before tool calls that would mutate Go code. If it fails, look for the test output above the block message. Common causes:
- Tests that depend on network (
go test -shorttypically skips these). - A package import that fails to compile — fix compilation first, tests second.
Bypass (not recommended): set AGENTOPS_SKIP_GO_TEST_PRECOMMIT=1 for a single session. Prefer fixing the underlying test.
If a session compacts and drops critical context, check whether precompact-snapshot.sh ran. Artifacts land in .agents/compact/<timestamp>/:
ls -lt .agents/compact/ | headRestore needed state with ao inject --from .agents/compact/<timestamp>/ or manually re-seed the session with MEMORY.md.
- New to AgentOps? Run
/quickstartfor an interactive onboarding walkthrough. - Run diagnostics:
ao doctorchecks your installation health. - Report issues: github.com/boshu2/agentops/issues
- Full workflow guide: Run
/using-agentopsfor the complete RPI workflow reference.