Leave the desk.
Keep the agents running.
Droidtty gives you a native Android view into your coding agents, so you can see what they are doing, respond when they need your judgment, and leave the terminal alone until the terminal is actually necessary.
A terminal tells you everything that happened. Droidtty tells you what matters now.
Coding agents can spend minutes reading files, running commands, editing code, rebuilding projects, and checking their own work. Most of that activity does not require you. Droidtty turns those streams of terminal activity into a simple question: does anything need your attention?
See the work, not the noise.
The Herd gives you one place to understand every active agent across your machines and workspaces. You can see what each agent is doing, how long it has been running, what changed, whether the tests passed, and whether something needs you without opening a single terminal session.
- AgentWhich harness and which workspace, with its state on the badge.
- TaskThe model it runs and the task Herdr knows it by.
- ActivityWhat it is doing right now, in words.
- Running forHow long it has been at it.
- BranchWhere the work is happening.
- ChangesFiles touched and lines added or removed.
- TestsRunning, passed or failed, from the agent's own runs.
- TerminalsOpen terminals in the workspace, one tap away.
When nothing needs you, Droidtty should disappear.
Mobile is not where you should spend twenty minutes watching an agent think. It is where you should spend twenty seconds answering the question that lets the agent continue.
- Steps the agent took
- 0
- Times Droidtty interrupted you
- 0
Reading files, editing code and running tests is activity. A deploy that needs your permission is attention, and only that reaches your lock screen.
Your judgment should not require a shell.
When an agent asks a question or requests permission, Droidtty presents the decision directly. You can understand the context, make the choice, and let the agent continue without recreating your desktop workflow on a six-inch screen.
Apply the pending payment_intents migration to the development database.
Understand how the work unfolded.
Droidtty turns an agent session into a readable timeline of decisions, commands, changes, tests, and results. The raw terminal is still there, but the normal way to understand a session is no longer to reconstruct meaning from thousands of lines of output.
This is the session that added OSC 7501 support to Droidtty's own bridge, including the integration test that failed once before it passed.
Review the result where you are.
When the important output is code, the interface should show code. Droidtty gives changed files and diffs their own native surface so you can understand what the agent produced before deciding what happens next.
- ui/model/Status.kt +14
- ui/home/HomeScreen.kt +16 −9
- ui/programs/ProgramUi.kt +10 −6
- UI/Home/HomeScreen.swift +11 −6
- UI/Programs/ProgramViews.swift +4 −4
- UI/Theme.swift +13
And when you need the terminal, it is a real terminal.
Droidtty does not hide the underlying system from you. Every workspace can show the agent's own Herdr pane or open a real shell in the project folder, drawn by Ghostty's terminal engine for correct VT behavior, with a touch layer built for the phone: sticky Ctrl and Alt, Esc and Tab, and a floating arrow pad you can drag wherever your thumb is.
Powered by Ghostty
Built around Herdr, rather than bolted onto it.
Droidtty does not guess what an agent is doing by scraping text from the terminal. Herdr already knows your workspaces, their panes and each agent's state, and the bridge reads that alongside each agent's structured session log and the workspace's git history. Together they become workspaces, agents, tasks, questions, approvals, diffs and events that Droidtty can represent directly instead of reverse-engineering from ANSI output.
Even ordinary terminal programs can tell Droidtty when they matter.
Droidtty supports the Program Status Protocol, OSC 7501, so command-line tools can report whether they are working, blocked, finished, or failed without Droidtty trying to interpret their screen output. A build can show its progress, a deploy can ask for permission, and a long upgrade can tell you it finished, all from a shell you opened in Droidtty.
printf '\e]7501;state=working:app=cargo:progress=82:msg=%s\e\\' "$(printf 'Compiling droidtty-core' | base64)"printf '\e]7501;state=blocked:kind=permission:app=terraform:msg=%s\e\\' "$(printf 'Apply 3 to add, 1 to change?' | base64)"printf '\e]7501;state=blocked:kind=permission:id=deploy/eu-west\e\\'printf '\e]7501;state=done:app=brew:msg=%s\e\\' "$(printf 'Upgraded 12 packages' | base64)" - Herdr
- rich agent semantics
- OSC 7501
- generic program status
- Ghostty
- terminal semantics
States are idle, working, blocked (permission, question or auth), done and error. Working and blocked end at the next shell prompt; done and error stay until you have seen them. A program's status never overrides what Herdr says about an agent.
Your phone is the control surface, not the workstation.
Droidtty is designed for the moments between focused work: walking to lunch while an agent runs tests, leaving the laptop behind while a build finishes, or answering one question that would otherwise leave a task blocked until you return.
Let the agents work.
Droidtty will tell you when they need you.
Get Droidtty for Android
Droidtty is in early access. The bridge that connects it to Herdr is published today; it runs next to Herdr on the machine where your agents work, and the app pairs with it by scanning a code.
- 1 Install the bridge where Herdr runs.
Prebuilt for macOS on Apple Silicon; more platforms are on the way.npm install -g @droidtty/cli - 2 Start it and print a pairing code.
No agents running yet?droidtty-cli serve droidtty-cli pairdroidtty-cli serve --demostarts a simulated herd you can explore. - 3 Scan it with Droidtty.The Android app is shared with early testers while it is in preview, and an iPhone version is in TestFlight beta. Pairing pins the bridge's certificate, so your phone only ever talks to your machine.