You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mouse wheel should scroll the entire chat view, not just the input history when typing #24760
When the user is typing in the input box and scrolls the mouse wheel, the current behavior scrolls only through the input history/messages list,
instead of scrolling the entire chat view. When typing in the input field, scrolling the mouse wheel should scroll the entire display area (including AI responses and the whole conversation view).
Plugins
No response
OpenCode version
No response
Steps to reproduce
Have a long conversation with multiple messages
Click on the input box to start typing
Scroll the mouse wheel
Observe that only the history scrolls, not the entire chat view
whether this is in opencode terminal ui, opencode web, or desktop
a short screen recording (if possible)
whether the prompt has multiple lines or is tall enough to scroll inside the input
i checked the related code path too. afaict, prompt history navigation is keyboard-driven, while the web conversation timeline has its own wheel handling.
without a reproducible case or env details, i’m not fully sure which scroll container is catching the wheel event here.
+1 also want inputbox scrolls with all the chat. Opencode doesn't have a scrollbar. There is literally no indication if chat is scrolled up. I constantly think that I'm at the end of the chat cause I expect inputbox at its end.
v1.14.33 inside of macos. But based on what I found in the code - there's no specific option to change the scroll behavior
up/down and wheel-up/wheel-down scroll the session transcript (one line)
prompt history moves to alt+up / alt+down
session.child.first / session.parent / composer navigation defaults on up/down are disabled — otherwise down opens the Subagents/Shell/Terminals popup and up jumps to the parent session
input.move.up/down must be cleared, otherwise cursor movement in the text input shadows the scroll bindings (you lose up/down cursor movement inside multiline drafts in exchange)
Activity
kzekiue commentedon Apr 28, 2026
@Janosn could you share a bit more detail?
opencodeterminal ui,opencode web, or desktopi checked the related code path too. afaict, prompt history navigation is keyboard-driven, while the web conversation timeline has its own wheel handling.
without a reproducible case or env details, i’m not fully sure which scroll container is catching the wheel event here.
tim-mukhin commentedon May 4, 2026
+1 also want inputbox scrolls with all the chat. Opencode doesn't have a scrollbar. There is literally no indication if chat is scrolled up. I constantly think that I'm at the end of the chat cause I expect inputbox at its end.

v1.14.33 inside of macos. But based on what I found in the code - there's no specific option to change the scroll behavior
github-actions commentedon Jul 5, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.
forij commentedon Jul 27, 2026
This may be a terminal issue rather than an OpenCode issue.
Try another terminal, such as Ghostty, to check whether the problem still happens.
For iTerm2, this configuration fixed it for me:
Settings → Profiles → [your active profile] → Terminal
Under Mouse:
Turn off Terminal may enable alternate mouse scroll
Turn off Automatically enable alternate mouse scroll
Keep Enable mouse reporting enabled
Keep Report mouse wheel events enabled
NoraioPro commentedon Oct 6, 2026
Workaround: make wheel/up/down scroll the transcript instead of prompt history
Even though this is closed as not planned, you can reclaim the behavior in your
~/.config/opencode/cli.json(v2):{ "keybinds": { "session.line.up": "up,ctrl+alt+y", "session.line.down": "down,ctrl+alt+e", "prompt.history.previous": "alt+up", "prompt.history.next": "alt+down", "input.move.up": "none", "input.move.down": "none", "session.child.first": "none", "session.parent": "none", "composer.subagent.up": "none", "composer.subagent.down": "none", "composer.shell.up": "none", "composer.shell.down": "none" } }What this does:
up/downand wheel-up/wheel-down scroll the session transcript (one line)alt+up/alt+downsession.child.first/session.parent/ composer navigation defaults on up/down are disabled — otherwisedownopens the Subagents/Shell/Terminals popup andupjumps to the parent sessioninput.move.up/downmust be cleared, otherwise cursor movement in the text input shadows the scroll bindings (you lose up/down cursor movement inside multiline drafts in exchange)Related: #35295, #39029, #19382, #19283