Back to browse
GitHub Repository

A CLI wrapper that makes it trivial for agents to run interactive CLIs and TUIs.

2 starsRust

Contd makes interactive CLIs usable for agents in an async way

by wefchen·Mar 7, 2026·1 point·0 comments

AI Analysis

●●●BangerBig BrainSolve My ProblemShip It

Unblocks agents from hanging on interactive CLIs; solves a real agent-runtime pain point.

Strengths
  • Addresses a genuine gap in agent tool-calling: most runtimes fail on stdin-interactive programs like debuggers or installers.
  • Deterministic return points (ready for input, timeout, exited) with session persistence across multiple invocations.
  • Works across agent frameworks via MCP skills; demo shows real gdb debugging loop with Cursor agent.
Weaknesses
  • macOS detection is heuristic-based, less precise than Linux's syscall inspection; platform-parity gap.
  • Early-stage project (0.x release); API surface and CLI interface may shift before 1.0.
Target Audience

AI agents and autonomous workflows that need to interact with debuggers, package installers, and REPL-style CLIs

Similar To

tmux · screen · expect

Post Description

I built contd, a small CLI wrapper that helps agents run interactive CLI/TUI programs without getting stuck in a blocking loop.

Some agent runtimes are still optimized for: run command -> wait -> parse output -> continue. That works for non-interactive tools, but breaks when a command needs stdin interaction (debuggers, installers, prompts, etc.).

contd starts the command in a managed background session and returns control when: - a timeout is reached, or - the process is waiting for stdin

I think it's useful for interactive TUIs or interactive install prompts.

In my repo, a demo video shows how an agent in Cursor which would get stuck when running interactive CLI can run gdb dynamically with the help of contd. (I know gdb can be executed in a non-interactive way by -q, but that's just showing the capability.)

Similar Projects