openclaw status CLI Reference: Diagnostics, Probes & Usage Snapshots
This page documents the openclaw status command for running diagnostics on channels and sessions. It covers flags for deep probes, security audits, and usage reports, useful for developers and operators monitoring system health.
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
| Flag | Description |
|---|---|
--all | Complete read-only diagnosis that can be pasted. Covers security audit, plugin compatibility, and memory-vector checks. |
--deep | Activates live probes across WhatsApp Web, Telegram, Discord, Slack, and Signal. Also triggers the security audit. |
--usage | Displays normalized provider usage windows formatted as X% left. |
--json | Output suitable for machine parsing. |
--verbose / --debug | Also outputs the raw Gateway target resolution ahead of the report. |
A plain openclaw status stays on the fast read-only path and sets memory to
not checked instead of unavailable when it skips memory inspection. Heavy
security audit, plugin compatibility, and memory-vector probes are delegated to
openclaw status --all, openclaw status --deep, openclaw security audit,
and openclaw memory status --deep.
Session and model resolution
- Session status output separates
Execution:fromRuntime:.Executionrepresents the sandbox path (direct,docker/*), whileRuntimeindicates whether the session usesOpenClaw 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 in token and cache counters from the most recent transcript usage log. Existing nonzero live values take priority over transcript fallback values. - Transcript fallback can also retrieve 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 uses 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 different 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
--usageshows normalized provider usage windows asX% left.- MiniMax's raw
usage_percent/usagePercentfields represent remaining quota, so OpenClaw inverts them before display; count-based fields take precedence 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 appear as optional pricing warnings. They do not indicate that the Gateway or channels are unhealthy.
Overview and update status
- Overview includes Gateway and node host service install or runtime status when available, along with compact Gateway process uptime and host system uptime.
- Overview includes update channel and git SHA (for source checkouts).
- Update information appears in the Overview; if an update is available, status
prints a hint to run
openclaw update(see Updating).
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
rather than 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 reports memory details from the active memory plugin
runtime selected by plugins.slots.memory. Custom memory plugins can leave
built-in memory.search.enabled disabled and still report
their own files, chunks, vector, and FTS state.