Codex CLI goes fullscreen #49129
Replies: 5 comments 4 replies
|
Is there no way to scroll up/down 1 line at a time via keyboard? Up/Down being limited to as text history is a bit annoying, PgUp/Down is just too coarse when you want to do something as simple as a reading the implementation plan. |
|
This broke copy / paste in remote |
|
This whole thing is half-baked and shouldn't be the default. |
|
Please make auto copy on selection optional |
|
I copy codex output to slack and it looks really broken. Even simply copying a link is broken, yes I can open the link first in browser and copy it. But that's unnecessary extra steps. |
Uh oh!
There was an error while loading. Please reload this page.
The latest Codex CLI release now uses your whole terminal window by default. That lets Codex do things a scrolling terminal can't:
expand long diffs and tool output only when you want the details
keep your composer pinned to the bottom while you read back
copy text while keeping its formatting
open and manage long sessions faster and more efficiently.
What's new
In the new Fullscreen view, Codex works the same way tools like
vim,toporlazygitdo. Instead of adding to your terminal's scrollback buffer, it draws and manages the entire screen: the transcript, the composer and the status line.Open the fullscreen scrolling demo
Scrolling back through a long example session. The composer stays pinned to the bottom the whole way.
Diffs and tool output now can be expanded individually. A long test run or a big edit takes up a few lines in the transcript instead of pages, and you can expand it when you need the details.
A frame from the example session. The edit and the test run are collapsed to a few lines each, and "Show details" expands them.
You'll also notice some other changes:
Hints and keyboard shortcuts get their own row at the bottom of the screen.
The status line stays on screen, even when contextual notices appear.
Warnings no longer appear in the transcript. The bottom row shows how many are unread, and
F2opens them.Built for long sessions
When we first built Codex, managing context was a big part of working with the model. You'd often start fresh just to keep a session from getting polluted.
That's changed. Codex sessions that used to be short, focused exchanges now often run for long stretches.
The scrollback view wasn't built for that. It lived inside your terminal's scrollback buffer, so it was bound by limits that vary from terminal to terminal. And because we never knew if or when you'd scroll back, we had to load as much of the conversation as we could up front. The longer the session, the more we loaded, and older history still fell off the top.
Fullscreen removes those limits:
Sessions open fast, regardless of their length. History loads on demand as you scroll.
No scrollback ceiling. Keep scrolling and Codex keeps loading, all the way back to the start of the session.
Your prompt never scrolls away. Reread a plan or an earlier diff while the composer stays pinned to the bottom, ready for your next message.
Streaming is lighter too. The Scrollback view could only append lines or redraw the whole screen, so streamed tables and lists had to repaint the entire scrollback as they grew. Fullscreen mode redraws only what changed.
Selecting and copying
In Fullscreen mode, Codex handles the text selection, so selecting and copying work a little differently than you're used to.
It also means Codex can copy more than your terminal could. Your terminal only sees characters on the screen, but Codex knows which parts are paragraphs, lists and code blocks. When you copy, Codex gives your clipboard both the Markdown and a formatted version, and the app you paste into picks the one it supports. Paste into a code editor, a terminal or a plain text field and you get the Markdown, with backticks and code fences intact. Paste into a doc, an email or a chat app and you get formatted text, with real paragraphs, inline code and code blocks.
Copy-on-select in an example session, then one copy pasted twice: a Markdown editor gets the Markdown, and a notes app gets the formatting.
Copying in your terminal
In Ghostty 1.2+, kitty on macOS, and Windows Terminal or VS Code on Windows, your usual copy shortcut continues to work. Most other terminals, including Terminal.app and iTerm2, reserve that shortcut for themselves, so Codex never receives that keypress. For those, Codex copies the moment you finish selecting, so you don't need a shortcut. Inside tmux or Zellij, Codex also copies on select.
If Codex can't tell which terminal you're in, or you'd rather choose for yourself, set
copy_on_selectin the[tui]section of your config toauto(the default),alwaysornever. Whatever you choose, right-clicking a selection copies it.A code-only selection copies as plain text. Over SSH, you get the raw Markdown as plain text. And if you ever need your terminal's own selection, use its selection override while you drag; the modifier key varies from terminal to terminal.
Codex supports many terminals, multiplexers and configurations. We've tested many combinations, but we may have missed some issues. If copying doesn't work the way you expect, run
/feedbackand tell us.Where this is going
Collapsible output, faster long sessions and richer copying are what you get today. Owning the whole screen also lets Codex put things side by side, update them in place, and give each kind of information its own space. Here are a few things we're exploring.
A development preview of
/side, using an example conversation.One example is
/side, which can now appear on the side. You can ask a quick question in a second conversation that sits next to your main one, and the task in progress keeps going. In the preview, each conversation has its own composer. Click a pane or pressCtrl+/to move between them. On narrower terminals you still see one conversation at a time.We're also working on a pane that sits next to the transcript and shows information about the current conversation. If you've used the side panels in the Codex desktop app, it's similar, but built for the terminal.
These are early ideas, and they'll change as we build them and hear from you. None of them could work in the Scrollback view.
Scrollback or Fullscreen?
Each view has tradeoffs, and switching between them is one command away. Here's how Scrollback and Fullscreen compare:
PgUp/PgDnandCtrl+Home/End; the composer stays pinned to the bottomF3searches the transcriptcodex resumebrings the session backIf you lean on tmux copy mode, want the conversation to remain in your terminal after you quit, or prefer your terminal's own selection everywhere, Scrollback may suit you better. We think Fullscreen is the better fit for long sessions, but that's for you to decide.
Try both
Scrolling and copying work a little differently in Fullscreen, so the first day can feel off. Give it a few days before you decide. It took most of us a couple of days to get used to it.
If it still isn't for you, switch to Scrollback:
Run
/tui.Choose Scrollback.
Restart Codex.
Codex remembers your choice, and you can switch back the same way.
Whichever view you choose, run
/feedbackand tell us how it goes.All reactions