Let AI agents ship code without handing them the keys.
Agents propose. You approve. Synthe commits. Your agent never holds a GitHub token. Synthe does, and pushes only the exact commit you approved, with a signed receipt anyone can verify.
pushed · receipt #42 signed
The problem
An agent with a token can push anything.
- Straight to main, at 3 a.m.
- Over someone else's work.
- With no record of who said yes.
With Synthe, agents hold no credentials at all. They can only propose. The broker runs as its own user and acts only on a change a person approved.
How it works
Two halves. It only ships when they meet.
The agent's half proposes, your half approves, and nothing ships until both lock. Step by step
The agent proposes
It works on its own branch and proposes the push, through the plugin or a plain git push. It holds no GitHub token, not even to read.
You approve
You see the broker's own diff, not the agent's summary, and approve with Touch ID or your passphrase. The approval names that exact commit.
Synthe re-checks, then pushes
At the moment of commit it re-checks everything, pushes exactly that change if nothing moved, and signs a receipt. Refusals get one too.
Install
Set it up once. Every push after that goes through you.
Setup asks for your passphrase, GitHub token (hidden) and admin password, then puts the agent in its own account with no credentials.
1. Get Synthe, then follow the setup guide
git clone https://github.com/rohansiddam/Synthe ~/synthe && cd ~/synthe2. Add the plugin in Claude Code
/plugin marketplace add rohansiddam/Synthe
/plugin install synthe@syntheRun Claude Code in the agent's account to enforce it. In your own account, with your GitHub login, the plugin guides but isn't a wall.
1. Get Synthe, then follow the quickstart
git clone https://github.com/rohansiddam/Synthe ~/synthe && cd ~/synthe2. Setup installs the OpenClaw plugin, skill and gateway for the agent. Chat with it there:
sudo -iu openclaw
cd ~/repo && openclaw tui1. Get Synthe, then follow the setup guide
git clone https://github.com/rohansiddam/Synthe ~/synthe && cd ~/synthe2. In the agent's clone, a plain git push becomes a proposal
$ git push synthe: agent/greet at e352ae3de01d is proposed for approval, not pushed yet. synthe: A person reviews the diff and approves it with synthe-approve; then Synthe synthe: pushes exactly this commit and signs a receipt.
Claude Code and OpenClaw have plugins; any other agent works through git push. Status of each integration
Anyone can verify
Every decision is a link in a chain.
Each receipt hooks into the one before it. Change one, and the chain breaks there for everything after it. Check any chain yourself with synthe-verify.
Select a receipt, then tamper with it. Sample receipts: the real chain is signed by the broker's key.
Every claim and the run behind it · Security and limits · Next release test runs
Latest in the changelog: The commit broker goes public (October 7, 2026)
See it
Two agents. One change. Exactly one commit.
Questions
Straight answers, including the limits.
What does Synthe actually hold?
The only credential that can push: a GitHub token in a file only the broker's own OS user can read. Your agents hold none, not even to read the repository.
Is it open source?
Mostly. The spec, the checker, the clients and the integrations are open source under Apache-2.0. The commit broker is source-available under FSL-1.1-ALv2: you can read, audit and run it, but not sell it as a competing service, and each version becomes Apache-2.0 two years after its release. Synthe's hosted and internal code is separate.
What can't Synthe stop?
It doesn't stop prompt injection, and it can't tell whether approved code is good: if a person approves the wrong change, Synthe pushes exactly that change. It only controls the credentials and remotes it's configured for, so an agent's account must hold no other credentials. Receipts prove which key acted, not which model wrote the work.
Which agents does it work with?
Claude Code and OpenClaw through plugins, and any agent through a plain git push. Git pushes are the first action Synthe performs.
What does it cost?
Running Synthe yourself costs nothing. If you'd like help piloting it with your team, talk to us.
Who is building Synthe?
Co-founders Rohan Siddamsettiwar and Rishab Ramalingam, out of the University of Utah's Sandbox startup community.
Design partners
Pilot Synthe with your team.
Running agents against real systems? Tell us what they do, and we'll help you set up a pilot.
Requesting access opens your email app with your request ready to send. Nothing is stored or sent on its own. Prefer to write it yourself? Email rohansiddam@synthe.live.