Build failure: TuiEvent::Mouse pattern not covered in update_prompt.rs

Resolved 💬 1 comment Opened Dec 16, 2025 by hweihwang Closed Dec 16, 2025

Description

Building codex-rs from source fails with a compilation error due to a missing match arm for TuiEvent::Mouse(_) in tui2/src/update_prompt.rs.

Error Message

error[E0004]: non-exhaustive patterns: `TuiEvent::Mouse(_)` not covered
  --> tui2/src/update_prompt.rs:57
   |
57 |             match event {
   |                   ^^^^^ pattern `TuiEvent::Mouse(_)` not covered
   |
note: `TuiEvent` defined here
  --> tui2/src/tui.rs:122:10
   |
122 | pub enum TuiEvent {
   |          ^^^^^^^^
...
126 |     Mouse(crossterm::event::MouseEvent),
   |     ----- not covered
   = note: the matched value is of type `TuiEvent`

Root Cause

PR #7601 added the TuiEvent::Mouse(crossterm::event::MouseEvent) variant to the TuiEvent enum, but the match statement in update_prompt.rs (lines 52-60) was not updated to handle this new variant.

Affected Code

codex-rs/tui2/src/update_prompt.rs lines 52-60:

match event {
    TuiEvent::Key(key_event) => screen.handle_key(key_event),
    TuiEvent::Paste(_) => {},
    TuiEvent::Draw => {
        tui.draw(u16::MAX, |frame| {
            frame.render_widget_ref(&screen, frame.area());
        })?;
    }
    // Missing: TuiEvent::Mouse(_) => {}
}

Suggested Fix

Add the missing TuiEvent::Mouse(_) case (can be ignored since the update prompt doesn't need mouse interaction):

TuiEvent::Mouse(_) => {}

Other similar files like model_migration.rs and skill_error_prompt.rs already have this pattern.

Environment

  • Building from main branch
  • macOS / Darwin

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗