SystemHealthPanel) is backed by /api/health. The boot probe runs once on every server start and is cached; the panel reads that cached report and can recompute it on demand.
Prerequisites
System Health is always available. It is the one liveness surface that answers even when the OpenClaw Gateway is down; the report is computed from local filesystem, SQLite, vault, and in-process MCP state, not from a runtime connection.
- A running Clawboo server. No runtime needs to be connected; the panel works on a fresh install before you have onboarded.
Open the panel
In the left sidebar, the secondary nav lists System Health (heart-pulse icon). Selecting it switches the view to thehealth nav slot, which renders SystemHealthPanel.
On open, the panel calls GET /api/health and renders the report. It also re-fetches every 30 seconds while the view is mounted, so a long-lived dashboard stays current without a manual refresh.
What the panel shows
The panel has three sections plus a status banner.The header status pill
The toolbar shows a single rollup pill computed from the report’sfatal and degraded arrays:
The degraded / fatal banner
When the report has any failing check, a banner appears above the checklist:- Fatal: “The install has a fatal problem.” The failing check below says what to do; resetting
~/.clawbooand re-running onboarding is the last resort. - Degraded: “Running degraded.” Some optional subsystems are unavailable; the rest of Clawboo works normally. The failing checks below tell you which.
The Checks checklist
Each entry inreport.checks[] renders as a row with an icon, the humanized check name, a tone pill (OK / Degraded / Fatal), the check’s durationMs, a one-line message, and, only when the check failed, its detail line. The nine checks the boot probe runs, in order:
mcpServersHealthy is a constructability + tools/list check: it builds a fresh server instance per probe over the same database, not the cached HTTP singleton that real attaches consume. It proves the server can be built and answers a request; it is not a liveness probe of the pre-warmed singleton.Runtime state
Thereport.resolved block, shown as a key/value card, surfaces what the server actually resolved this boot:
Production defaults
Thereport.config block surfaces the shipped production-defaults posture so you (or a bug report) can see what this install runs with:
The 80% figure is the budget math’s soft-cap percentage (
SOFT_CAP_PERCENT), referenced by budgetWarnSoftPct so the two never drift. See Production defaults for the full posture catalog.
Re-run the probe
After you fix a failing check (for example, you tighten the vault permissions or re-enter a runtime key), click Re-run probe in the toolbar. This callsPOST /api/health/recheck, which recomputes a fresh report, re-running the integrity check, the MCP round-trips, and the Gateway/OTel probes, and replaces the cached one. The button is disabled (with a spinner) while a probe is in flight; concurrent probes are de-duped server-side so the slow checks run at most once.
The plain GET /api/health returns the cached report (or computes one on first call if the server has not produced one yet); only recheck forces a fresh run.
Options / variations
Both responses carry a top-level
ok field (true when there are no fatal checks), so a simple external liveness check can read that one field. Every check’s detail and the resolved paths are redacted-on-display before send; a credential-shaped substring is masked while the readable paths and config stay.
Verify it worked
- After a successful Re-run probe, the header pill flips to
All systems goand every row readsOK(assuming you fixed the failing checks). - A bare liveness check works from any shell:
.ok is true when no check is fatal; .fatal and .degraded list the failing check ids by name.
Troubleshooting
A fatal check means the install is broken. A fatal
clawbooHomeWritable or databaseIntegrity is not something the panel can fix. A fatal databaseSchema means the database is short something the current version needs: a core table, or a column that could not be added. Its detail names what is missing and the remedy, so follow that before resetting. When nothing there applies, reset ~/.clawboo and re-run the onboarding wizard to start clean. (Back up the database first if you need its data.)OpenClaw Gateway shows degraded but everything else works. The Gateway is optional. When it is unreachable, Clawboo serves the last-synced agents from SQLite; this is a degraded check, never fatal. If you run native-first (no Gateway), this check is skipped entirely.Related
/api/settingsand/api/healthreference: full request/response shapes for the health routes- Production defaults: budget posture, breaker defaults, and the full shipped-defaults catalog
- Connecting runtimes: where the encrypted vault and runtime keys live
- Security: the vault, redaction, and safe exposure
- Data and state: SQLite, file locations, backup, and reset