Repository navigation
Closed
Labels
discussionUsed for feature requests, proposals, ideas, etc. Open discussionUsed for feature requests, proposals, ideas, etc. Open discussion
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
This ticket is about exploring the idea of a simpler variant of the interactive TUI mode, that looks and feels closer to using a typical REPL (bash, python, ...):
- One-dimensional output, relies on the terminal for managing scrollback buffer.
- Readline-shortcuts, including typical Ctrl-R for backward history search.
- Prompt-like interaction, alternating between asking for user input and showing output.
Sample Usage / Output
opencode repl
opencode> create a react component
...opencode output...
opencode> add styling with tailwind
...opencode output...
opencode> /exit
The prompt part opencode> might be used to instead show mode (build> ), show additionally model name (build@gpt-5> or gpt-5@build> ), or even context information gpt-5@build[21k/16%]> .
Why?
- Small terminals
- Screenreaders
- terminal-wrappers screen/tmux, remote ssh, mosh's instant local echo feature
- IDE-integrated terminals
- VSCode's local echo terminal feature (e.g. when used in GitHub CodeSpaces)
Mockup with existing functionality opencode run and --continue
- There are two commands that can already do most of the heavy-lifting:
- opencode run "first user prompt"
- opencode run --continue "follow-up user prompts"
This is a small wrapper script opencode-repl.sh that demonstrates what I have in mind:
#!/bin/bash
echo -ne "\033[32mopencode\033[0m> "
read userInput
opencode run "$userInput"
while true; do
echo -ne "\033[32mopencode\033[0m> "
read userInput
if [ "$userInput" = "exit" ]; then
break
fi
opencode run --continue "$userInput"
doneIntegration in opencode itself would allow for a much tighter integration though (streaming, mode and model switching, ctrl-c handling, tab-tab preview/completion for slash commands ...).
Reacted by Arsham Shirvani, aaronweisberg, Net, Joshua Morris, Fran González, Mohamed Ouederni, Jose Vargas, Kwami Agbodji, 최준영, Anshuman Medhi and 9 more
Metadata
Metadata
Assignees
Labels
discussionUsed for feature requests, proposals, ideas, etc. Open discussionUsed for feature requests, proposals, ideas, etc. Open discussion
Activity
github-actions commentedon Nov 15, 2025
This issue might be a duplicate of existing issues. Please check:
While these issues address related aspects like interactive prompts, readline navigation, and alternative interaction modes, your REPL mode request is more comprehensive and focused on a simpler, one-dimensional terminal-based interface.
Feel free to ignore if none of these address your specific case.
[-][FEATURE]: OpenCode REPL mode, a simpler variant of the TUI mode[/-][+][FEATURE]: OpenCode REPL mode, a simpler alternative to the TUI[/+]rekram1-node commentedon Nov 16, 2025
Yeah we've talked about this one before internally
Sleepful commentedon Jan 14, 2026
+1, the current TUI implementation makes it impossible for my friend to use OpenCode because the TUI is really poor UX with assistive technologies.
dennischenfeng commentedon Feb 20, 2026
+1, I use a screenreader (NVDA) since I'm a visually impaired engineer, and I agree that the TUI is difficult to navigate.
IndianBoy42 commentedon Feb 20, 2026
So the question is can this be created as a plugin/out of tree? There are many alternate webui and desktop GUI, so alternate tui should be doable right?
Fryuni commentedon Feb 20, 2026
I don't know if a plugin can register a new command. But as a wrapper that runs
opencode serveand provides a repl connected to the server should be simple to do.github-actions commentedon Apr 22, 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.