
Codex CLI 0.166.0: Keyboard-Driven Transcript Selection
Codex CLI 0.166.0 introduces keyboard-driven transcript selection in the TUI, featuring motions, integrated search, overlay support, and preserved composer drafts. We also cover quality-of-life updates, including the new resume flag for codex queue and network-only diagnostics in codex doctor.
Chapter 1
Keyboard Driven Transcript Selection
Ethan Park
Morning, everyone. Quick note before we get into it: this daily show exists because of Jellypod, so thanks to Jellypod for helping make it a reality. Today is Codex CLI 0.166.0, tagged on October 29, commit 6ff1e1c, following the 0.165 line.
Maya
And there's one change in this release that you'll notice the first time a long session scrolls off your screen. The TUI now has keyboard driven transcript selection. That's four pull requests: 57221, 57222, 57223, and 57224. Together they add word, line, and page motions, integrated search, configurable shortcuts, and wiring into the transcript overlays.
Ethan Park
Let's take those pieces one at a time, because each one maps to something you do. The motions come first. You can move through the transcript by word, by line, or by page, without a mouse. If an agent printed a long diff or a command output twenty screens ago, you can navigate back to the exact spot and select what you need.
Maya
Second is Find, which is integrated with that selection mode. That's PR 57222. So search and selection aren't two separate features. You can search the transcript text and land in a selection context, instead of searching in one place and then trying to grab text somewhere else.
Ethan Park
Third, 57223 wires keyboard selection into the transcript overlays, so it isn't limited to the main view. And the shortcuts are configurable. That matters, and I'll come back to it in the caveats.
Maya
The one I'd flag as the most practical is 57224. Its title is fix transcript selection input routing and preserve composer drafts. Think about the scenario. You're halfway through typing a prompt, you need to copy a file path from earlier output, and you don't want to lose what you typed. The fix means that when you enter selection mode, your unsubmitted composer text stays put.
Ethan Park
Right, and the release notes are specific about that. The thing they claim is routing: keystrokes go to the selection mode, not into your draft. The thing they don't spell out is every single key. So I'd treat this as something to try on your own setup rather than something I can recite a cheat sheet for.
Maya
Fair. Here's how I'd actually try it. Start a session, let it produce some real output, then type a half written prompt in the composer and leave it there. Enter transcript selection mode using whatever binding your build gives you. Move by word, then line, then page. Run a search with Find. Copy something. Then back out and confirm that your draft is still sitting in the composer.
Ethan Park
That last check is the one that tells you whether the routing fix works in your terminal. And if you've been relying on mouse selection or on tmux copy mode for this, it's worth comparing. I can't say from the release notes how it stacks up against those. But a selection mode that lives inside the TUI at least knows where the transcript boundaries are.
Maya
Now the caveats. First, shortcuts. Since they're configurable, check the keybinding configuration, especially if you customized TUI keys in an earlier release. The release notes don't describe a migration, so I'd look for conflicts between your custom bindings and the new ones.
Ethan Park
Second, and this is my inference, not something from the release notes: terminals and multiplexers can intercept keys before the application ever sees them. If you run Codex inside tmux or screen, and a navigation key does nothing, that's the first place I'd look. Check whether the multiplexer or your terminal emulator is capturing it, then rebind on whichever side is easier.
Maya
And third, this is a new mode with four PRs behind it in one release. If something behaves oddly, narrow it down. Does it happen with a draft in the composer? Inside an overlay? Only with a particular binding? That makes a bug report much more useful.
Chapter 2
Smaller Changes Worth Knowing
Ethan Park
A few smaller items worth mentioning. There's a connection to an earlier episode here: when we covered Codex CLI 0.164.0, the story was switching to GPT 6.1 Terra inline. In 0.166.0, PR 57293 adds Terra to the bundled catalog, and also to the Vertex AI and Amazon Bedrock catalogs. So it's no longer just the local CLI defaults that know about it.
Maya
Next, codex queue now takes a resume flag. That's PR 57232. You queue a message, and with the flag it also resumes the thread if that thread is unloaded. Before, that was a separate step. Related, there's a change that reduces the default thread unload delay to one minute, PR 57242. So unloaded threads may be more common, and the resume flag has more to do.
Ethan Park
Then there's codex doctor with a network only flag, PR 57606. It gives you focused diagnostics for configuration, connectivity, and WebSocket checks, rather than the full run. If you're debugging a proxy or a remote connection, that's the one to try first.
Maya
On the TUI side, Markdown now renders consistently in async questions, choices, answers, and transcript replies. And there are clearer explanations when a safety block triggers, along with selectable safer follow up prompts. That's PRs 57363 and 57365. Instead of just hitting a wall, you get a reason and some options.
Ethan Park
And some fixes that matter if you fork or resume a lot. Acknowledged approval and permission settings are now preserved when you resume or fork a thread, that's 57227. Reasoning token accounting is preserved across resume and fork, which the notes say avoids premature compaction, that's 57839.
Maya
Plus spawned descendant threads are restored when you unarchive their parent, 57635. And TUI reconnection recovery is improved, including how offline /quit and /exit behave, 57820. If you've ever been stuck in a session with a dropped connection, that one's for you.
Ethan Park
So the takeaway: update to 0.166.0, open a long transcript, and test selection mode with a draft in the composer. Check your keybindings for conflicts, and see what your terminal setup does with the keys. That's it for today.