Issue: Codex appears to timeout while waiting for user input

Open 💬 11 comments Opened Jun 10, 2026 by eltonbraga

What version of Codex CLI is running?

codex-cli 0.139.0

What subscription do you have?

Plus

Which model were you using?

gpt-5.5 medium

What platform is your computer?

windows-wsl (Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 x86_64)

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

Windows Terminal (WSL)

Codex doctor report

not available

What issue are you seeing?

Issue: Codex appears to timeout while waiting for user input

Codex seems to have a very short timeout when it pauses execution and waits for my input.

For example, when it asks for permission to run E2E tests, if I take some time to approve the request, Codex later responds that the operation timed out, even though I eventually approved it.

Another example happens during /plan. Codex asks me questions, but if I take some time to respond, it behaves as if my answers were never received and says it still needs answers to those questions.

This makes interactive workflows unreliable, especially when Codex requires confirmations, approvals, or user feedback before continuing.

<img width="2558" height="510" alt="Image" src="https://github.com/user-attachments/assets/3376284b-5e8d-4f12-a446-ac1a15515965" />

Notes: explanation about the image (it is in portuguese the flow in the image) .

Bug notes / additional context

The screenshot shows that Codex had already marked the questions as answered:

Questions 2/2 answered

The first answered question was:

On refresh, which folders should remain expanded?
Answer: All folders that were already expanded. Recommended

The second answered question was:

If a root folder was removed, renamed, or became unreadable on disk, how should the refresh behave?
Answer: Remove it from the tree.

However, after that, Codex still asked again as if those decisions had not been provided:

I need to finalize two decisions before the final plan:

Should expanded subdirectories also be preserved, or only the root folders?
If a root folder no longer exists, should the old tree be kept with an error, should it be removed, or should the entire refresh be cancelled?

What steps can reproduce the bug?

Steps to reproduce

Start a Codex session that requires user interaction during execution.
Trigger an action that requires confirmation, such as asking Codex to run E2E tests.
When Codex asks for authorization, wait for some time before responding.
Approve the requested action.
Observe that Codex does not continue the execution and instead reports that the operation timed out.
Start another interactive flow, such as /plan.
Let Codex ask one or more clarification questions.
Wait for some time before answering.
Reply with the requested answers.
Observe that Codex behaves as if the answers were not received and says it still needs responses to the questions.

Expected result

Codex should continue the workflow after receiving the user’s approval or answers, even if the user takes some time to respond.

Actual result

Codex appears to timeout or lose track of the pending interaction, causing the workflow to fail or ignore the user’s delayed response.

What is the expected behavior?

Codex should continue the workflow after receiving the user’s approval or answers, even if the user takes some time to respond.

Additional information

_No response_

View original on GitHub ↗

11 Comments

pallgeuer · 1 month ago

I have noticed that there seems to be a 5 minute timeout when questions are asked in planning mode, and if I don't see it, think about it, and answer in time, then it just takes the default value. This is much too quick - often enough I don't even know what deeper architectural choice to make within only 5 minutes. Best would be if there was a way to just disable that timeout for e.g. planning questions.

The timeout seems to be related to model_providers.<id>.stream_idle_timeout_ms, and can only be increased (a broad change that affects all stream idle situations, not only planning mode questions) by specifying a custom model provider and making it shadow the default 'openai' one as closely as possible.

Clearly this is not a good stable 'fix' or workaround, as it means users need to guess how to completely correctly emulate the openai model provider, which could silently change in any future update anyway unbeknown to the user. And what's worse, there seem to be some hardcoded checks whether the current model provider is "openai" in the code, meaning completely the same behaviour is likely not even possible to emulate using a custom model provider.

I think this shortcoming, in particular regarding planning mode questions, should be addressed. In previous versions of Codex CLI planning questions never timed out, and it should be possible for users to opt in to that behaviour.

otanim · 27 days ago

I’m running into the same class of problem, especially in Plan Mode.

For me the main issue is not just the timeout duration, but that user-input prompts can auto-resolve and let Codex continue with recommended/default choices that I did not explicitly approve. Increasing stream_idle_timeout_ms feels too broad because it affects unrelated stream-idle behavior and requires shadowing the built-in OpenAI provider config.

I’d be happy to help address this if the maintainers think it is a good fit for an external contribution.

A narrow fix I’d be willing to implement would be something like a dedicated config option for structured user-input auto-resolution, for example:

```toml
[tools.experimental_request_user_input]
enabled = true
auto_resolution_enabled = false
auto_resolution_grace_ms = 60000
auto_resolution_countdown_ms = 60000


The intended behavior would be:

  - `auto_resolution_enabled = false` disables auto-resolution entirely;
  - `auto_resolution_grace_ms` controls how long Codex waits before showing the visible countdown;
  - `auto_resolution_countdown_ms` controls how long the visible countdown runs;
  - defaults preserve current behavior;
  - structured Plan Mode questions still work normally.

I’m aware external PRs are by invitation only, so I’m not trying to bypass the contribution process. If this direction is acceptable, I’d be glad to prepare a focused PR for this issue and would also like to contribute to Codex development more generally where the team thinks outside help would be useful.
DanteMarshal · 25 days ago

I'm facing a similar issue in plan mode. Sometimes when Codex asks questions and I have to take a while to answer, it automatically marks them as "not answered" and skips them. It's happening in the VSCode extension, I haven't tried CLI a lot to validate whether it happens there as well or not.

<img width="578" height="220" alt="Image" src="https://github.com/user-attachments/assets/920f382f-1ef9-4b66-bade-1b7766e2ad37" />

We should be able to configure or at least disable this behavior.

Also a suggestion: The timeout should be visible when it's present. So it'd be cool to have a timer displayed somewhere so the user knows that this question has a an auto-resolution countdown.

---

I have an unrelated optional educational side question (feel free to ignore it); @otanim mentioned stream_idle_timeout_ms, does it mean that Codex keeps a connection stream alive while we're answering to questions ? If yes, why ?

SandboChang · 24 days ago

These Q&A really should not timeout. Noone has to need to stare at the screen to constantly check for questions. It was not having this bad behavior before, so it's something that should be reverted.

pallgeuer · 24 days ago

I absolutely agree - it often enough hinders the ability to even mildly multitask, because you can't risk switching tabs or desktops just in case you suddenly get a question during planning, and if you miss it you're rolling the dice on whether you have to immediately replan again.

fcnjd · 24 days ago

Totally agree, and issue #28969 goes into the same direction. Since tickets are prioritized according to reactions, let's unite our thumbs up reactions on both to not split them across the community, hoping this will get resolved soon.

misaka19465 · 14 days ago

Still nothing change about this. Is there no codex contributor uses it? Or all pure vibe coder, and everyone think this feature good?

innocenzi · 11 days ago

Coming back almost daily to this issue, it's baffling to me that there's still no way to disable this ridiculous timeout, makes multitasking wastes so much time.

EDIT: the workaround below doesn't work consistently for me.

pallgeuer · 11 days ago

One workaround exists and works for me, but it is still crazy that this isn't being fixed properly as it completely destroys planning mode...

https://github.com/openai/codex/issues/28969#issuecomment-4847883145

Turns out you can just ask Codex to please not apply the auto-timeout. I put it into my Codex home AGENTS.md

DanteMarshal · 9 days ago

I have a $Planning skill in which I explicitly ask Codex never to use timed questions. It was a good workaround until today's update rolled out.

On the bright side, I can now thankfully see a timer on the questions on my VSCode Extension, but Codex itself (after switching to 5.6 Sol) is now ignoring my $Planning skill's instructions and setting the timer anyway. I don't know if it's because of the model or the recent harness update.

It only listened to me once; When another pack of questions were skipped because I was focused on another window, I interrupted and said Please ask your questions again without timers, NEVER USE TIMERS, Let me answer them.

In that one case Codex didn't use the timers, but it used timers again for the later questions after that.

Turns out you can just ask Codex to please not apply the auto-timeout ...

So yes, this does work sometimes but it's not reliable. This is extremely annoying, why do we even have auto-resolution at all ?
If I wanted auto-resolution, I wouldn't have used plan-mode.

misaka19465 · 9 days ago
So yes, this does work sometimes but it's not reliable. This is extremely annoying, why do we even have auto-resolution at all ? If I wanted auto-resolution, I wouldn't have used plan-mode.

This is a complete squandering of context length, and it’s gambling that the model will see this instruction every single time it calls the tool. Actually, even the most advanced models can’t reliably do that.

Maybe this is exactly what OpenAI intends — make you skip answering the question, halt your working progress, and demand that Codex either re-ask or answer directly, all while burning your tokens on utterly pointless busywork.