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
FlagDescription
--allComplete read-only diagnosis that can be pasted. Covers security audit, plugin compatibility, and memory-vector checks.
--deepActivates live probes across WhatsApp Web, Telegram, Discord, Slack, and Signal. Also triggers the security audit.
--usageDisplays normalized provider usage windows formatted as X% left.
--jsonOutput suitable for machine parsing.
--verbose / --debugAlso 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: from Runtime:. Execution represents the sandbox path (direct, docker/*), while Runtime indicates whether the session uses OpenClaw Default, OpenAI Codex, a CLI backend, or an ACP backend like codex (acp/acpx). Refer to Agent runtimes for how provider, model, and runtime differ.
  • When the current session snapshot is sparse, /status can 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 0 token 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

  • --usage shows normalized provider usage windows as X% left.
  • MiniMax's raw usage_percent / usagePercent fields represent remaining quota, so OpenClaw inverts them before display; count-based fields take precedence when present. model_remains responses 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 degradedSecretOwners in JSON and a Degraded secrets overview row in human output. Each entry names the owner, degradation state (cold or stale), 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 --all includes 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.