opencode icon indicating copy to clipboard operation
opencode copied to clipboard

[FEATURE]: Better active/background terminal and bash management

Open R44VC0RP opened this issue 3 weeks ago • 1 comments

Feature hasn't been suggested before.

  • [x] I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

So currently in OpenCode TUI the way that a terminal can spawn is via a simple spawn() with piped stdio rather than a full PTY.

Some current issues:

  • the default timeout is 2 minutes (this is not optimal for long running processes), the tool sends a SIGTERM to a long running process which would kill it.
  • the maximum output for terminals are 30,000 characters, some processes show a lot of loading characters that can fill up context

What I propose:

As I said in this thread, I think the bash/terminal management should be a suite of tools.

When a terminal process is initiated we can keep the timeout and character limit the same, but when the timeout is reached rather than sending a SIGTERM it will just move that terminal to a background terminal (accessable via some TUI keybind).

Then once a terminal has moved to the background the agent should have some tools like grep and executeCommandInTerminal so that it will not fill up a ton of context that isn't needed.

This would allow the agent to start/manage/modify/delete sessions a whole lot better than what it does currently. I think a POC might be achievable via a plugin but I want to see what others think of this and other points of view.

R44VC0RP avatar Dec 29 '25 17:12 R44VC0RP

This issue might be a duplicate of existing issues. Please check:

  • #3950: Configurable command timeout in config.json - directly addresses the timeout limitation mentioned
  • #1970: Background Bash Execution feature request - proposes background terminal management similar to your proposal
  • #5887: True Async/Background Sub-Agent Delegation - discusses async background execution for long-running processes
  • #2985: Bash tool does not show timeout to model - relates to timeout handling and long-running processes

Feel free to ignore if none of these address your specific case.

github-actions[bot] avatar Dec 29 '25 17:12 github-actions[bot]