Skip to content

feat: add stdin to run_skill_script - #59

Merged
jordanauge merged 1 commit into
outshift-open:mainfrom
micpapal:feat/add-stdin
Sep 11, 2026
Merged

jordanauge merged 1 commit into
outshift-open:mainfrom
micpapal:feat/add-stdin

Conversation

@micpapal

@micpapal micpapal commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Problem

run_skill_script has no way to feed stdin to the scripts it runs. sandbox.run_script()'s subprocess.run(...) call never passes a stdin=/input= argument, so a launched script inherits this process's own stdin — which never produces data or an EOF here. Any script that reads stdin (e.g. a --file - / "or on stdin" convention) blocks until timeout.

Found via a real failure: an agent calling concord.py record reply --file - to record an agent's reply. Every call timed out (exit_code: 124).

Fix

  • sandbox.run_script() gains stdin: str = "", always passed as subprocess.run's input= — immediate EOF when empty, real content when given. Either way, nothing blocks waiting for stdin that will never arrive.
  • run_skill_script's tool schema gains a matching optional "stdin" parameter, threaded through to the call above.

@micpapal micpapal changed the title feat: add stdin to run_script feat: add stdin to run_skill_script Sep 10, 2026
Signed-off-by: Michele Papalini <micpapal@cisco.com>
@micpapal
micpapal marked this pull request as ready for review September 11, 2026 08:35

@jordanauge jordanauge left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@jordanauge
jordanauge merged commit 2fa451c into outshift-open:main Sep 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants