For engineers

Ten lines of diff. From hours of deep work.
Sapwood keeps both.

The diff doesn't capture the rejected alternatives, the assumptions you made, the dead ends you ruled out. The deep work lives in a Claude Code session your reviewer can't see, can't search, can't branch from. Until now.

Quickstart →

01 · How it shows up

Every PR carries the session that produced it.

The moment you open a PR from inside Claude Code, Sapwood stamps a comment on it — a small markdown table listing the agent sessions that produced this code. Reviewers in the tree see the comment and click straight through to warm the session.

sapwood-bot bot commented just now

Sapwood ambers

Claude Code sessions that produced this PR. Click to resume.

Session Committed Author Resume
f8b2e7c1 2026-04-19 20:14 UTC alice Open · Browser
a9e4f2b6 2026-04-20 09:03 UTC alice Open · Browser

Managed by Sapwood. Configure: sap hook install --claude-pr.

Edit-in-place: as you push more commits, the comment updates with the new sessions. One tidy table per PR, not a noisy thread of duplicates.

02 · One click into the session

Click "Resume in Claude Code" on the PR.

Your Mac app catches the sapwood:// link, hands it to the sap CLI, and your terminal warms the session — the same agent, the same context, the same rejected directions visible in the conversation. You're not reading a summary of your teammate's work. You're sitting in it.

Reviewers without sap installed get a fallback modal with a copy-to-clipboard sap warm … command. Reviewers without a Sapwood account in the tree see the comment but cannot warm the amber — the tree's ACL governs read access to the session.

03 · Ask the agent what she was thinking

The agent built theory of mind. You inherit it.

The agent in your teammate's session spent two hours being her interlocutor — modeling her priorities, her vocabulary, what she'd push back on, what she'd reject. When you warm the session, you inherit that work. You can ask, in conversation:

  • "Why did she choose polling over webhooks?"
  • "There are two ADRs on this with subtly intersecting guidance. Was he aware of both docs?"
  • "She designed the retry strategy assuming idempotency. Was that assumption ever validated? What would the design look like without it?"

The agent answers as the stranger who spent the afternoon with her. Because that's what it is. A summary can't do this. A doc can't do this. A recording of a meeting can't do this. The substrate has to be the conversation itself, preserved at the token level — and that's what Sapwood is.

04 · Set it and forget it

Auto-amber. You don't have to remember to share.

A session-end hook captures every productive Claude Code session into your team's tree, automatically. PR creation, ready-for-review, every git push that lands new commits on a branch with an open PR — all stamped automatically. Your team's institutional knowledge accumulates as a byproduct of the work.

Need to skip a session? SAP_SKIP_PR_AMBER=1 git push. One-shot kill switch, honored by the hook.

05 · The whole setup

Three commands. Five minutes.

sap install
sap tap claude-code
sap hook install --claude-pr

That's it. Open your next PR from inside Claude Code. The amber shows up in the PR comment a few seconds later. Reviewers click "Resume in Claude Code" and they're in.

Full quickstart →

Bring your reviewers into the work.

Sapwood is in private development. We're onboarding engineering teams whose PR review pain is acute and whose work is already happening inside agent sessions. Tell us about yours.

For PMs →