Codex stale-thinking thread spinner may persist after stream-state mismatch
Resolved 💬 2 comments Opened Feb 26, 2026 by g0udurix Closed Feb 27, 2026
Reproducibility summary
- Run performed against
~/.codex/sessions,~/.codex/archived_sessionsand app logs. - Detection runs in read-only mode for logs and session data.
Key stale indicators
019c9a7f-46f2-7e03-aceb-89afe89a581b=> stale score=12.6 unmatched_starts=2 heartbeat_ms=3867753 stream_warnings=0 in_progress_stream=True marked_streaming=True turn_not_found_count=1272019c489a-0eb0-7142-8c30-e92ced2cf74a=> at-risk score=5.8 unmatched_starts=0 heartbeat_ms=7549254 stream_warnings=0 in_progress_stream=True marked_streaming=True turn_not_found_count=0
Hypothesis
- Potential stale stream-state reconciliation path after orphaned run IDs or lost completion events.
- App UI likely depends on stream flag from resume + turn completion to stop spinner loop.
Ask
- Please investigate stream-state lifecycle for
thread-stream-state-changed,maybe_resume_success, andTurn not found for eventreconciliation.
Evidence Artifacts
- stale_threads: /Users/jeremie/.codex/reports/codex-stale-thinking/2026-02-26/20260226T220025Z/stale_threads.jsonl
- actions: /Users/jeremie/.codex/reports/codex-stale-thinking/2026-02-26/20260226T220025Z/actions.json
- incident_summary: /Users/jeremie/.codex/reports/codex-stale-thinking/2026-02-26/20260226T220025Z/incident_summary.md
- openai_feedback_draft: /Users/jeremie/.codex/reports/codex-stale-thinking/2026-02-26/20260226T220025Z/openai_feedback_draft.md
Detection Inputs
- sessions root:
~/.codex/sessions,~/.codex/archived_sessions - app logs:
~/Library/Logs/com.openai.codex - version matrix:
codex-cli 0.101.0/codex-cli 0.105.0
Please keep diagnostics redacted; do not expose prompt contents or file/project contents.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗