FAQ
What people ask before they install PRCHD
Where the code lives, what the service stores, what happens when the computer sleeps, and how a team host behaves in Slack. Each answer leads with the short version and links to the mechanism where there is one.
Trust and data
Does my code go to your servers?
No. Repositories, prompts, transcripts, diffs, output, and attachments stay on your computer, and your phone reads them directly over your tailnet. The PRCHD service handles your computer’s identity and short push requests that name the project and workspace; app traffic and source never pass through it. Read the mechanism →
What is the PRCHD service, exactly?
The one public service PRCHD operates. It enrolls your computer’s identity, forwards short notification requests to Apple and Google, and holds sealed trigger deliveries until your computer collects them — ciphertext it cannot read. It stores no project, workspace, chat, event, prompt, source, or notification body. Connecting a computer stores one email address, for its sign-in code and new-computer notice.
Do I really need Tailscale?
Yes, for the phone app. Tailscale gives the phone a private route to your computer with no public port. PRCHD’s listener binds only to the tailnet address or loopback, never 0.0.0.0. Set up the tailnet →
What do push notifications contain?
A short message that says what happened and where — like “Agent turn finished · prchd · fix-login-flow”: fixed event kinds and outcomes, the project and workspace names, opaque routing ids, and a host-key digest. They carry no code, prompts, paths, diffs, output, errors, or agent prose. Push is opt-in and needs your computer connected to the PRCHD service.
Is there an account to create?
No PRCHD account. Phone-to-computer use runs on a paired device token, and a team host’s grant is membership of a Slack channel. Connecting a computer to the PRCHD service, which push and triggers use, takes one email address and a one-time code, with no password or profile.
Can PRCHD see my GitHub or agent credentials?
No. GitHub actions go through the gh CLI already signed in on your computer, and agent sessions through the Claude Code, Codex, or Grok CLI you installed and signed in to. Those credentials stay with those tools; PRCHD holds none of them.
Fit and prerequisites
Which agents does it work with?
Claude Code, Codex, and Grok. Each CLI must be installed and signed in on your computer, and PRCHD shows ready, needs login, or not installed before you start.
Does it work with Cursor or Copilot?
No. PRCHD drives headless agent CLIs rather than editors: Claude Code, Codex, and Grok, whose sessions keep running on your computer after the phone disconnects.
Is this a cloud IDE?
No. The code, agent process, worktree, terminal, and git operations all run on your computer; the phone is a remote control for it. Compare the architectures →
Do Intel Macs, Windows, or Linux hosts work?
Not today. The host runs on Apple Silicon with macOS 13.0 or later; the phone app runs on iPhone, iPad, and Android.
Can I use more than one computer?
Yes. Pair several computers with one phone, and their projects appear in one list with host chips, reachability beacons, and host filters.
Do I need GitHub?
Only for GitHub features. Local workspaces, agents, diffs, commands, terminals, commits, and local merges work without it; issues, pull requests, and automated PR review need a GitHub remote and the gh CLI signed in on your computer.
How it behaves
What happens if my computer goes to sleep?
It stays awake while there is work in flight: PRCHD holds a wake lock while agent work or tracked processes are running. Once nothing is running and the computer sleeps, the phone shows it as unreachable and reconnects when it wakes.
What if I lose connection mid-run?
The work keeps going on your computer. Reconnecting replays events and process output from your last cursor. Starting new work waits until the computer is reachable again; the phone keeps no offline queue.
What happens if the computer restarts mid-turn?
Interrupted turns and teardown reconcile against durable state, so chats settle rather than sitting in a working state, and their transcripts stay readable.
What happens if a merge conflicts?
Your work is kept. A failed Merge & Close preserves the worktree and branch in needs merge, and a close-time conflict finishes at the desk with your normal tools. Update-from-base conflicts can be aborted or staged for an agent.
Can the agent change files without asking?
In Work mode, yes: it edits files and runs commands for the whole turn, with no prompt per tool. Plan mode investigates and proposes, leaving files and other systems as they are. Act mode investigates and calls your connected tools — filing a ticket, posting a comment, opening a page — while your files stay as they were. You choose the mode before the turn runs.
Can I use a terminal for things without a button?
Yes. Add a real PTY terminal to a workspace or start terminal-first. It accepts text, named keys, signals, and resize events; its ANSI output remains replayable after exit.
Will it notify me when the agent needs me?
Yes, once you opt in and your computer is connected to the PRCHD service. Quiet hours and per-project switches apply, and tapping a notification reconnects and reads the current state from your computer.
Can it run work while my phone is off?
Yes — three paths start work with no phone attached. A mention or a slash command in a bound Slack channel. A cron automation. A webhook trigger, which your computer collects by polling outbound. Every fire records a durable outcome and keeps a worktree only when there is work or a failure to inspect. See the four ways work arrives →
Team host
Can we run this without putting our code in someone else’s cloud?
Yes. The repositories, the agents, the transcripts, and the event log live on a computer you own, and that computer does the work; PRCHD hosts no repository and runs no compute of its own. The service carries host identity, push, and sealed webhook envelopes it cannot open — a delivery is sealed to your machine’s public key on arrival, and the service stores only ciphertext. Read the mechanism →
Who can do what?
Everyone in a bound channel can do the same things. Authorization is Slack’s: membership of the channel is the whole grant. An ask-only channel reads the repository and leaves it as it was; only a private channel the operator enabled can start runs, and a public channel can never be runs-enabled. Remove someone from the channel and they are removed from the product. The channel is the grant →
What stops someone prompt-injecting the bot through a webhook?
A verifier you wrote runs first, in its own process, over the exact transmitted bytes, with a two-second budget. It returns one of three verdicts, and only a delivery it admits reaches an agent. Even then, a trigger supplies input to a recipe the operator already wrote, under that recipe’s posture — the prompt, mode, and target come from the recipe.
What if the machine is asleep or Slack drops?
Deliveries wait on the service until the machine collects them. Replies queue in a durable outbox and drain on reconnect. Mentions posted while the host was offline are read back from a per-channel cursor, and one older than 15 minutes gets a “missed” reply instead of a stale run. Every view is a projection of an append-only log, so state survives a dropped socket.
Do we need Tailscale?
No. A Slack-only team host needs neither Tailscale nor the phone app: its connection to Slack is an outbound socket, and its trigger path is an outbound poll. Tailscale is what gives a phone a private route to a host, so it is part of a developer’s own setup. Compare the two checklists →
How many people can use it?
Everyone in every bound channel. Joining the channel is the whole setup for a new person — no PRCHD account to create, nothing per person to administer. A project answers in exactly one Slack workspace, and a channel speaks for exactly one project. Set up a team host →
Triggers and schedules
What is a verifier?
A short JavaScript function the operator writes. It runs before anything else, in a fresh process per delivery, handed the exact transmitted bytes, the project’s environment, and a crypto helper. It returns one of three verdicts — not authentic, authentic but uninteresting, or authentic and worth a run — and on the third it can supply a dedupe key, a shaped body, and up to 24 short variables the recipe’s prompt interpolates as words. It gets two seconds.
Why is there no test button on a trigger?
Because the first real delivery is the test. A new trigger’s URL is live immediately and answers every delivery as ignored until its verifier exists, so you point the sending system at it, read what actually arrived, and write the verifier against real bytes instead of a guess.
What happens to a duplicate delivery?
It is dropped before a run starts. Admission is ordered by cost — verify, dedupe, size, depth, admit — so a repeat carrying a dedupe key the verifier already returned stops at the dedupe step. Every rejection is recorded with a reason in plain words, and a wrong secret and a crashed verifier are deliberately distinguishable, because they want different fixes.
What does a missed cron window do?
It is skipped rather than silently backfilled, unless that automation is set to catch up once on start. A slow run never stacks either: if last night’s suite overruns its next occurrence, the next fire joins the one already in flight rather than starting a second. Run now uses the same path and leaves the schedule as it was.
Practical
Where do I report a bug?
Email hello@prchd.app. Include the app version, the step you were on, what appeared, and the result you expected.
Where are the release notes?
On GitHub Releases, the release history for the host app. Open release notes →
What happens to my worktrees if I uninstall?
They stay where they are: real git worktrees on your computer. Before removing PRCHD, merge, discard, or note the path of any worktree you want to keep using at the desk.
Seeing it run answers the rest.
Direct, review, verify, and land from your phone — or bind a Slack channel and let the team ask. Either way, the work runs on a computer you own.