Most terminal tools give you a timeout and a truncated log. Here the command keeps running, you get a handle to it, and you can read its output in byte ranges, cancel it, or type into its stdin when it asks a question. That last one matters more than it sounds — an installer that prompts halfway through is otherwise a dead end.
A Rust terminal server with real PTY support. Commands run synchronously with output streamed as it arrives, and any command still going after the async threshold moves to the background with a job id rather than failing.
- enhanced_terminal — run a command with a configurable working directory, shell, timeout and output preview limit
- enhanced_terminal_job_status to check a background job's progress, output, exit code and duration
- enhanced_terminal_job_list for recent jobs, filterable by status, tag or working directory
- enhanced_terminal_job_cancel to send SIGTERM to a running job on Unix
- enhanced_terminal_job_stdin to write exact text into a running job's PTY — the answer to a prompt that appeared after it went to the background
- detect_binaries, which scans PATH for developer tools across many categories in parallel and can be filtered to one category
- Output pagination by byte range, so a very long log can be read in pieces
- A denylist that refuses destructive commands, extendable with your own entries
- Every shell execution appended to a call log on disk
Rust 1.85 or newer to build it — there is no prebuilt package, so expect a cargo build. Shell information is detected at startup and included in the server instructions, so no discovery call is needed. Sudo is handled by authenticating once through an askpass dialog and then reusing the cached timestamp, refreshed in the background, which is what stops every later sudo command from stalling on a password prompt.
