From e613fd31bb98de9162b2e98f89992a2822385f28 Mon Sep 17 00:00:00 2001 From: Shakker Date: Sat, 18 Jul 2026 06:26:22 +0100 Subject: [PATCH] docs: document Codex runtime availability checks (#110447) --- CHANGELOG.md | 1 + docs/cli/models.md | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08daa5146a06..dde3b7cab7b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- **Codex model status diagnostics:** report a configured Codex route as unavailable when its harness plugin is disabled, missing, or quarantined, while preserving the separate credential result and making `models status --check` fail instead of silently treating fallback execution as healthy. Thanks @shakkernerd. - **Gateway control-plane rate limiting:** use per-method buckets with a 30-per-minute budget so interactive admin writes remain responsive while retaining runaway-loop protection. - **External supervisor restart health:** accept device-identity policy closes only when the replacement gateway lock and listener PID agree, preventing OCM-managed restarts from timing out after a successful handoff. Thanks @shakkernerd. - **ACPX cleanup process inspection:** bound host process-table reads so stalled `ps` calls cannot hang gateway startup or session cleanup while retaining fail-closed ownership checks. Thanks @Alix-007. diff --git a/docs/cli/models.md b/docs/cli/models.md index 8a6ddd370afb..6cd860a237db 100644 --- a/docs/cli/models.md +++ b/docs/cli/models.md @@ -30,24 +30,24 @@ openclaw models scan ### Status -`openclaw models status` shows the resolved default/fallbacks plus an auth overview. When provider usage snapshots are available, the OAuth/API-key status section includes provider usage windows and quota snapshots. Current usage-window providers: Anthropic, GitHub Copilot, Gemini CLI, OpenAI, MiniMax, Xiaomi, and z.ai. Usage auth comes from provider-specific hooks when available; otherwise OpenClaw falls back to matching OAuth/API-key credentials from auth profiles, env, or config. +`openclaw models status` shows the resolved default/fallbacks plus an auth overview. For plugin-owned agent runtimes such as Codex, it also checks whether the owning plugin is enabled and passed startup payload verification. A route with valid credentials but an unavailable runtime reports `status: unavailable` instead of `usable`; JSON output includes separate `authStatus`, `runtimeStatus`, and bounded runtime diagnostics. When provider usage snapshots are available, the OAuth/API-key status section includes provider usage windows and quota snapshots. Current usage-window providers: Anthropic, GitHub Copilot, Gemini CLI, OpenAI, MiniMax, Xiaomi, and z.ai. Usage auth comes from provider-specific hooks when available; otherwise OpenClaw falls back to matching OAuth/API-key credentials from auth profiles, env, or config. In `--json` output, `auth.providers` is the env/config/store-aware provider overview, while `auth.oauth` is auth-store profile health only. Options: -| Flag | Effect | -| ------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `--json` | JSON output; auth-profile, provider, and startup diagnostics go to stderr so stdout stays pipeable into `jq`. | -| `--plain` | Plain text output. | -| `--check` | Exit non-zero if auth is expiring/expired: `1` = expired/missing, `2` = expiring. | -| `--probe` | Live probe of configured auth profiles. Real requests; may consume tokens and trigger rate limits. | -| `--probe-provider ` | Probe one provider only. | -| `--probe-profile ` | Probe specific auth profile ids (repeat or comma-separated). | -| `--probe-timeout ` | Per-probe timeout. | -| `--probe-concurrency ` | Concurrent probes. | -| `--probe-max-tokens ` | Probe max tokens (best effort). | -| `--agent ` | Configured agent id; overrides `OPENCLAW_AGENT_DIR`. | +| Flag | Effect | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `--json` | JSON output; auth-profile, provider, and startup diagnostics go to stderr so stdout stays pipeable into `jq`. | +| `--plain` | Plain text output. | +| `--check` | Exit non-zero if auth is expiring/expired or a selected agent runtime is unavailable: `1` = unavailable/expired/missing, `2` = expiring. | +| `--probe` | Live probe of configured auth profiles. Real requests; may consume tokens and trigger rate limits. | +| `--probe-provider ` | Probe one provider only. | +| `--probe-profile ` | Probe specific auth profile ids (repeat or comma-separated). | +| `--probe-timeout ` | Per-probe timeout. | +| `--probe-concurrency ` | Concurrent probes. | +| `--probe-max-tokens ` | Probe max tokens (best effort). | +| `--agent ` | Configured agent id; overrides `OPENCLAW_AGENT_DIR`. | Probe rows can come from auth profiles, env credentials, or `models.json`. Probe status buckets: `ok`, `auth`, `rate_limit`, `billing`, `timeout`, `format`, `unknown`, `no_model`.