openai / openai/codex

Feature request: lifecycle hook events for the provider-wait retry menu

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

Nobody has claimed this yet.

CLI enhancement hooks
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Feature request: a lifecycle hook event fired when the retry-capable provider-wait menu (the screen shown while Codex is waiting on its model provider, with options like "Retry now" / "Dismiss and keep waiting") becomes actionable, and a matching event when it closes. Each event should carry the Codex session (or pane/process) identity so an external supervisor can tell which session it applies to.

Why: the current hook surface covers prompt, tool-call, permission, compaction, Stop, and session-lifecycle boundaries, but nothing fires when this provider-wait menu appears or disappears. An external supervisor that wants to act on this menu — for example, to select "Dismiss and keep waiting" automatically so a long-running unattended session doesn't stall on a transient provider hiccup — currently has no event to act on and no reliable signal that the menu is even present.

Alternatives considered and rejected:

  • Polling terminal/pane output for the menu's text on a timer works but is fragile (text and layout can change between versions) and either wastes cycles polling constantly or introduces latency waiting for the next poll.
  • Watching for terminal "activity" or "silence" changes as a proxy for the menu appearing doesn't reliably distinguish "provider-wait menu is up" from ordinary idle output, and terminal-level silence/activity signals can each fire only once before needing to be manually reset.
  • A standing background watcher process that continuously inspects session state avoids polling latency but adds a persistent component whose own lifecycle has to be managed separately from the session it's watching.

None of these give a supervisor a precise, low-latency signal scoped to this specific menu without either fragility or an extra long-lived process. A first-class lifecycle event would let a supervisor react immediately and only when the menu is genuinely present.

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 by locating the provider-wait retry menu and the existing hook surface for prompt, tool-call, permission, compaction, Stop, and session-lifecycle events. Define matching events for the menu becoming actionable and closing, each carrying session or pane/process identity, and verify that an external supervisor can distinguish the target session and react only while the menu is present.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.