SoonPatch docs
SoonPatch is a free MCP server for Claude Code. You paste a Slack bug report and ask Claude to resolve it; SoonPatch finds which of your repos the report is about — across every project on your machine — and fixes it in the session you're already in. No app to open, no context-switch.
What it is
A single Claude Code session only sees the repo you're in. SoonPatch's job is the part that's annoying by hand: figuring out where a vague Slack report actually lives, then fixing it there.
When you ask Claude to resolve a report, SoonPatch hands it a case brief of
every workspace on your machine — discovered from ~/.claude/projects, with
each repo's branches, recent commits, recently-changed files, and active
sessions. Claude uses that to locate the right repo (even one you're not
currently in), investigate the cause, and draft the fix.
It exposes four tools to Claude Code:
soonpatch_locate— returns the case brief; Claude investigates in your session (fast, preferred).soonpatch_draft_brief— drafting guidance for the fix, with cross-repo "also-applies-to" context.soonpatch_resolve/soonpatch_draft— the same two, but run in a spawned localclaudeif your session can't investigate itself (slower fallback).
You don't call these by name — the installed skill drives them for you.
How it looks in Claude Code
You paste a Slack permalink and say "resolve this with soonpatch." A run looks like this:
> resolve this and use soonpatch: https://acme.slack.com/archives/C04BUG/p171…
soonpatch ▸ skill
soonpatch_locate ▸ scanned 14 workspaces
located: app-backend [branch: main] · confidence high
reason: channel #bug-reporting + grep hit in ChatValidationService.php
investigating… read ChatValidationService.php, EmojiMap.php
root cause: the emoji sanitizer strips U+200D, breaking ZWJ sequences
✎ ChatValidationService.php (+5 −2) fix applied
Want me to commit it?
Fix emoji sanitizer stripping U+200D (ZWJ sequences)
Resolved-with: SoonPatch
It applies the fix in your working tree, then asks if you want it committed — showing the exact message it would use. Nothing is committed unless you say so.
Install
One line (macOS or Linux):
curl -fsSL https://soonpatch.com/install-mcp.sh | sh
This verifies a checksum, drops a static binary in ~/.soonpatch/bin, installs
the soonpatch skill, and adds a one-line directive to ~/.claude/CLAUDE.md
so Claude reaches for SoonPatch when you paste a Slack link. Then register it:
claude mcp add --scope user soonpatch -- ~/.soonpatch/bin/soonpatch-mcp
Restart Claude Code. To update later, re-run the same curl line and restart.
Connect Slack
SoonPatch does not fetch Slack itself — your Claude Code reads the thread with its own Slack connector, then hands it to SoonPatch. Connect Slack's official MCP once:
claude plugin install slack
then approve the login in your browser. Manual alternative:
claude mcp add --transport http slack https://mcp.slack.com/mcp
# then run /mcp in Claude Code, pick slack, and Authenticate
Some workspaces need a Slack admin to approve the integration. Without Slack connected, Claude can't read the thread behind a permalink. (You can also paste the thread text in directly instead.)
Resolve a report
In any Claude Code session, paste a Slack permalink and ask:
resolve this and use soonpatch: <slack permalink>
Claude fetches the full thread (replies and screenshots included), calls
soonpatch_locate, tells you the located repo and the root cause, and — if you
want it resolved — applies the fix. Saying "use soonpatch" is the most reliable
phrasing; it tells Claude to lead with the skill instead of grepping blind.
It's fine if you're in the wrong repo when you ask — locating the right one across your machine is the whole point.
Choosing where to apply the fix
If the located repo has more than one worktree (several branches checked out in parallel), SoonPatch won't pick one silently — Claude lists them and asks which to apply the fix in:
This bug is in the mobile app, which has several worktrees checked out.
Which one should I apply the fix in?
1. meowtel-mobile [service-zone-offmap-dashes]
2. meowtel-app-3.0 [vrf+modification-highlights]
3. Q1/new-earnings-page [test-feat-dist]
Pick one and it applies the fix there.
Privacy
- Runs locally and drives the Claude Code you already use. No SoonPatch account, backend, or API key.
- Your source never leaves your machine; only the prompt and the result move.
- SoonPatch sends anonymous, content-free usage stats — an install count and
which tools run, never your messages, code, or repo names. Opt out anytime with
SOONPATCH_NO_TELEMETRY=1orDO_NOT_TRACK=1. - It keeps itself up to date: a background check installs new releases for the
next launch, so you never re-run the installer. It adds no startup delay and
never sends your code. Opt out with
SOONPATCH_NO_UPDATE=1. - It investigates and proposes fixes; you review and commit with git. Nothing auto-merges.
FAQ
How much does it cost? Free. It runs on the Claude Code you already pay for — there's no SoonPatch subscription.
Which platforms? macOS and Linux. The Linux build is a static binary, so it runs on any distro with no dependencies.
Is my code sent anywhere? No. There's no backend and your source stays on
disk. SoonPatch sends only anonymous, content-free usage stats (install count +
which tools run) — never your code, messages, or repo names. Opt out with
SOONPATCH_NO_TELEMETRY=1 or DO_NOT_TRACK=1.
Does it auto-merge or commit? No. It applies a fix in your working tree; you review and commit (or discard) with git.
Questions or feedback? Email lucas@soonpatch.com.