From a56aa010cc14baea892c44642e8cccbc583d07d7 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 28 Oct 2026 10:16:39 -0700 Subject: [PATCH] fix(tools): already-exited stdin advice no longer claims every process read stdin A pipe-mode process that never touched stdin did not "get end-of-file"; the message now says "if it read stdin, it got end-of-file at once". --- tools/process_registry_stdin.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/process_registry_stdin.py b/tools/process_registry_stdin.py index 802a29649d..18e9393791 100644 --- a/tools/process_registry_stdin.py +++ b/tools/process_registry_stdin.py @@ -24,14 +24,15 @@ def _no_pty_reason(session) -> str: def already_exited_error(session) -> str: - """A pipe-mode process that read stdin got EOF at once and exited: say so, or the agent retries blind.""" + """An exited pipe-mode process had no stdin; if it read stdin it got EOF at once. Say so, or the agent + retries blind.""" if session.process is None or session.process.stdin is not None: return "Process has already finished" if reason := _no_pty_reason(session): - return (f"Process has already finished. It ran without stdin ({reason}), so anything it read got " - f"end-of-file at once. {_NON_INTERACTIVE}") + return (f"Process has already finished. It ran without stdin ({reason}), so if it read stdin, it " + f"got end-of-file at once. {_NON_INTERACTIVE}") return ("Process has already finished. It was started without stdin (terminal background=true without " - "pty=true), so anything it read got end-of-file at once. Relaunch it with " + "pty=true), so if it read stdin, it got end-of-file at once. Relaunch it with " "terminal(background=true, pty=true) to send input.")