-
Notifications
You must be signed in to change notification settings - Fork 255
Description
Description
Add a new stream configuration option that enables real-time log streaming for commands and scripts without requiring a TTY. This would provide an alternative to interactive: true that works in non-TTY environments.
What problem it is solving?
Currently, using interactive: true in non-TTY environments (like VS Code's commit interface, GitHub Desktop, or CI/CD pipelines) fails with the error:
Couldn't enable TTY input: open /dev/tty: device not configured
This happens because interactive: true attempts to open /dev/tty for user input, which doesn't exist in these environments.
Users who want real-time streaming output (like test results or linter output) but don't need user input are forced to either:
- Use
interactive: trueand deal with TTY errors in non-TTY environments - Accept buffered output (default behavior using pseudo-TTY)
Proposed solution
Add a stream: true option that:
- Streams output in real-time without requiring TTY access
- Does not attempt to open
/dev/ttyfor input - Works in all environments (TTY and non-TTY)
- Provides the same real-time output visibility as
interactivebut without the input requirement
Use case example
pre-commit:
commands:
tests:
run: npm test
stream: true
lint:
run: npm run lint
stream: trueThis would allow developers to see test and lint output in real-time when committing from VS Code, without encountering TTY errors.