The Interactive CLI
for AI Agents
Now Agents can Interact and Manage Long-Running, Stateful, TUI sessions in parallel
One CLI. Two runtimes.
Same commands, same YAML output, same agent skills — choose the runtime that fits your stack.
Or use without installing:
- ✓Uses node-pty for native PTY management
- ✓Works with npm, npx, yarn, pnpm
- ✓Zero-config — just run npx clrun
Both versions produce identical YAML output, use the same .clrun/ state format, and install the same agent skills.
Built for the age of
autonomous coding
Every feature designed to give AI agents reliable, observable, deterministic control over interactive command execution.
Dynamic remote CLIs with SCP
CLRUN supports dynamic remote CLIs via SCP. Connect to any SCP server and drive its workflow as an interactive terminal. SCP servers expose state and CLI metadata (hints, next steps, options); CLRUN connects and loads the flow into a virtual terminal. Use the same clrun <id>, clrun key <id>, and clrun tail semantics.
$ clrun scp http://localhost:8000 $ clrun <id> "1" # option index or action name $ clrun tail <id> --lines 50
Learn more about SCP and the standardized CLI endpoint in the SCP repo docs.
Designed for
high-context agents
Most CLI tools return a string and an exit code. clrun returns structured context — what happened, what went wrong, and exactly what to do next. Every response is designed to keep the agent in full control.
See it in action
Real responses from clrun. Every error teaches. Every success guides.
--- error: "Session not found: a1b2c3d4-..." hints: list_sessions: clrun status start_new: clrun <command> active_sessions: f5e6d7c8-... note: Found 1 active session(s). Use one of the IDs above.
When an agent uses a stale session ID, clrun doesn't just fail — it tells the agent exactly what's alive and how to recover.
---
terminal_id: f5e6d7c8-...
input: ""
warnings:
- >-
Input is empty. If you intended to send a shell
variable like $MY_VAR, use single quotes:
clrun <id> 'echo $MY_VAR'
hints:
send_more: clrun <id> '<next command>'Detects when a shell variable was likely expanded to empty by the calling agent's shell, and tells it how to fix the quoting.
---
terminal_id: f5e6d7c8-...
command: npm init
output: "package name: (my-project)"
status: running
hints:
send_input: clrun <id> '<response>'
override: clrun input <id> '<text>' --override
kill: clrun kill <id>
note: >-
Use single quotes for shell variables:
clrun <id> 'echo $VAR'Every response includes hints — the exact commands the agent should consider next, formatted as copy-pasteable strings.
The difference between a tool that works with AI agents and a tool designed for AI agents is context. clrun never leaves an agent guessing.
Four commands.
Complete control.
A minimal, powerful API surface designed for machine consumption. Every response is structured YAML.
Spawn an interactive PTY session. Get back a terminal ID.
Queue deterministic input with priority control.
Read terminal output. Monitor execution in real time.
Check session states, exit codes, and queue depth.
Built-in agent skills
On first run — whether via npm or pip — clrun automatically installs structured skill files into your project. Point your AI agent at .clrun/skills/ and it knows everything.
$ clrun run "any command"
→ Skills auto-installed to .clrun/skills/ on first run
Where this is going
clrun is the foundation. What comes next transforms individual agent execution into team-wide infrastructure.
Team Dashboard
Real-time visibility into team-wide agent execution.
Shared Execution Fabric
Collaborative execution substrate across machines.
Enterprise Audit Layer
Compliance-grade audit trails for regulated environments.
Cloud-Backed Execution
Persistent execution that survives machine restarts.
Team Observability
Unified view of all agent actions across your organization.