openclaw status: Diagnostics for Channels and Sessions
Reference for the openclaw status CLI command, covering diagnostics, probes, and usage snapshots. Ideal for developers and operators troubleshooting channel health and resource usage.
Read this when
- You want a quick diagnosis of channel health + recent session recipients
- You want a pasteable "all" status for debugging
Diagnostics for channels and sessions.
openclaw status
openclaw status --all
openclaw status --deep
openclaw status --usage
openclaw status --usage --agent work
| Flag | Description |
|---|---|
--all | Complete read-only diagnosis, safe to paste. Covers security audit, plugin compatibility, and memory-vector checks. |
--deep | Asks for channel health, using live probes when available. Turns on the security audit as well. |
--usage | Outputs provider usage windows in normalized form as X% left. |
--agent <id> | Chooses the agent auth/profile scope for --usage. Mandatory when an explicit multi-agent fleet lacks a default. |
--json | Emits machine-readable results. |
--timeout <ms> | Probe timeout in milliseconds, defaulting to 10000. |
--verbose / --debug | Before the report, also print the raw Gateway target resolution. |
Channels that have no probe, like WhatsApp, report lifecycle health instead.
In the Health table, healthy maps to OK; degraded lifecycle states and failed
probes stay WARN. A lifecycle OK does not imply that a live probe executed.
Plain openclaw status remains on the fast read-only path and labels memory as
not checked rather than unavailable when memory inspection is skipped. Heavy
security audit, plugin compatibility, and memory-vector probes are deferred to
openclaw status --all, openclaw status --deep, openclaw security audit,
and openclaw memory status --deep.
Session and model resolution
- Session status output splits
Execution:fromRuntime:.Executionis the sandbox path (direct,docker/*), whileRuntimeindicates whether the session runs onOpenClaw Default,OpenAI Codex, a CLI backend, or an ACP backend likecodex (acp/acpx). Refer to Agent runtimes for how provider, model, and runtime differ. - When the current session snapshot is sparse,
/statuscan fill token and cache counters from the most recent transcript usage log. Existing nonzero live values still take precedence over transcript fallback values. - Transcript fallback can also restore the active runtime model label when the live session entry lacks it. If that transcript model differs from the selected model, status resolves the context window against the recovered runtime model rather than the selected one.
- For prompt-size accounting, transcript fallback picks the larger
prompt-oriented total when session metadata is missing or smaller, so
custom-provider sessions do not shrink to
0token displays. - When a session is pinned to a model that differs from the configured
primary, status prints both values, the reason (
session override), and the hint/model default. The configured primary applies to new or unpinned sessions; existing pinned sessions keep their session selection until cleared. - Output includes per-agent session stores when multiple agents are configured.
Usage and quota
--usageprints normalized provider usage windows asX% left.- In an explicit multi-agent setup,
--usagereads the auth profiles owned byagents.defaults.systemAgent.agentIdby default. Pass--agent <id>to inspect another agent; without either owner, OpenClaw does not guess one agent's credentials from an ambiguous roster. - MiniMax's raw
usage_percent/usagePercentfields are remaining quota, so OpenClaw inverts them before display; count-based fields win when present.model_remainsresponses prefer the chat-model entry, derive the window label from timestamps when needed, and include the model name in the plan label. - Model pricing refresh failures are shown as optional pricing warnings. They do not mean the Gateway or channels are unhealthy.
Overview and update status
- Overview includes Gateway + node host service install/runtime status when available, plus compact Gateway process uptime and host system uptime.
- Overview includes update channel + git SHA (for source checkouts).
- Update info surfaces in the Overview; if an update is available, status
prints a hint to run
openclaw update(see Updating). status --allincludes a Telemetry exporters diagnosis with the latest trusted per-signal exporter state and transport. Endpoint values, headers, certificates, payloads, and raw errors are not shown.
Secrets
- When the running Gateway has any isolated SecretRef owner from startup, reload, or a config write, status includes
degradedSecretOwnersin JSON and a Degraded secrets overview row in human output. Each entry names the owner, degradation state (coldorstale), config paths, and redacted reason. Cold owners are unavailable; stale owners continue with last-known-good values. - Read-only status surfaces (
status,status --json,status --all) resolve supported SecretRefs for their targeted config paths when possible. - If a supported channel SecretRef is configured but unavailable in the
current command path, status stays read-only and reports degraded output
instead of crashing. Human output shows warnings such as "configured token
unavailable in this command path", and JSON output includes
secretDiagnostics. - When command-local SecretRef resolution succeeds, status prefers the resolved snapshot and clears transient "secret unavailable" channel markers from the final output.
status --allincludes a Secrets overview row and a diagnosis section that summarizes secret diagnostics (truncated for readability) without stopping report generation.
Memory
status --json --all pulls memory information from whichever memory plugin is currently active, as chosen through plugins.slots.memory. Even when the default memory.search.enabled is turned off, a custom memory plugin can still supply its own status for files, chunks, vectors, and FTS.