Remote control for AI coding agents

Your agents stay put.
You don’t have to.

PRCHD runs Claude Code, Codex, or Grok on a computer you own. When an agent needs you, it finds you on your phone. When your team has a question, the code answers it in Slack.

No account · Apple Silicon · macOS 13.0+ · One binary, two remote controls

Your computer holds the repositories, worktrees, agent CLIs, processes, and the event log. Two remote controls reach it: your phone over your tailnet, and #payments, a bound Slack channel.Your computer holds the repositories, worktrees, agent CLIs, processes, and the event log. Two remote controls reach it: your phone over your tailnet, and #payments, a bound Slack channel.

The wait

The agent doesn’t need you for twenty minutes.
It needs you at the review.

Today that review happens at the desk the agent runs on, so the work waits until you’re back. Your team knows the same wait from the other side: a question the code could answer in a minute waits for an engineer with time to look. PRCHD moves the review and the question. The agent and the code stay put.

TodayWith PRCHD

  • TodayThe agent finishes a turn and waits at your desk until you’re back.

    With PRCHDThe finished turn is on your phone. Read the real diff, reply, and the agent keeps going.

  • TodayThe tests, the running app, and the pull request all wait for a laptop.

    With PRCHDRun the checks, open the app over your tailnet, and open the PR from your phone.

  • Today“Does a declined card retry?” waits until an engineer is free to look.

    With PRCHDAnyone in the bound channel asks. The answer arrives in the thread, footed with the commit it was read from.

  • TodayKeeping an agent working while you’re away usually means a cloud sandbox and a copy of your code.

    With PRCHDThe agent works in your real checkout, on your computer, with the tools already set up there.

Two remote controls

A phone for the developer.
Slack for everyone else.

Install once, on a computer you own. Pair a phone, bind a Slack channel, or both — every install carries every capability.

For the developer

Direct. Review.Verify. Land.

Install on your own computer, pair your phone, and take a branch from brief to merge without going back to your desk.

Agent transcript with the code it wrote and a passing test run

Your phone · your tailnet

See the developer loop →

For the team

Ask the repository.It answers from HEAD.

Install once on a computer the team shares and bind a Slack channel to a project. Everyone in the channel can ask, and the answer comes from the code itself.

#paymentsSlack
  1. Tom Harding10:42

    @PRCHD does a declined card retry, and how many times?

  2. PRCHDAPP10:43

    Soft declines retry up to 3 times with backoff at 1m, 5m, and 30m. Hard declines are never retried.

Slack · the channel you’re already in

See the team loop →

For the developer

Chat is a quarter of the job.
Do all four from your phone.

Remote chat is the easy part. The diff, the checks, and the merge are where work usually waits for a laptop — PRCHD carries the session through all of them, straight from the real worktree on your computer.

01

Direct

Start a task the moment you think of it — from a chat, a terminal, or a GitHub issue.

  • Choose model, effort, and Plan, Act, or Work
  • Attach files and mention repository context
  • Stop or steer a turn in flight
Agent transcript with the code it wrote and a passing test run
02

Review

See exactly what changed: the real diff, rendered from the worktree on your computer.

  • Compare from fork point or last commit
  • Select lines and add an agent note
  • Inspect files, commits, and markdown
Host-rendered diff of GridScreen.tsx with the row-count header change
03

Verify

Know it works before it lands — run the checks and the app.

  • Use project commands or an ad-hoc command
  • Open a replayable interactive terminal
  • View the dev server over your tailnet
Command buttons and a passing bun test on the workspace
04

Land

Commit, push, and open the PR — or merge locally and close the workspace.

  • Edit the drafted commit message
  • Create a PR through the gh CLI
  • Merge & Close or Discard & Close
Merge & Close sheet for the finished workspace, one commit ahead of main

For the team

Every question that used to be an interrupt is now a thread.

Product, support, and QA ask the code directly, and the people who would have been interrupted keep coding. Install once on a shared computer and bind a Slack channel — nobody creates an account, installs an app, or pairs a phone.

Ask

Mention @PRCHD in a bound channel. The answer comes from the code as it stands today, footed with the commit it was read from.

Act mode — reads the checkout, writes nothing to disk

Run

The jobs your team repeats, saved once as recipes. Start one from a private channel, a schedule, or a webhook.

Work-mode recipes leave a branch to review

React

A webhook turns something that happened elsewhere into a run on your computer — sealed in transit, checked by a verifier you wrote.

The host polls outbound and opens no port

One day, both remote controls

From a 2 a.m. crash to a PR before standup.

Two computers, one day, and nobody tied to a desk. The team’s shared computer answers and triages; the developer’s own computer writes the fix.

Hands-on coding happens on a developer’s own computer, not the shared one — by design. The shared computer answers questions and runs the recipes its operator set up.

  1. 02:14

    Team host

    The crash is triaged before anyone wakes up.

    The crash reporter calls a trigger URL. The office computer collects the sealed delivery, checks it with the operator’s verifier, and starts the triage recipe your team wrote against the real checkout. By morning, a story in the tracker names the suspect commit.

  2. 08:00

    Unattended

    The morning brief is already written.

    A scheduled recipe read yesterday’s merges and posted the digest to #eng through the Slack notifier. It can honestly say “since last time”, because its prompt carries the time of the last successful run.

  3. 09:26

    Team host

    A product manager asks the code, not an engineer.

    The answer lands in the #payments thread, footed with the project, commit, branch, and mode. Nobody was interrupted, and nothing on disk changed.

  4. 10:40

    Personal host

    An engineer starts the fix from the train.

    On their own computer: a workspace opened from that tracker item, an isolated worktree, and an agent already reading the code.

  5. 11:52

    Personal host

    The PR is open before standup.

    The real diff reviewed on the phone, the real tests run, the commit message edited, the pull request opened through the gh CLI. The desk was never involved.

Where your code lives

The computer you own is the computer that runs.

Repositories, worktrees, prompts, transcripts, diffs, command output, attachments, environment values, and the event log stay on the computer you installed PRCHD on — the one that already has your code and your tools. The agent works there, so there is nothing to copy into a hosted environment and nothing uploaded to be indexed.

One small public service handles what a computer with no open port can’t do on its own: it enrolls your computer’s identity, forwards short push notifications, and holds webhook deliveries until your computer collects them. Each delivery is sealed to your computer’s public key the moment it arrives, so the service only ever holds ciphertext, and it is never in the path of your work.

Your checkout stays where it isOutbound only — nothing listensRead the mechanisms →

What you need

Four things. You probably have two already.

Start with the host on your computer; the phone and the Slack channel both connect to it. A Slack-only team host skips Tailscale and the phone app.

  1. 01
    A MacmacOS 13.0 or later, Apple Silicon
  2. 02
    TailscaleOn your computer and phone, signed into the same tailnet
  3. 03
    A coding agentClaude Code, Codex, or Grok — set up and signed in on that computer
  4. 04
    The phone appiOS or iPadOS 15.6+, or Android 11+

Optional A GitHub remote and the gh CLI signed in on your computer.

Standing watch

Leave the desk.
Keep the work moving.

Run AI coding agents on a computer you own — and reach them from your phone or from Slack.