--- title: Troubleshooting description: Common AO problems and concrete fixes. Most start with `ao doctor`. --- import { Accordions, Accordion } from "fumadocs-ui/components/accordion"; ## First step: `ao doctor` ```bash ao doctor ao doctor --fix # auto-repair safe things ao doctor --test-notify # send a test through each notifier ``` Covers: install health, plugin resolution, notifier connectivity, stale temp files. ## Install & environment The npm global bin isn't on your PATH. Find it with `npm config get prefix` and add `/bin` to your shell's PATH. Expected. Use `runtime: process` in your config. See [Platforms](/docs/platforms#windows). Run `gh auth login`. AO uses `gh` for every GitHub interaction. AO auto-picks the next free port. You'll see the actual URL in the `ao start` output. Stale Next.js artifacts. Run `ao dashboard --rebuild`. ## Agents & sessions The agent never reached idle state. Run `ao status --watch` to see what's happening — if it's legitimately working (e.g. large install step), wait. Otherwise `ao session kill ` and spawn again. `getActivityState` reads the agent's JSONL / activity log. If that file is missing or stale, you'll see wrong states. `ao doctor` flags this. See the agent's individual plugin page under [Plugins › Agents](/docs/plugins/agents) for recovery. The PATH wrapper didn't record it (possible if the agent called `gh` by absolute path). Use `ao session claim-pr ` to link retroactively. `ao session restore ` relaunches the agent in the same worktree. If restore keeps failing, check the agent plugin's resume docs — some agents don't support resume at all (Cursor, Aider). Run `ao session remap ` to re-discover the OpenCode mapping. Use `--force` if a stale mapping is stuck. ## GitHub / SCM AO paces calls, but heavy projects can still hit limits. The lifecycle manager backs off automatically. If you see sustained rate-limit errors, check that you're logged in as yourself (`gh auth status`) — unauthenticated calls have much lower limits. `reactions.ciFailed.enabled: false` in your config, or the PR is in draft. See [CI recovery › When it doesn't kick in](/docs/guides/ci-recovery#when-it-doesnt-kick-in). Review feedback is only replayed on `CHANGES_REQUESTED` — not on plain `COMMENTED` reviews. See [Review loop](/docs/guides/review-loop). HMAC signature check failing. Verify your `secretEnvVar` is exported and matches the secret you set on GitHub. ## Notifications System Settings → Notifications → allow your terminal app. Expected. Add Discord, Slack, or a webhook notifier in the same `notifier:` list. The slack notifier doesn't honor Retry-After. Use the generic [webhook notifier](/docs/plugins/notifiers/webhook) with `retries` tuned up. ## Windows-specific Expected on Windows. The iTerm2 helper only runs on macOS. Use the dashboard's built-in terminal (the printed URL takes you there). Shell quoting issue. Pass long prompts via `--prompt` with simple ASCII, or via `ao send --file `. ## Still stuck - Check the [FAQ](/docs/faq). - Open an issue: [`ComposioHQ/agent-orchestrator`](https://github.com/ComposioHQ/agent-orchestrator/issues). When opening an issue, include: - Output of `ao --version` - The contents of `~/.agent-orchestrator/{hash}-observability/processes/` (one JSON snapshot per process; each contains traces, health, and metrics) - Your `agent-orchestrator.yaml` (redact any secrets)