openai / openai/codex

Severe ~45-second stalls on trivial zero-tool-call requests

Open
#44,083 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug CLI performance
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of Codex CLI is running?

codex-cli 0.153.4

What subscription do you have?

Pro

Which model were you using?

gpt-6-astra (reasoning effort: xhigh)

What platform is your computer?

Linux (Arch Linux)

What terminal emulator and version are you using (if applicable)?

Ghostty (TERM=xterm-ghostty)

Codex doctor report

What issue are you seeing?

During a long Codex CLI session, ordinary conversational follow-ups that required no tools, browsing, file access, or code execution repeatedly appeared to stall in reasoning for approximately 45 seconds.

This is a user-visible latency problem, not a request for hidden chain-of-thought content. The concern is that simple no-tool turns take nearly a minute with no useful progress signal.

What steps can reproduce the bug?

Uploaded thread: 01a083b0-60fa-7741-b91f-ce6cd1875dfb

What is the expected behavior?

A trivial zero-tool-call request should normally complete within a few seconds. If long-context or high-reasoning processing is unavoidable, the UI should expose meaningful progress or stage timing.

Additional information

Frozen-log analysis of the uploaded session:

  • 326 completed Reasoning items over approximately 3.81 hours.
  • Individual Reasoning duration: median 17.71s, p90 24.84s, maximum 29.63s.
  • Mean duration increased from 14.28s in the first 20% of the session to 17.80s in the final 20%.
  • One-hour means were approximately 14.4s, 14.7s, 15.9s, and 18.9s.
  • Two measured simple turns took approximately 43.1s and 46.6s; another was still running after roughly 47s.
  • The turns made no tool calls. Shell and file operations elsewhere in the same session completed in milliseconds, and no rate-limit error was reported.
  • Model passes carried approximately 149k-158k input tokens, mostly cached.

The per-item trend is modest and noisy rather than a clean runaway. The notable discrepancy is that user-visible stalls of roughly 43-47 seconds are materially longer than a typical single Reasoning item and even longer than the maximum measured item. This may indicate multiple internal passes, long-context replay or compaction, queueing, or unaccounted orchestration or UI overhead.

Please investigate:

  1. Whether no-tool turns replay or reprocess the full long context.
  2. Whether xhigh causes multiple internal passes or retries for simple requests.
  3. Queue time, context serialization, compaction time, cache hit or miss, model execution time, and UI wait time separately.
  4. Why wall-clock turn latency is substantially longer than the logged Reasoning-item duration.
  5. Known mitigations such as lower reasoning effort, a fresh context, or session settings.

I can provide the frozen JSONL snapshot and duration plot if needed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the uploaded thread 01a083b0-60fa-7741-b91f-ce6cd1875dfb and the frozen JSONL snapshot. Compare wall-clock turn latency with Reasoning-item durations, checking queueing, context replay or compaction, cache status, model execution, and UI wait separately. Done means identifying the source of the 43–47 second stalls and documenting validated mitigations or instrumentation needs.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
cli, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.