
Command your terminal and agents from anywhere.
goatr is a native Herdr client and real SSH terminal, so you can do some serious work seamlessly from your iPhone anytime.
$ goatr devbox
connected · 4 panes · herdr 0.9.1
acme-api claude working 42 tests passing
web codex blocked waiting on review
infra shell idle
$ herdr attach acme-api
refactored src/auth.ts — 3 files changed
— phone backgrounded · 47 minutes —
$ goatr
reattached · session still live
42 tests passing · no tmux, no mosh-serverEvery terminal session on your computer is now on your iPhone
Transition back and forth between desktop and mobile seamlessly
Sessions run on the computer and mirrored live onto goatr, so all views stay perfectly synced even mid-task. No need to time the handoff.
$ goatr devbox
$ ./deploy.sh --watch
streaming · build 42%
— you leave the desk —
$ goatr
attached · same session, still runningDon't let your AI agents sit idle
Agents keep running on your computer while you are away. When one stops for a decision, answer it from your phone instead of walking back.
$ goatr devbox
$ claude "refactor src/auth.ts"
— you leave the desk · 47 minutes —
$ goatr
acme-api · still running
14 files changed · 3 tests failingNothing to prepare on the server
No root, no sudo, no package manager, and no pre-installed tmux or mosh. On first connect goatr places one self-contained binary in your home directory — that is the entire footprint.
$ goatr devbox
first connect
→ one binary in $HOME · no root
→ no tmux · no mosh · no packages
readyA real terminal, drawn on the GPU
Ghostty's Metal renderer, the same engine behind the desktop terminal. Smooth scrolling, correct Unicode, and the colours your shell actually asks for.
$ goatr devbox
$ echo 'café · 日本語 · ✓ · ∞'
café · 日本語 · ✓ · ∞
— truecolour · 20+ themes —It knows an agent when it sees one
goatr recognises Claude Code, Codex, Pi and Droid by what they draw, and restores those full-screen apps properly instead of dropping you into a half-rendered TUI.
$ goatr devbox
$ claude
— you leave the desk · 47 minutes —
$ goatr
acme-api · claude code detected
repainting · full screen restoredReach what the machine is serving
Forward a port and open it in the built-in browser, so localhost:3000 on the machine is localhost:3000 on the phone.
$ goatr devbox
$ npm run dev
➜ http://localhost:3000
— tap to open in the app —