{
"schemaVersion": 1,
"generatedAt": "1785394080s since unix epoch",
"overallStatus": "warning",
"codexVersion": "0.146.0",
"checks": {
"app_server.status": {
"id": "app_server.status",
"category": "app-server",
"status": "ok",
"summary": "background server is not running",
"details": {
"control socket": "/home/nebula/.codex/app-server-control/app-server-control.sock",
"daemon state dir": "/home/nebula/.codex/app-server-daemon",
"mode": "ephemeral",
"pid file": "/home/nebula/.codex/app-server-daemon/app-server.pid (missing)",
"settings": "/home/nebula/.codex/app-server-daemon/settings.json (missing)",
"status": "not running",
"update-loop pid file": "/home/nebula/.codex/app-server-daemon/app-server-updater.pid (missing)"
},
"remediation": null,
"durationMs": 1
},
"auth.credentials": {
"id": "auth.credentials",
"category": "auth",
"status": "ok",
"summary": "auth is configured",
"details": {
"auth file": "/home/nebula/.codex/auth.json",
"auth storage mode": "File",
"stored API key": "true",
"stored ChatGPT tokens": "false",
"stored agent identity": "false",
"stored auth mode": "api_key"
},
"remediation": null,
"durationMs": 0
},
"config.load": {
"id": "config.load",
"category": "config",
"status": "ok",
"summary": "config loaded",
"details": {
"CODEX_HOME": "/home/nebula/.codex",
"config.toml": "/home/nebula/.codex/config.toml",
"config.toml parse": "ok",
"cwd": "/home/nebula/mnt/dev/qingdaogang",
"enabled feature flags": "shell_tool, unified_exec, shell_snapshot, code_mode_host, terminal_resize_reflow, sqlite, hooks, enable_request_compression, multi_agent, apps, tool_search_always_defer_mcp_tools, tool_suggest, plugins, in_app_browser, in_app_updates, browser_use, browser_use_full_cdp_access, browser_use_external, computer_use, remote_plugin, plugin_sharing, image_generation, resize_all_images, item_ids, skill_mcp_dependency_install, skill_search, mentions_v2, steer, guardian_approval, goals, collaboration_modes, tool_call_mcp_elicitation, auth_elicitation, personality, fast_mode, tui_app_server, remote_compaction_v2, workspace_dependencies",
"feature flag overrides": "none",
"feature flags enabled": "38",
"log dir": "/home/nebula/.codex/log",
"mcp servers": "0",
"model": "<redacted>",
"model provider": "custom",
"sqlite home": "/home/nebula/.codex"
},
"remediation": null,
"durationMs": 0
},
"git.environment": {
"id": "git.environment",
"category": "git",
"status": "ok",
"summary": "git version 2.43.0",
"details": {
".git entry": "directory",
"PATH git #1": "/usr/bin/git",
"PATH git #2": "/bin/git",
"PATH git entries": "2",
"git branch": "master",
"git build options": "git version 2.43.0; cpu: x86_64; no commit associated with this build; sizeof-long: 8; sizeof-size_t: 8; shell-path: /bin/sh",
"git exec path": "/usr/lib/git-core",
"git version": "git version 2.43.0",
"repo detected": "true",
"repo root": "/home/nebula/mnt/dev/qingdaogang",
"selected git": "/usr/bin/git"
},
"remediation": null,
"durationMs": 50
},
"installation": {
"id": "installation",
"category": "install",
"status": "ok",
"summary": "installation looks consistent",
"details": {
"PATH codex #1": "/home/nebula/.local/bin/codex",
"PATH codex #2": "/home/nebula/.local/bin/codex",
"PATH codex entries": "2",
"current executable": "/home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex",
"install context": "standalone (unix, package /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl, bin /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin, resources /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-resources, path /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-path)",
"managed by bun": "false",
"managed by npm": "false",
"managed by pnpm": "false",
"managed package root": "not set"
},
"remediation": null,
"durationMs": 4
},
"mcp.config": {
"id": "mcp.config",
"category": "mcp",
"status": "ok",
"summary": "no MCP servers configured",
"details": {},
"remediation": null,
"durationMs": 1
},
"network.env": {
"id": "network.env",
"category": "network",
"status": "ok",
"summary": "network-related environment looks readable",
"details": {
"proxy env vars": "none"
},
"remediation": null,
"durationMs": 0
},
"network.provider_reachability": {
"id": "network.provider_reachability",
"category": "reachability",
"status": "ok",
"summary": "active provider endpoints are reachable over HTTP",
"details": {
"custom API base URL": "http://127.0.0.1:15721/v1 reachable (HTTP 404)",
"custom API route probe": "http://127.0.0.1:15721/v1/<redacted> route exists (HTTP 200)",
"reachability mode": "API key auth"
},
"remediation": null,
"durationMs": 79
},
"network.websocket_reachability": {
"id": "network.websocket_reachability",
"category": "websocket",
"status": "ok",
"summary": "Responses WebSocket is not enabled for the active provider",
"details": {
"model provider": "custom",
"provider name": "custom",
"proxy env vars": "none",
"supports websockets": "false",
"wire API": "responses"
},
"remediation": null,
"durationMs": 1
},
"runtime.provenance": {
"id": "runtime.provenance",
"category": "runtime",
"status": "ok",
"summary": "running standalone on linux-x86_64",
"details": {
"commit": "unknown",
"current executable": "/home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex",
"install method": "standalone (unix, package /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl, bin /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin, resources /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-resources, path /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-path)",
"platform": "linux-x86_64",
"version": "0.146.0"
},
"remediation": null,
"durationMs": 0
},
"runtime.search": {
"id": "runtime.search",
"category": "search",
"status": "ok",
"summary": "search is OK (bundled)",
"details": {
"search command": "/home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-path/rg",
"search command readiness": "file exists",
"search provider": "bundled"
},
"remediation": null,
"durationMs": 0
},
"sandbox.helpers": {
"id": "sandbox.helpers",
"category": "sandbox",
"status": "ok",
"summary": "sandbox configuration is readable",
"details": {
"approval policy": "OnRequest",
"codex-linux-sandbox helper": "/home/nebula/.codex/tmp/arg0/codex-arg0DF0iB9/codex-linux-sandbox",
"execve wrapper helper": "/home/nebula/.codex/tmp/arg0/codex-arg0DF0iB9/codex-execve-wrapper",
"filesystem sandbox": "restricted",
"network sandbox": "restricted"
},
"remediation": null,
"durationMs": 0
},
"state.paths": {
"id": "state.paths",
"category": "state",
"status": "ok",
"summary": "state paths and databases are inspectable",
"details": {
"CODEX_HOME": "/home/nebula/.codex (dir)",
"active rollout files": "37 files, 10229572 total bytes, 276474 average bytes",
"archived rollout files": "0 files, 0 total bytes, 0 average bytes",
"goals DB": "/home/nebula/.codex/goals_1.sqlite (file)",
"goals DB integrity": "ok",
"log DB": "/home/nebula/.codex/logs_2.sqlite (file)",
"log DB integrity": "ok",
"log dir": "/home/nebula/.codex/log (missing)",
"memories DB": "/home/nebula/.codex/memories_1.sqlite (file)",
"memories DB integrity": "ok",
"sqlite home": "/home/nebula/.codex (dir)",
"standalone release cache": "3 entries in /home/nebula/.codex/packages/standalone/releases",
"state DB": "/home/nebula/.codex/state_5.sqlite (file)",
"state DB integrity": "ok",
"thread history DB": "/home/nebula/.codex/thread_history_1.sqlite (missing)",
"thread history DB integrity": "skipped (missing)"
},
"remediation": null,
"durationMs": 2319
},
"state.rollout_db_parity": {
"id": "state.rollout_db_parity",
"category": "threads",
"status": "ok",
"summary": "rollout files and state DB thread inventory agree",
"details": {
"default model provider": "custom",
"rollout DB active files": "37",
"rollout DB active rows": "37",
"rollout DB archive mismatches": "0",
"rollout DB archived files": "0",
"rollout DB archived rows": "0",
"rollout DB duplicate DB paths": "0",
"rollout DB duplicate rollout thread ids": "0",
"rollout DB malformed file names": "0",
"rollout DB missing active rows": "0",
"rollout DB missing archived rows": "0",
"rollout DB model providers": "custom=37",
"rollout DB rows": "37",
"rollout DB scan cap reached": "false",
"rollout DB scan errors": "0",
"rollout DB sources": "subagent:thread_spawn=24, cli=13",
"rollout DB stale rows": "0"
},
"remediation": null,
"durationMs": 183
},
"system.environment": {
"id": "system.environment",
"category": "system",
"status": "ok",
"summary": "OS language zh-CN",
"details": {
"EDITOR": "not set",
"LANG": "zh_CN.UTF-8",
"VISUAL": "not set",
"os": "Linux Mint 22.3.0 (zena) [64-bit]",
"os language": "zh-CN",
"os type": "Linux Mint",
"os version": "22.3.0"
},
"remediation": null,
"durationMs": 16
},
"terminal.env": {
"id": "terminal.env",
"category": "terminal",
"status": "ok",
"summary": "terminal metadata was detected",
"details": {
"SSH_CLIENT": "present",
"SSH_CONNECTION": "present",
"SSH_TTY": "present",
"TERM": "xterm-256color",
"color output": "enabled",
"effective locale": "zh_CN.UTF-8",
"stderr is terminal": "true",
"stdin is terminal": "true",
"stdout is terminal": "true",
"terminal": "unknown",
"terminal size": "207x42"
},
"remediation": null,
"durationMs": 1
},
"terminal.title": {
"id": "terminal.title",
"category": "title",
"status": "ok",
"summary": "terminal title default",
"details": {
"terminal title activity": "true",
"terminal title items": "activity, project-name",
"terminal title project source": "git repo root",
"terminal title project value": "qingdaogang",
"terminal title source": "default"
},
"remediation": null,
"durationMs": 0
},
"updates.status": {
"id": "updates.status",
"category": "updates",
"status": "warning",
"summary": "update configuration is locally consistent",
"details": {
"cached latest version": "0.146.0",
"check for update on startup": "true",
"last checked at": "2026-07-29T14:12:05.313582966Z",
"latest version probe": "curl: (28) Connection timed out after 5000 milliseconds",
"update action": "standalone installer",
"version cache": "/home/nebula/.codex/version.json"
},
"remediation": null,
"durationMs": 5047
}
}
}
When using Codex CLI with the Qwen-3.8 model through a compatible gateway/provider, Codex sometimes enters a state where there is no visible progress information in the CLI.
The terminal appears to be frozen, but the request is actually still running.
I verified this from the gateway logs: the last request remains open and has not completed. The model request is still being processed, but Codex CLI does not provide any indication of the current state.
The issue appears to be related to the interaction between Codex CLI and this model/provider, because other models usually provide visible status updates during long requests.
No timeout or error is displayed in the CLI while the request is still active on the gateway side.
Working...
Thinking...
Running tool...
Waiting for model response...
The corresponding request is still active and has not returned a completion response.
When Codex CLI is waiting for a long-running model response, it should continue displaying some kind of progress/status indicator.
Even if the model does not return tokens immediately, the user should be able to tell that Codex is still working instead of appearing completely frozen.
It would be helpful if Codex CLI could expose a heartbeat or fallback status message when a streaming response has not produced visible output for an extended period.
What version of Codex CLI is running?
0.146.0
What subscription do you have?
free
Which model were you using?
qwen4.8
What platform is your computer?
Linux 6.14.0-37-generic x86_64 x86_64
What terminal emulator and version are you using (if applicable)?
bash
Codex doctor report
{ "schemaVersion": 1, "generatedAt": "1785394080s since unix epoch", "overallStatus": "warning", "codexVersion": "0.146.0", "checks": { "app_server.status": { "id": "app_server.status", "category": "app-server", "status": "ok", "summary": "background server is not running", "details": { "control socket": "/home/nebula/.codex/app-server-control/app-server-control.sock", "daemon state dir": "/home/nebula/.codex/app-server-daemon", "mode": "ephemeral", "pid file": "/home/nebula/.codex/app-server-daemon/app-server.pid (missing)", "settings": "/home/nebula/.codex/app-server-daemon/settings.json (missing)", "status": "not running", "update-loop pid file": "/home/nebula/.codex/app-server-daemon/app-server-updater.pid (missing)" }, "remediation": null, "durationMs": 1 }, "auth.credentials": { "id": "auth.credentials", "category": "auth", "status": "ok", "summary": "auth is configured", "details": { "auth file": "/home/nebula/.codex/auth.json", "auth storage mode": "File", "stored API key": "true", "stored ChatGPT tokens": "false", "stored agent identity": "false", "stored auth mode": "api_key" }, "remediation": null, "durationMs": 0 }, "config.load": { "id": "config.load", "category": "config", "status": "ok", "summary": "config loaded", "details": { "CODEX_HOME": "/home/nebula/.codex", "config.toml": "/home/nebula/.codex/config.toml", "config.toml parse": "ok", "cwd": "/home/nebula/mnt/dev/qingdaogang", "enabled feature flags": "shell_tool, unified_exec, shell_snapshot, code_mode_host, terminal_resize_reflow, sqlite, hooks, enable_request_compression, multi_agent, apps, tool_search_always_defer_mcp_tools, tool_suggest, plugins, in_app_browser, in_app_updates, browser_use, browser_use_full_cdp_access, browser_use_external, computer_use, remote_plugin, plugin_sharing, image_generation, resize_all_images, item_ids, skill_mcp_dependency_install, skill_search, mentions_v2, steer, guardian_approval, goals, collaboration_modes, tool_call_mcp_elicitation, auth_elicitation, personality, fast_mode, tui_app_server, remote_compaction_v2, workspace_dependencies", "feature flag overrides": "none", "feature flags enabled": "38", "log dir": "/home/nebula/.codex/log", "mcp servers": "0", "model": "<redacted>", "model provider": "custom", "sqlite home": "/home/nebula/.codex" }, "remediation": null, "durationMs": 0 }, "git.environment": { "id": "git.environment", "category": "git", "status": "ok", "summary": "git version 2.43.0", "details": { ".git entry": "directory", "PATH git #1": "/usr/bin/git", "PATH git #2": "/bin/git", "PATH git entries": "2", "git branch": "master", "git build options": "git version 2.43.0; cpu: x86_64; no commit associated with this build; sizeof-long: 8; sizeof-size_t: 8; shell-path: /bin/sh", "git exec path": "/usr/lib/git-core", "git version": "git version 2.43.0", "repo detected": "true", "repo root": "/home/nebula/mnt/dev/qingdaogang", "selected git": "/usr/bin/git" }, "remediation": null, "durationMs": 50 }, "installation": { "id": "installation", "category": "install", "status": "ok", "summary": "installation looks consistent", "details": { "PATH codex #1": "/home/nebula/.local/bin/codex", "PATH codex #2": "/home/nebula/.local/bin/codex", "PATH codex entries": "2", "current executable": "/home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex", "install context": "standalone (unix, package /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl, bin /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin, resources /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-resources, path /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-path)", "managed by bun": "false", "managed by npm": "false", "managed by pnpm": "false", "managed package root": "not set" }, "remediation": null, "durationMs": 4 }, "mcp.config": { "id": "mcp.config", "category": "mcp", "status": "ok", "summary": "no MCP servers configured", "details": {}, "remediation": null, "durationMs": 1 }, "network.env": { "id": "network.env", "category": "network", "status": "ok", "summary": "network-related environment looks readable", "details": { "proxy env vars": "none" }, "remediation": null, "durationMs": 0 }, "network.provider_reachability": { "id": "network.provider_reachability", "category": "reachability", "status": "ok", "summary": "active provider endpoints are reachable over HTTP", "details": { "custom API base URL": "http://127.0.0.1:15721/v1 reachable (HTTP 404)", "custom API route probe": "http://127.0.0.1:15721/v1/<redacted> route exists (HTTP 200)", "reachability mode": "API key auth" }, "remediation": null, "durationMs": 79 }, "network.websocket_reachability": { "id": "network.websocket_reachability", "category": "websocket", "status": "ok", "summary": "Responses WebSocket is not enabled for the active provider", "details": { "model provider": "custom", "provider name": "custom", "proxy env vars": "none", "supports websockets": "false", "wire API": "responses" }, "remediation": null, "durationMs": 1 }, "runtime.provenance": { "id": "runtime.provenance", "category": "runtime", "status": "ok", "summary": "running standalone on linux-x86_64", "details": { "commit": "unknown", "current executable": "/home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex", "install method": "standalone (unix, package /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl, bin /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin, resources /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-resources, path /home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-path)", "platform": "linux-x86_64", "version": "0.146.0" }, "remediation": null, "durationMs": 0 }, "runtime.search": { "id": "runtime.search", "category": "search", "status": "ok", "summary": "search is OK (bundled)", "details": { "search command": "/home/nebula/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/codex-path/rg", "search command readiness": "file exists", "search provider": "bundled" }, "remediation": null, "durationMs": 0 }, "sandbox.helpers": { "id": "sandbox.helpers", "category": "sandbox", "status": "ok", "summary": "sandbox configuration is readable", "details": { "approval policy": "OnRequest", "codex-linux-sandbox helper": "/home/nebula/.codex/tmp/arg0/codex-arg0DF0iB9/codex-linux-sandbox", "execve wrapper helper": "/home/nebula/.codex/tmp/arg0/codex-arg0DF0iB9/codex-execve-wrapper", "filesystem sandbox": "restricted", "network sandbox": "restricted" }, "remediation": null, "durationMs": 0 }, "state.paths": { "id": "state.paths", "category": "state", "status": "ok", "summary": "state paths and databases are inspectable", "details": { "CODEX_HOME": "/home/nebula/.codex (dir)", "active rollout files": "37 files, 10229572 total bytes, 276474 average bytes", "archived rollout files": "0 files, 0 total bytes, 0 average bytes", "goals DB": "/home/nebula/.codex/goals_1.sqlite (file)", "goals DB integrity": "ok", "log DB": "/home/nebula/.codex/logs_2.sqlite (file)", "log DB integrity": "ok", "log dir": "/home/nebula/.codex/log (missing)", "memories DB": "/home/nebula/.codex/memories_1.sqlite (file)", "memories DB integrity": "ok", "sqlite home": "/home/nebula/.codex (dir)", "standalone release cache": "3 entries in /home/nebula/.codex/packages/standalone/releases", "state DB": "/home/nebula/.codex/state_5.sqlite (file)", "state DB integrity": "ok", "thread history DB": "/home/nebula/.codex/thread_history_1.sqlite (missing)", "thread history DB integrity": "skipped (missing)" }, "remediation": null, "durationMs": 2319 }, "state.rollout_db_parity": { "id": "state.rollout_db_parity", "category": "threads", "status": "ok", "summary": "rollout files and state DB thread inventory agree", "details": { "default model provider": "custom", "rollout DB active files": "37", "rollout DB active rows": "37", "rollout DB archive mismatches": "0", "rollout DB archived files": "0", "rollout DB archived rows": "0", "rollout DB duplicate DB paths": "0", "rollout DB duplicate rollout thread ids": "0", "rollout DB malformed file names": "0", "rollout DB missing active rows": "0", "rollout DB missing archived rows": "0", "rollout DB model providers": "custom=37", "rollout DB rows": "37", "rollout DB scan cap reached": "false", "rollout DB scan errors": "0", "rollout DB sources": "subagent:thread_spawn=24, cli=13", "rollout DB stale rows": "0" }, "remediation": null, "durationMs": 183 }, "system.environment": { "id": "system.environment", "category": "system", "status": "ok", "summary": "OS language zh-CN", "details": { "EDITOR": "not set", "LANG": "zh_CN.UTF-8", "VISUAL": "not set", "os": "Linux Mint 22.3.0 (zena) [64-bit]", "os language": "zh-CN", "os type": "Linux Mint", "os version": "22.3.0" }, "remediation": null, "durationMs": 16 }, "terminal.env": { "id": "terminal.env", "category": "terminal", "status": "ok", "summary": "terminal metadata was detected", "details": { "SSH_CLIENT": "present", "SSH_CONNECTION": "present", "SSH_TTY": "present", "TERM": "xterm-256color", "color output": "enabled", "effective locale": "zh_CN.UTF-8", "stderr is terminal": "true", "stdin is terminal": "true", "stdout is terminal": "true", "terminal": "unknown", "terminal size": "207x42" }, "remediation": null, "durationMs": 1 }, "terminal.title": { "id": "terminal.title", "category": "title", "status": "ok", "summary": "terminal title default", "details": { "terminal title activity": "true", "terminal title items": "activity, project-name", "terminal title project source": "git repo root", "terminal title project value": "qingdaogang", "terminal title source": "default" }, "remediation": null, "durationMs": 0 }, "updates.status": { "id": "updates.status", "category": "updates", "status": "warning", "summary": "update configuration is locally consistent", "details": { "cached latest version": "0.146.0", "check for update on startup": "true", "last checked at": "2026-07-29T14:12:05.313582966Z", "latest version probe": "curl: (28) Connection timed out after 5000 milliseconds", "update action": "standalone installer", "version cache": "/home/nebula/.codex/version.json" }, "remediation": null, "durationMs": 5047 } } }What issue are you seeing?
When using Codex CLI with the Qwen-3.8 model through a compatible gateway/provider, Codex sometimes enters a state where there is no visible progress information in the CLI.
The CLI does not show:
The terminal appears to be frozen, but the request is actually still running.
I verified this from the gateway logs: the last request remains open and has not completed. The model request is still being processed, but Codex CLI does not provide any indication of the current state.
This makes it difficult to distinguish between:
The issue appears to be related to the interaction between Codex CLI and this model/provider, because other models usually provide visible status updates during long requests.
No timeout or error is displayed in the CLI while the request is still active on the gateway side.
What steps can reproduce the bug?
Configure Codex CLI to use Qwen-3.8 through an OpenAI-compatible gateway/provider.
Start a task that requires a longer model generation or tool execution.
Example prompt:
按照excel内容设计原型
Wait until the request takes a long time.
Observe that Codex CLI stops displaying any status information.
Expected CLI behavior:
Working...
Thinking...
Running tool...
Waiting for model response...
Actual behavior:
(no output)
The corresponding request is still active and has not returned a completion response.
Thread ID (if applicable):
[insert thread id]
What is the expected behavior?
When Codex CLI is waiting for a long-running model response, it should continue displaying some kind of progress/status indicator.
For example:
Even if the model does not return tokens immediately, the user should be able to tell that Codex is still working instead of appearing completely frozen.
Additional information
Additional observations:
It would be helpful if Codex CLI could expose a heartbeat or fallback status message when a streaming response has not produced visible output for an extended period.