Issue: Codex appears to timeout while waiting for user input
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_
11 Comments
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.
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_msfeels 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
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 ?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.
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.
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.
Still nothing change about this. Is there no codex contributor uses it? Or all pure vibe coder, and everyone think this feature good?
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.
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
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.
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.