Let AI agents complete setup wizards, OAuth flows, and interactive installers autonomously.
How it works
start launches a detached daemon that runs your command inside a real pseudo-terminal. The child process sees isTTY=true — ANSI colors, select menus, and raw terminal mode all work.
The daemon listens on a socket at ~/.noninteractive/sessions/<name>.sock. No ports, no HTTP — just fast, local IPC with JSON messages.
The agent reads terminal output, decides what to type, and sends keystrokes. It completes the entire interactive flow autonomously — no human needed.
Built for agents
Go-based PTY bridge allocates a real pseudo-terminal. Programs that check isTTY, render @clack/prompts menus, or use raw mode all work correctly.
No native deps, no Python, no Docker. Just npx noninteractive and it works. Ships cross-compiled binaries for macOS and Linux.
WorkOS, Vercel, Supabase, Stripe — any CLI that uses interactive prompts. If it runs in a terminal, noninteractive can drive it.
Sessions persist as background daemons. Start a flow, read it later, send input when ready. The process keeps running even if the agent disconnects.
| start <name> | Start a session — runs npx <name> in a background PTY |
| read <name> | Read the current terminal output |
| send <name> <text> | Send keystrokes to the session |
| stop <name> | Stop a running session |
| list | Show all active sessions |
Every devtool has a getting-started flow. Most of them are interactive. If an AI agent can't navigate your setup wizard, it can't use your product.
As agents become first-class users of developer tools, the gap between "has a CLI" and "works with agents" is just a PTY bridge away. noninteractive closes that gap.