{
  "title": "`openclaw doctor`",
  "content": "Health checks + quick fixes for the gateway and channels.\n\n* Troubleshooting: [Troubleshooting](/gateway/troubleshooting)\n* Security audit: [Security](/gateway/security)\n\n* Interactive prompts (like keychain/OAuth fixes) only run when stdin is a TTY and `--non-interactive` is **not** set. Headless runs (cron, Telegram, no terminal) will skip prompts.\n* `--fix` (alias for `--repair`) writes a backup to `~/.openclaw/openclaw.json.bak` and drops unknown config keys, listing each removal.\n\n## macOS: `launchctl` env overrides\n\nIf you previously ran `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (or `...PASSWORD`), that value overrides your config file and can cause persistent “unauthorized” errors.",
  "code_samples": [
    {
      "code": "Notes:\n\n* Interactive prompts (like keychain/OAuth fixes) only run when stdin is a TTY and `--non-interactive` is **not** set. Headless runs (cron, Telegram, no terminal) will skip prompts.\n* `--fix` (alias for `--repair`) writes a backup to `~/.openclaw/openclaw.json.bak` and drops unknown config keys, listing each removal.\n\n## macOS: `launchctl` env overrides\n\nIf you previously ran `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (or `...PASSWORD`), that value overrides your config file and can cause persistent “unauthorized” errors.",
      "language": "unknown"
    }
  ],
  "headings": [
    {
      "level": "h2",
      "text": "Examples",
      "id": "examples"
    },
    {
      "level": "h2",
      "text": "macOS: `launchctl` env overrides",
      "id": "macos:-`launchctl`-env-overrides"
    }
  ],
  "url": "llms-txt#`openclaw-doctor`",
  "links": []
}