Pricing
One migration PR saves an afternoon of tracing call sites by hand. Patchwork charges for the repositories it watches, not for seats nobody sits in.
Public repositories, any number of them.
A startup keeping its private services current.
Larger fleets that can't wait a day for a fix.
Code that cannot leave your perimeter.
Compare
The pipeline is identical on every plan. What scales is how many private repositories it watches and how often it checks them.
| Open source | Team | Business | Enterprise | |
|---|---|---|---|---|
| Public repositories | Unlimited | Unlimited | Unlimited | Unlimited |
| Private repositories | — | 15 | 50 | Unlimited |
| Sweep interval | 24 hours | 24 hours | 6 hours | Your choice |
| Verified before PR | Yes | Yes | Yes | Yes |
| Custom watched packages | — | — | Yes | Yes |
| Self-hosted worker | — | — | — | Yes |
| Support | Community | Priority | Named contact |
Questions
No. Every change lands on its own patchwork/* branch as a pull request. Nothing is ever committed to main, and nothing merges without you.
Then you get a draft PR labelled [needs review] instead of a green one. We run your build in a clean checkout first, so a passing PR means it actually passed.
The code around the affected call sites does — not your whole repository. Read exactly what is sent, and what is never stored, in the privacy policy.
Patchwork checks whether your project compiled before it touched anything. If it didn't, the PR opens as a draft rather than blaming the migration for a break that was already there.
TypeScript and JavaScript against npm, and Python against PyPI. The pipeline is language-agnostic; those are the two adapters that ship.
Uninstall the GitHub App. Access is revoked the moment you do, and there is no subscription to cancel separately during beta.
Ready
Patchwork watches your dependencies and opens a verified pull request the next time one breaks your code.