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
TUI - single-line paste moves cursor to the end of input #7210
When pasting into the TUI, the cursor is always moved to the end of the input box. This applies to both the initial input box that leads to creation of a new session, and its equivalent during conversation.
I guess the issue is somewhere in OpenTUI, but I don't have any other OpenTUI app to confirm.
Store a word in OS clipboard, for example "terminal". Anything will work as long as it's not multiline (which would trigger the "pasted N lines" block feature instead of pasting text directly).
Manually enter multiple lines into the input so that it looks like this:
<cursor>line1
line2
line3
Paste (both Shift+Insert and Ctrl+Shift+V do the same thing on my env)
Root Cause:
The issue was introduced in PR #6070 (commit 2806f24). That PR added input.gotoBufferEnd() to the onPaste handler to ensure the textarea resized correctly, but it inadvertently forces the cursor to the end of the buffer even for single-line pastes.
My fix removes the unnecessary gotoBufferEnd() call while keeping the layout update logic (markDirty / requestRender), which solves the cursor jumping issue without breaking the resize behavior.
I also noticed @kostrse mentioned this happens on Ghostty as well — this fix should resolve it for all terminals.
Reacted by Sergey Kostrukov, doodhout, Nindaleth and Jeremy Gollehon
Activity
github-actions commentedon Jan 7, 2026
This issue might be a duplicate of existing issues. Please check:
Feel free to ignore if none of these address your specific case.
kostrse commentedon Jan 8, 2026
I consistently reproduce this on MacOS Ghostty
Octane0411 commentedon Jan 8, 2026
I've opened PR #7277 to fix this.
Root Cause:
The issue was introduced in PR #6070 (commit 2806f24). That PR added
input.gotoBufferEnd()to theonPastehandler to ensure the textarea resized correctly, but it inadvertently forces the cursor to the end of the buffer even for single-line pastes.My fix removes the unnecessary
gotoBufferEnd()call while keeping the layout update logic (markDirty/requestRender), which solves the cursor jumping issue without breaking the resize behavior.I also noticed @kostrse mentioned this happens on Ghostty as well — this fix should resolve it for all terminals.