From 326c70184da31bfb19fec936ec07a27bea461bbe Mon Sep 17 00:00:00 2001 From: Dax Date: Fri, 6 Mar 2026 02:08:10 -0500 Subject: [PATCH] fix: restore Bun stdin reads for prompt input (#16300) --- packages/opencode/src/cli/cmd/run.ts | 3 +-- packages/opencode/src/cli/cmd/tui/thread.ts | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index d74eb2aa4..61bc609bb 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -6,7 +6,6 @@ import { cmd } from "./cmd" import { Flag } from "../../flag/flag" import { bootstrap } from "../bootstrap" import { EOL } from "os" -import { text as streamText } from "node:stream/consumers" import { Filesystem } from "../../util/filesystem" import { createOpencodeClient, type Message, type OpencodeClient, type ToolPart } from "@opencode-ai/sdk/v2" import { Server } from "../../server/server" @@ -338,7 +337,7 @@ export const RunCommand = cmd({ } } - if (!process.stdin.isTTY) message += "\n" + (await streamText(process.stdin)) + if (!process.stdin.isTTY) message += "\n" + (await Bun.stdin.text()) if (message.trim().length === 0 && !args.command) { UI.error("You must provide a message or a command") diff --git a/packages/opencode/src/cli/cmd/tui/thread.ts b/packages/opencode/src/cli/cmd/tui/thread.ts index 57acfd199..f53cc3925 100644 --- a/packages/opencode/src/cli/cmd/tui/thread.ts +++ b/packages/opencode/src/cli/cmd/tui/thread.ts @@ -3,7 +3,6 @@ import { tui } from "./app" import { Rpc } from "@/util/rpc" import { type rpc } from "./worker" import path from "path" -import { text as streamText } from "node:stream/consumers" import { fileURLToPath } from "url" import { UI } from "@/cli/ui" import { Log } from "@/util/log" @@ -54,7 +53,7 @@ async function target() { } async function input(value?: string) { - const piped = process.stdin.isTTY ? undefined : await streamText(process.stdin) + const piped = process.stdin.isTTY ? undefined : await Bun.stdin.text() if (!value) return piped if (!piped) return value return piped + "\n" + value