For the developer

Your agents keep coding on your Mac.
You get your day back.

An agent needs you for a minute at a time — a question, the diff, the tests, the merge. PRCHD puts that minute on your phone, while Claude Code, Codex, or Grok keeps working on the computer that already has your clone.

No account · Apple Silicon · macOS 13.0+ · Your code stays on your computer

Mac menubar popover showing host status and active work
Agent transcript with the code it wrote and a passing test run

The wait

The agent doesn’t need you for twenty minutes.
The desk does.

Reviewing, verifying, and merging are what keep you at your desk, and each one takes a minute. PRCHD moves the review, not the agent: the session keeps running on your computer, and that minute happens on your phone.

Parallel work

Start a second task without stashing the first.

A workspace is a branch: one worktree, one branch, one snapshotted base. Parallel work stays apart until you choose to merge it.

  • Merge & Close lands the branch and removes the worktree
  • Discard & Close asks before removing the work
  • A failed merge preserves the branch and every file

main

prchd/rate-limit-loginactive · 7 files changed
Merge & CloseDiscard & Close

Direct · Review · Verify · Land

The whole job, not just the chat.

Remote chat gets a task started. PRCHD carries the same session through the real diff, the real checks, and the final branch decision — each one read straight from the 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

Where work begins

The task is already written down. Start from there.

Open a workspace from a GitHub issue or from the item already assigned to you in your team’s tracker — or from a blank brief when the idea is new.

  • Chat-first when you know what you want built
  • Terminal-first when you just want a shell on the branch
  • Issue-backed when GitHub already holds the context
  • Work-item recipes when the request lives in a tracker

Work items come through the agent’s own tools: the agent on your computer reaches Jira, ClickUp, Shortcut, Linear, or Trello exactly the way its CLI is already configured to. Two built-in recipes read that list and open a workspace from an item. They ship off, and the prompt you write is the whole configuration.

Follow a tracker item to a PR →

Phone work-items list read from the team’s tracker, with Start on the selected item

One session, one walk

The branch goes from brief to merge while you get on with your day.

The work runs on your computer, so the phone can go back in your pocket between steps.

create workspace
  1. 00:00

    Direct

    Create a workspace from main and send the first brief while the setup script finishes.

    prchd/rate-limit-login
  2. 00:02

    Walk away

    The session keeps running on your computer. Put the phone away; the turn carries on.

  3. 00:19

    Check Activity

    Running shows the chat still working. When the turn finishes, an optional push names the project and workspace and takes you straight back.

  4. 00:31

    Review

    Open the real diff, select the exact span, and send a note back to the agent.

    src/auth/login.ts +12 −3
  5. 00:38

    Verify

    Run the test button. The complete result returns to the transcript as a durable check.

    ✓ 42/42
  6. 00:44

    Open the app

    Start the dev server and open it on the phone over your tailnet.

    :5173
  7. 00:51

    Merge & Close

    Commit, push, and land the branch. A close-time conflict preserves the worktree for the desk.

    Refs #214
merge & close

Fifty-one minutes. No desk.

Model, reasoning effort, and Plan, Act, and Work mode controls

Three agents, one set of controls

Bring the agent you already use.

PRCHD drives the CLI already signed in on your computer — Claude Code, Codex, or Grok — with one set of controls for all three: model, reasoning effort, and Plan, Act, or Work.

  • Ready, needs login, or not installed before you start
  • Each backend exposes only the controls it supports
  • Your CLIs, subscriptions, configuration, and credentials

Several branches at once

One screen tells you which branch needs you.

Activity answers three questions across every computer you’ve paired: what needs you, what is running, and what happened recently.

Needs you

Setup failures, sign-in, unresolved merges

Running

Chats and PR reviews with elapsed time

Recent

Commands, commits, pushes, and outcomes

  • Opt-in push notifications with quiet hours
  • Payloads that name the work, never carry it
  • Running work survives disconnects and reconciles after restart
Activity screen with a completed agent turn, a command, and a merged workspace
New recipe automation scheduling an unattended nightly agent run with a pinned backend

Unattended, on your own machine

By morning, the nightly suite has already run.

Work that waits for you to find time can run on a schedule instead. A recipe is a stored prompt with a posture — put one on five-field cron and it runs on your computer with no phone attached.

  • The nightly suite, an overnight audit, a morning report in Activity
  • Every fire records a durable start, end, outcome, and summary
  • A worktree is kept only when there is work — or a failure — to read
  • A slow run joins the one already in flight rather than starting a second

Let your computer work overnight →

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 — everything else connects to it. Tailscale gives your phone a private route there.

  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

Your agents keep coding on your Mac. You get your day back.

Install the host on your computer, pair your phone over your tailnet, and let the next turn finish while you’re at lunch.

Your team can also run a shared host and ask it questions in Slack. That’s a different computer and a different page — see PRCHD for teams.