Skip to Content
hty

hty

Puppeteer for the terminal. Let AI agents drive any interactive CLI — editors, REPLs, auth flows, scaffolding wizards — by reading the screen and sending keys.


Install

Point your AI agent at the skill:

Install hty using this skill: https://hty.sh/skill.md 

It teaches the agent when to reach for hty, how to drive sessions, and handles installing the hty CLI itself.

Or install the skill directly via the skills CLI :

npx skills add LatentEvals/hty --skill hty

Installing hty yourself? See all methods →


Why hty exists

Unlock a world of TUI and CLI software for your AI agent.

If you’ve used agents, you’ve seen them struggle with things like create-next-app, or watched them try to stage a sprawling diff by shuffling files into /tmp, rm-ing changes, and getting hopelessly confused. If only they could use git add -p. Well, now they can.

hty wraps any interactive program in a persistent PTY session. Your agent reads the rendered terminal the way you do and types the way you would.

# agent decides to use hty to create its terminal hty run --name create-next-app -- create-next-app my-app # agent looks at the terminal to see what to do hty snapshot create-next-app # agent sees: "Would you like to use TypeScript? (Y/n)" hty send create-next-app --text "y\n" # ...repeat for each remaining prompt... # delete the terminal session hty delete create-next-app

What you get

  • Any interactive program works. vim, psql, btop, git add -p, gh auth login, create-next-app — if a human can use it, an agent can too.
  • Sessions persist. The server auto-starts and keeps sessions alive across invocations. Pick up where you left off.
  • Watch live. Open another terminal and run hty watch to see exactly what the agent sees, in real time.
  • Full replay. Every session is recorded. hty replay plays it back through a fresh VT engine — debug what happened, or demo it to your team.
  • Wait primitives that actually work. --text for substring match, --idle for output settling, --exit for process completion. All with timeouts. No sleep 2 and hope.
  • Remote observation. SSH tunnel to a remote machine and watch or attach to sessions running there. No protocol changes needed.
  • Single binary, zero dependencies. One curl | sh and you’re running. Built on Ghostty’s production-grade VT engine in Zig.

Get started in 30 seconds

curl -fsSL https://raw.githubusercontent.com/LatentEvals/hty/main/scripts/install.sh | sh hty run --name demo -- top hty wait demo --text "PID" --timeout 5000 hty snapshot demo hty kill demo hty logs demo # still works — the recording is preserved hty delete demo # permanently remove the session and its log

Install hty →

Quick Start →

GitHub → 

Last updated on