anomalyco / anomalyco/opencode
TUI input can be consumed by tool subprocesses
Open
@kommander is already working on this.
Since Aug 10, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
The TUI and tool runtime share file descriptor 0. A custom tool or plugin that starts a subprocess with inherited stdin can consume keystrokes intended for the TUI, leaving the interface unresponsive or corrupted. Shell tool commands already ignore stdin, but other tool execution paths can still inherit it.
Plugins
Reproduces with a local custom tool that spawns a command with inherited stdin.
Steps to reproduce
- Add a custom tool that starts a subprocess which reads inherited stdin.
- Invoke the tool from the TUI.
- Type while the subprocess is waiting for input.
- The subprocess receives the keystrokes instead of the TUI.
Operating System
macOS and Linux; the same descriptor sharing applies on Windows.
Terminal
Any interactive terminal.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.