{
  "title": "Troubleshooting 🔧",
  "content": "When OpenClaw misbehaves, here's how to fix it.\n\nStart with the FAQ’s [First 60 seconds](/help/faq#first-60-seconds-if-somethings-broken) if you just want a quick triage recipe. This page goes deeper on runtime failures and diagnostics.\n\nProvider-specific shortcuts: [/channels/troubleshooting](/channels/troubleshooting)\n\n## Status & Diagnostics\n\nQuick triage commands (in order):\n\n| Command                            | What it tells you                                                                                      | When to use it                                    |\n| ---------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------- |\n| `openclaw status`                  | Local summary: OS + update, gateway reachability/mode, service, agents/sessions, provider config state | First check, quick overview                       |\n| `openclaw status --all`            | Full local diagnosis (read-only, pasteable, safe-ish) incl. log tail                                   | When you need to share a debug report             |\n| `openclaw status --deep`           | Runs gateway health checks (incl. provider probes; requires reachable gateway)                         | When “configured” doesn’t mean “working”          |\n| `openclaw gateway probe`           | Gateway discovery + reachability (local + remote targets)                                              | When you suspect you’re probing the wrong gateway |\n| `openclaw channels status --probe` | Asks the running gateway for channel status (and optionally probes)                                    | When gateway is reachable but channels misbehave  |\n| `openclaw gateway status`          | Supervisor state (launchd/systemd/schtasks), runtime PID/exit, last gateway error                      | When the service “looks loaded” but nothing runs  |\n| `openclaw logs --follow`           | Live logs (best signal for runtime issues)                                                             | When you need the actual failure reason           |\n\n**Sharing output:** prefer `openclaw status --all` (it redacts tokens). If you paste `openclaw status`, consider setting `OPENCLAW_SHOW_SECRETS=0` first (token previews).\n\nSee also: [Health checks](/gateway/health) and [Logging](/logging).\n\n### No API key found for provider \"anthropic\"\n\nThis means the **agent’s auth store is empty** or missing Anthropic credentials.\nAuth is **per agent**, so a new agent won’t inherit the main agent’s keys.\n\n* Re-run onboarding and choose **Anthropic** for that agent.\n* Or paste a setup-token on the **gateway host**:\n  \n* Or copy `auth-profiles.json` from the main agent dir to the new agent dir.\n\n### OAuth token refresh failed (Anthropic Claude subscription)\n\nThis means the stored Anthropic OAuth token expired and the refresh failed.\nIf you’re on a Claude subscription (no API key), the most reliable fix is to\nswitch to a **Claude Code setup-token** and paste it on the **gateway host**.\n\n**Recommended (setup-token):**",
  "code_samples": [
    {
      "code": "* Or copy `auth-profiles.json` from the main agent dir to the new agent dir.\n\nVerify:",
      "language": "unknown"
    },
    {
      "code": "### OAuth token refresh failed (Anthropic Claude subscription)\n\nThis means the stored Anthropic OAuth token expired and the refresh failed.\nIf you’re on a Claude subscription (no API key), the most reliable fix is to\nswitch to a **Claude Code setup-token** and paste it on the **gateway host**.\n\n**Recommended (setup-token):**",
      "language": "unknown"
    }
  ],
  "headings": [
    {
      "level": "h2",
      "text": "Status & Diagnostics",
      "id": "status-&-diagnostics"
    },
    {
      "level": "h2",
      "text": "Common Issues",
      "id": "common-issues"
    },
    {
      "level": "h3",
      "text": "No API key found for provider \"anthropic\"",
      "id": "no-api-key-found-for-provider-\"anthropic\""
    },
    {
      "level": "h3",
      "text": "OAuth token refresh failed (Anthropic Claude subscription)",
      "id": "oauth-token-refresh-failed-(anthropic-claude-subscription)"
    }
  ],
  "url": "llms-txt#troubleshooting-🔧",
  "links": []
}