Support Ctrl+P / Ctrl+N navigation in /resume picker

Resolved 💬 4 comments Opened Apr 16, 2026 by hasit Closed Apr 17, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

What version of Codex CLI is running?

codex-cli 0.121.0

What subscription do you have?

OpenAI API key, Enterprise

Which model were you using?

_No response_

What platform is your computer?

Darwin 25.4.0 arm64 arm

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

Ghostty

What issue are you seeing?

When I trigger /resume and the session picker opens, I can navigate with Up/Down arrows, but Ctrl+P and Ctrl+N do not move the selection. Those shortcuts already work in other Codex TUI flows like ListSelectionView-backed pickers and the textarea/composer, so /resume feels inconsistent.

What steps can reproduce the bug?

  1. Start Codex CLI.
  2. Trigger /resume to open the saved-session picker.
  3. Press Ctrl+P or Ctrl+N.
  4. Notice that the selection does not move, while Up/Down arrows do.

What is the expected behavior?

Ctrl+P should move to the previous session and Ctrl+N should move to the next session, matching the existing keyboard behavior in other Codex TUI pickers and the textarea.

Additional information

This appears to be isolated to the fullscreen resume picker path rather than the shared popup/list selection components. Up/Down already work there; only the Ctrl+P/Ctrl+N aliases are missing.

View original on GitHub ↗

4 Comments

hasit · 4 months ago

I have a fix ready at https://github.com/hasit/codex/tree/session-navigation and would love to contribute to this project.

etraut-openai contributor · 4 months ago

Thanks for the suggestion. This will be addressed in the next release.

hasit · 4 months ago

@etraut-openai what is the policy for contributing? I see the fix was essentially taken from the linked https://github.com/hasit/codex/tree/session-navigation branch.

etraut-openai contributor · 4 months ago

@hasit, the fix was generated by Codex based on the feature request.

We generally don't accept code contributions. They're of little value to us because Codex can generate the code. You can read more about our contribution policy here.