How Drover fits around your agents.

Product guide

Drover is a native iPhone surface for work that remains inside official Herdr on your own machine. Drover for iPhone is in beta — join to get a TestFlight invite; Drover for Mac and droverd for Linux are available now. This guide describes the system boundaries.

The system model

Drover for iPhone
The native iOS 18+ interface for viewing state and sending supported input. Desk and iPad clients are deferred.
Drover Host
droverd, the small companion daemon beside Herdr on macOS or Linux. Desk and iPad clients are deferred.
Herdr
User-installed official Herdr, compatible with Drover’s capability floor. Drover does not bundle Herdr, create a direct PTY, or provide another runtime fallback.
Cloud control plane
Minimal signaling, short-lived relay credentials, generic push hints, and entitlement checks. Terminal payloads remain end-to-end encrypted.

Objects you navigate

Herdr owns the runtime hierarchy; Drover presents the same objects through a paired, authenticated surface:

Host→Session→Workspace → Tab → Pane

A pane opens only with a current exact live route. Unavailable, ended, and stale panes remain visible and read-only with an explanation. The verified hostname is always visible where host identity matters; a nickname never replaces it.

Terminal rendering

Herdr remains authoritative for the PTY, process, terminal history, and controller. The iPhone uses the native Ghostty Surface for VT state, input encoding, selection, accessibility, and rendering; Drover does not interpret terminal text.

Connection order

  1. LAN direct: local discovery and an encrypted direct session.
  2. WAN direct: peer-to-peer WebRTC when the network permits it.
  3. Managed TURN fallback: an encrypted blind relay when a direct path cannot be established.

Capability status

Drover capability status
CapabilityStatusBoundary
Herdr topologyShippedHost → Session → Workspace → Tab → Pane.
Prompt / terminal inputShippedExact pane route and current capability only.
Sessions and approvals (Claude Code, Codex, OpenCode)ShippedNeeds you with one-tap cards — Deny · Allow once · Open. Each card previews the plan, command, or file diff the agent is asking to run before you tap. Nothing auto-approves.
ChatShippedThe engine's own record with one explicit Send, Stop, and Interrupt and send. Each device picks Chat or Terminal as its preferred interface for agent panes; media flows both directions.
Switch harnessShippedReopen a Codex conversation in Claude Code, or a Claude Code conversation in Codex.
Off-network connectivityFreeDirect WebRTC when possible, otherwise an end-to-end encrypted Cloudflare relay. Never gated behind Pro — free on your first paired host.
A second host and beyondDrover ProFree covers one paired host. Every additional host needs an active Drover Pro subscription.
Push notifications + Live ActivityDrover ProNotifications for your enabled kinds, plus the Live Activity. Approvals, Questions, and Usage are on by default; Finished runs alerts are optional and off by default. Usage alerts fire once when a login drops to 10% left and once at 0%, per login per reset window.
Lock Screen, Home Screen, and Apple Watch usageDrover ProLock Screen and Home Screen widgets, plus Apple Watch complications, the Smart Stack, and a watch app. Display only — none of them ever sends input to a pane.
Tier-2 engines (Gemini CLI, pi, omp, grok, droid, qwen, kiro, qoder, kimi, agy)ShippedAttention cards and Chat alongside the native terminal; no approvals outside Claude Code, Codex, and OpenCode.
Usage across seven providers (Claude Code, Codex, OpenCode, Cursor, Antigravity, GLM/Z.ai, Grok)FreeLimits and reset times, read on your own host. Cursor, Antigravity, GLM/Z.ai, and Grok are usage-only logins Drover discovers on the host — no Chat, no approvals for those four. Usage itself is never gated; the Lock Screen, Home Screen, and Apple Watch widgets that display it are Drover Pro.
Jump paletteShippedSearch hosts, sessions, workspaces, tabs, and panes by name across every paired host and open the exact pane, from anywhere in the app.
Every other Herdr engineTerminal onlyStart, native terminal, engine mark, and session restore — no alerts, approvals, or Chat for these engines.
Interrupt / stop a running agentShippedChat has an explicit Stop and "Interrupt and send". In Terminal, the key row sends ctrl like your desk keyboard, so ctrl-C reaches the agent as typed input.

Coming next

Not at launch, but on the roadmap — no dates set:

  • Move to host. Hand a live pane from one paired host to another.
  • Answer from a card. Answer an engine's question without stepping into the pane.

Move to host and Answer from a card have no pricing decided yet.

Where to go next

Keep your agents within reach.

Drover for iPhone is in beta — join to get a TestFlight invite. Drover for Mac and Linux are available now.

Join the beta