{
  "title": "Health Checks on macOS",
  "content": "How to see whether the linked channel is healthy from the menu bar app.\n\n* Status dot now reflects Baileys health:\n  * Green: linked + socket opened recently.\n  * Orange: connecting/retrying.\n  * Red: logged out or probe failed.\n* Secondary line reads \"linked · auth 12m\" or shows the failure reason.\n* \"Run Health Check\" menu item triggers an on-demand probe.\n\n* General tab gains a Health card showing: linked auth age, session-store path/count, last check time, last error/status code, and buttons for Run Health Check / Reveal Logs.\n* Uses a cached snapshot so the UI loads instantly and falls back gracefully when offline.\n* **Channels tab** surfaces channel status + controls for WhatsApp/Telegram (login QR, logout, probe, last disconnect/error).\n\n## How the probe works\n\n* App runs `openclaw health --json` via `ShellExecutor` every \\~60s and on demand. The probe loads creds and reports status without sending messages.\n* Cache the last good snapshot and the last error separately to avoid flicker; show the timestamp of each.\n\n* You can still use the CLI flow in [Gateway health](/gateway/health) (`openclaw status`, `openclaw status --deep`, `openclaw health --json`) and tail `/tmp/openclaw/openclaw-*.log` for `web-heartbeat` / `web-reconnect`.",
  "code_samples": [],
  "headings": [
    {
      "level": "h2",
      "text": "Menu bar",
      "id": "menu-bar"
    },
    {
      "level": "h2",
      "text": "Settings",
      "id": "settings"
    },
    {
      "level": "h2",
      "text": "How the probe works",
      "id": "how-the-probe-works"
    },
    {
      "level": "h2",
      "text": "When in doubt",
      "id": "when-in-doubt"
    }
  ],
  "url": "llms-txt#health-checks-on-macos",
  "links": []
}