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
[FEATURE]: better navigation of output, alternative vim mode and non-blocking agent persmission requests #4092
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
So this became three things, because they all tie in together for a more thought-out interaction within the app.
Three issues:
hard to navigate output
vim-modes
agent accepting permission blocks input
Right now it's not that easy to keyboard navigate the output. A jump to bottom and top would be great. And I of course would like to be able to do it with gg and G.
This ties into somewhat with #1764, because I'm not entire sure that the prompt area is the best place for a command mode. You actually already have a very irritating "command mode" where you can't continue typing your prompt if the agent is asking for permission. So you could have a normal mode where you can navigate output and issue single letter commands like open model, allow request etc, and an insert mode where you can do this with ctrl+something. I would very much like if accepting a request could be done without interrupting typing.
These issues can be solved separately, but it would be nice to have a clean, thoughtful interaction model.
Suggestion
Treat the input prompt field as the ex-mode of vim, where navigation is with more emacsy ctrl+something. Allow to bind everything in this :ex mode to ctrl+something type binding, even stuff like "accept" for permission requests (which should be non-blocking, since I assume they must block input now, because one of the input characters is "a"). The "normal" mode should be where you bind single letters to commands and navigate the chat history. Also things like y to copy entire block, and a visual mode for selecting what to copy exactly with the keyboard. And "insert" mode is really the editor mode, where you pull up vim. If you really want to go fancy, you could have a "full screen" version, and one where the editor is embedded into to prompt area only.
feat: Copy Mode for OpenCode #2755: Copy Mode for OpenCode - comprehensive feature request for vim/tmux-like navigation and selection (covers navigation and copy functionality)
For now I just scroll up/down using the configured keybinds and then use the tmux copy keybinds to copy.
Would love this feature.
Reacted by Brihaspati Bharani, Rom888, dev-abhirup-sc, Sepehr Soltanieh, Daniel (deej) Rollins, Douglas Mendes Barreto, Muzig, Julien Berman, Peng Wang, Colton J. McCurdy and 15 more
Using opencode more and more, I stumble upon this issue as well. It happens extremely often that I just press k to scroll up in the output, but instead I'm typing in the input. Toggling between input and navigation would be the same as insert/normal mode in vim.
Toggle input with i, esc for staying in navigation. While navigating, besides the typical shortcuts like gg/G, j/k, ctrl+d/u, it would be awesome to have shortcuts to jump to the last user message (or do we already have this maybe?).
Reacted by l1onsun, imadtg, Rom888, Anh Duy Tran, Bram O. and Cương
i think the first thing is to allow modify the cursor, right now the cursor is blob shape for input, but for vim that usually implies normal mode, and subconciousnessly, we press jk for scrolling
Activity
github-actions commentedon Nov 8, 2025
This issue might be a duplicate of existing issues. Please check:
Feel free to ignore if none of these address your specific case.
itse4elhaam commentedon Dec 10, 2025
This is indeed one of the pain points.
For now I just scroll up/down using the configured keybinds and then use the
tmuxcopy keybinds to copy.Would love this feature.
julienberman commentedon Jan 7, 2026
Ditto!
arthur404dev commentedon Jan 14, 2026
Can +1 on this, would be highly valued to have
KyrillGobber commentedon Jan 20, 2026
Using opencode more and more, I stumble upon this issue as well. It happens extremely often that I just press k to scroll up in the output, but instead I'm typing in the input. Toggling between input and navigation would be the same as insert/normal mode in vim.
Toggle input with i, esc for staying in navigation. While navigating, besides the typical shortcuts like gg/G, j/k, ctrl+d/u, it would be awesome to have shortcuts to jump to the last user message (or do we already have this maybe?).
shelper commentedon Jan 22, 2026
i think the first thing is to allow modify the cursor, right now the cursor is blob shape for input, but for vim that usually implies normal mode, and subconciousnessly, we press jk for scrolling
github-actions commentedon Mar 26, 2026
To stay organized issues are automatically closed after 90 days of no activity. If the issue is still relevant please open a new one.