Knot watches the folders you pick. When you stop saving for ten seconds, it makes a real commit and sends it to every machine you paired with.
If pushing to GitHub already works for you, you probably do not need this.
01
Any folder works. You tell Knot once, and from then on it is a real git repository.
02
The other person installs Knot too. You generate a one-time pairing code, send it however you normally send things, and then both machines show a confirmation that has to be clicked at both ends.
03
You save, and Knot does the commit and the push.
Built and tested on two machines, a MacBook and an HP EliteBook running Ubuntu: first over Wi-Fi, then over Tor between two different networks, which is where it first worked end to end, in May 2026.
On 27 August 2026 two paired peers whose histories had diverged merged over Tor four seconds apart, with nothing coordinating them, and both landed on the identical merge commit. About 198 seconds end to end.
Ten seconds after your last save in a folder, the change is a real git commit, and it goes out encrypted end to end to every paired machine. Neither end has to open a router port for that.
Knot uses git's real object format, so git log, git diff and git branch all still work, and so does anything else you already point at the folder.
The authoring device is written into the commit itself, so every machine that gets the commit sees it. The signature and the agent-session record are still in refs/notes, which does not replicate, so for now the full chain can only be produced on the machine that made the commits. Moving both into the commit is in progress.
For AI agents, one knot map --tokens 1500 call gives the agent a map of the repo, instead of reading five or more files. On a 56-file repo the agent had never read, that measured ≥3.4× fewer tokens. You can run the comparison on your own machine.
Free, for macOS and Linux. There is no Windows download yet. The command line and the daemon now build and run on Windows, and Tor starts there, but a commit has not yet been sent between Windows and another machine, and that is the test every release has to pass first. The macOS build is not notarized either, so the first open is blocked; clearing it takes one command, below.
The installation guide covers macOS, Linux, verifying your download, and your first synced save.
Also on the VS Code Marketplace Same daemon as the app, driven from the editor sidebar instead of a second window.macOS blocks the first open. You clear that once, and any of these does it:
xattr -dr com.apple.quarantine "/Applications/Knot.app"Tor and the on-device AI runtime ship inside the package. apt handles the dependencies, the systemd unit and upgrades.
sudo apt install ./knot-vcs-amd64.deb
systemctl --user enable --now knot-vcs
knot-app # or `knot solo` in any folder Current Ubuntu ships no GUI that installs a local .deb file; App Center is snap-only, and that is Ubuntu-wide, every vendor's .deb included. Details in the installation guide.
Not being notarized does not change where your code goes.
Full release history: changelog. Bug reports and use cases both welcome: Get in touch.
For a while every push shipped the whole history again, because the base commit was taken off a list that git sorts by branch name, and genesis always sorted first. The cryptography was the easy part: Ed25519 identities, mutual authentication, a Tor circuit carrying nothing but encrypted bytes, and real git objects at both ends.
Whispr's messages go over the same Tor primitives. None of the cryptography was invented for Knot: it is Tor's, and the Ed25519 that OpenSSH ships.
Both sides prove who they are with Ed25519 mutual authentication before any code is sent. The connection runs over Tor (.onion hidden services), so it is encrypted end to end and relays only see ciphertext. Pairing a new device needs a confirmation click on both machines. The primitives are the ones Signal, Tor and OpenSSH ship; the code wiring them together has not been reviewed by anyone outside this project, which is one person in Würzburg.
No. Code transfer is always peer-to-peer, through Tor circuits. There is an optional small "coordinator" that helps peers find each other across the internet, but it never sees a byte of your code, only "peer X hosts project Y." You can run it on a $35 Raspberry Pi, or skip it entirely.
Yes. Knot uses git's real object format, so a Knot folder is also a real git repository. git log, git diff, git branch, git checkout, all work. When two histories diverge Knot merges them for you, and because the merge commit is built deterministically both machines end up on the identical one. If the same lines conflict, or the incoming changes would overwrite edits you have not committed, it stops and parks the incoming side for you to resolve in plain git.
Nothing transfers until they come back online, same as any peer-to-peer protocol. Your commit stays on your machine and goes out when their daemon reconnects. An always-on third peer helps here: a home server or a $5/month VPS running the same free build.