anomalyco / anomalyco/opencode

TUI input can be consumed by tool subprocesses

Open
#41,612 0 comments 0 reactions 1 assignee View on GitHub

@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
  1. Add a custom tool that starts a subprocess which reads inherited stdin.
  2. Invoke the tool from the TUI.
  3. Type while the subprocess is waiting for input.
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.