openai/codex · error · io::Error

TimedOut

TimedOut

Error message

timed out discarding buffered terminal input

What it means

Error "timed out discarding buffered terminal input" thrown in openai/codex.

Source

Thrown at codex-rs/tui/src/tui/input_boundary.rs:36

    fn drop(&mut self) {
        if self.active {
            let _ = super::restore_after_exit();
        }
    }
}

/// Drain decoded and unread input before a screen can accept a security-sensitive decision.
///
/// Partial control sequences remain quarantined; an unresolved boundary fails after one second.
pub(crate) fn discard_pending_terminal_input() -> Result<()> {
    #[cfg(unix)]
    let _ = crossterm::event::discard_buffered_input()?;

    let deadline = Instant::now() + Duration::from_secs(/*secs*/ 1);
    loop {
        let remaining = deadline.saturating_duration_since(Instant::now());
        if remaining.is_zero() {
            return Err(io::Error::new(
                io::ErrorKind::TimedOut,
                "timed out discarding buffered terminal input",
            ));
        }

        if crossterm::event::poll(remaining.min(Duration::from_millis(/*millis*/ 10)))? {
            let _ = crossterm::event::read()?;
            continue;
        }

        #[cfg(unix)]
        if crossterm::event::discard_buffered_input()?
            != crossterm::event::InputDiscardStatus::Complete
        {
            continue;
        }

        #[cfg(any(unix, windows))]

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/tui/src/tui/input_boundary.rs:36 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of openai/codex@339751715c (2026-08-25). Data as JSON: /api/errors/38b0ff6149ab9358. Report an issue: GitHub.