Page Up / Page Down scrolling in Chat panel (Windows)

Feature request for product/service

Cursor IDE

Describe the request

Chat history cannot be scrolled with Page Up / Page Down (or Space). Arrow keys work for message navigation. Mouse wheel works. This blocks efficient keyboard-only review of long agent threads.

Environment
OS: Windows 10/11
Cursor: 3.5.38 (x64), build 009bb5a3600dd98fe1c1f25798f767f686e14750
UI: Chat / Agent side panel
Steps to reproduce
Open Cursor with a long chat thread.
Click in the message history area (not necessarily the input box).
Press Page Down, Page Up, Space, Shift+Space β†’ no scroll.
Press Arrow Down / Arrow Up β†’ navigation works.
Expected
Page Up / Page Down scroll the transcript by ~one viewport when the transcript has focus.

Actual
Only mouse/trackpad scrolling works for page-sized jumps.

Logs
Keyboard Shortcuts Troubleshooting while focused on chat transcript:

[KeybindingService]: Received keydown … ArrowUp
[KeybindingService]: Resolving UpArrow
[KeybindingService]: From 24 keybinding entries, no when clauses matched the context.
Developer: Inspect Context Keys highlights focus but does not show usable context keys for binding in this chat surface.

Requested fix
Handle Page Up/Page Down in the chat transcript when focused, or
Expose commands: cursor.chat.scrollPageUp, cursor.chat.scrollPageDown (and optional focusTranscript) with documented when clauses.

Operating System (if it applies)

Windows 10/11

Hey @Serg1

Thanks for flagging. We do have an open ticket for this one.

Related but different symptom: in Agents Window, Page Down/Up while focused in the chat input shifts the whole layout instead of scrolling the transcript (or moving the caret). Reported here: [Agents Window] Page Down/Up in chat input shifts layout instead of moving caret

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In Agents Window (Layout: glass), with focus in the chat input, pressing Page Down or Page Up shifts the entire chat pane scroll/layout (messages clipped, wrong scroll position) instead of moving only the caret inside the input. Not the classic Editor Window.

Steps to Reproduce

  1. Open Agents Window (About Cursor β†’ Layout: glass).
  2. Open an Agent chat with existing message history.
  3. Click the bottom chat input and type multiple lines (wrapped text helps reproduce).
  4. Press Page Down (Page Up shows the same issue).
  5. Attach screenshots: before and after Page Down.

Expected Behavior

Page Down / Page Up move only the caret within the chat input. The conversation transcript layout and scroll position stay unchanged.

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 3.7.42 (user setup)
VS Code Extension API: 1.105.1
Commit: 5702c9cfca656d8710fad58402fe37f14345e3a0
Date: 2026-06-15T19:39:42.738Z
Layout: glass
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
xterm.js: 6.1.0-beta.256
OS: Windows_NT x64 10.0.26100

Additional Information

  • OS: Windows 11
  • UI: Agents Window (not Editor Window)
  • Screenshots attached: layout before Page Down, layout after Page Down
  • Workaround: use Arrow Up/Down in the input instead of Page Up/Down

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @ll1

Different symptom, likely same root cause! Merged into the existing thread and added to our existing bug report. Thanks for reporting.

Same gap on Linux (Arch / Omarchy, Wayland / Hyprland), Cursor 3.13.10.

Page Up / Page Down do nothing useful for the Agent / chat transcript. Mouse wheel and scrollbar work. Arrow kinda work but need to focus on the conv and are slow.

There is still no workbench command to bind (nothing like aichat.scrollPageUp / cursor.chat.scrollPageUp shows up for keybindings.json), so Linux users are stuck injecting synthetic wheel events from the compositor if they want keyboard paging.

+1 for:

  1. Page Up / Page Down (and ideally Home / End) when the transcript has focus
  2. Documented command IDs so we can bind them ourselves

Can retest on Linux once this lands.