Claude Code Can't Scroll Up? How to Fix It
If you can’t scroll up in Claude Code, press PgUp to scroll the conversation.
On a MacBook, press Fn+↑. In fullscreen rendering, Claude Code handles scrolling itself, so your terminal’s scrollbar and scrollback don’t work the way they normally do.
Fullscreen rendering draws the interface like vim or htop. The conversation isn’t in your terminal’s scrollback, which is why dragging the scrollbar may do nothing.
This article shows the scroll shortcuts, how to fix the mouse wheel, and how to go back to normal terminal scrolling.
Keyboard shortcuts for scrolling
Here are the shortcuts in fullscreen rendering:
| Shortcut | Action |
|---|---|
PgUp / PgDn | Scroll up or down by half a screen |
Ctrl+Home | Jump to the start of the conversation |
Ctrl+End | Jump to the latest message |
| Mouse wheel | Scroll a few lines at a time |
Keyboards without those keys, like on a MacBook, use Fn with the arrow keys:
| Shortcut | Sends |
|---|---|
Fn+↑ | PgUp |
Fn+↓ | PgDn |
Fn+← | Home |
Fn+→ | End |
Ctrl+Fn+→ doesn’t reach Claude Code on macOS, so use another way to get back to the bottom. You can click the Jump to bottom button or scroll down with the mouse wheel.
Check which renderer you’re using
Run this command inside Claude Code:
/tui
It prints which renderer is active. The fix depends on the answer:
- Fullscreen: use the shortcuts above
- Classic: the conversation is in your terminal’s normal scrollback, so scroll the way you do in any terminal
How to go back to normal terminal scrolling
To use your terminal’s native scrollback, switch to the classic renderer:
/tui default
Your conversation stays intact when you switch. To return to fullscreen rendering, run /tui fullscreen.
The mouse wheel doesn’t scroll
Mouse wheel scrolling only works if your terminal forwards mouse events to Claude Code. Most terminals do this automatically.
iTerm2 has a setting for it. If the wheel does nothing but PgUp and PgDn work, open Settings > Profiles > Terminal and turn on Enable mouse reporting.
Also check that you haven’t set CLAUDE_CODE_DISABLE_MOUSE=1, because that turns off wheel scrolling inside Claude Code.
The mouse wheel scrolls too slowly
If each notch of the wheel only moves one line, raise the scroll speed:
/scroll-speed
Scroll while the dialog is open to feel the change, press ← and → to adjust it, then press Enter to save.
You can also set the speed with an environment variable. A value of 3 matches the default in vim:
export CLAUDE_CODE_SCROLL_SPEED=3
This doesn’t apply in the JetBrains IDE terminal, where Claude Code uses its own scroll handling.
The view jumps while Claude is working
In fullscreen rendering, scrolling up pauses auto-follow, so new output won’t pull you back to the bottom. A Jump to bottom button appears while you’re scrolled up.
To stop the view from ever jumping on its own, open /config and set Auto-scroll to off.
If you’re in the classic renderer and your terminal keeps jumping to the top or flashing while Claude works, try fullscreen rendering. It was designed to fix that problem:
/tui fullscreen
Scrolling stops at “Conversation compacted”
If you close a compacted session and resume it, scrolling up stops at the Conversation compacted row. Your earlier messages still exist in the session’s transcript file on your computer.
To get a detail from those messages, ask Claude to look it up in that file. See where Claude Code sessions are stored to find it yourself.
How to search the conversation
Cmd+F can’t see the conversation in fullscreen rendering. Press Ctrl+O to open transcript mode, then press / to search.
In transcript mode, press [ to write the full conversation into your terminal’s scrollback. After that, Cmd+F and normal selection work on it.
Conclusion
Press PgUp or Fn+↑ to scroll up in fullscreen rendering, and /scroll-speed if the wheel feels slow. If you prefer how your terminal normally scrolls, run /tui default.
If you can’t select text either, read how to copy from Claude Code.