Open source · Runs on your machines · No API keys

Your agents stop working the second you walk away.

Your agents stop working the second you walk away.

Threadknot fixes that. Claude Code, Codex and Kimi running across every machine you own, and every one of them on your phone. Approve an edit from the couch, redirect a run from the car, kill it from bed.

Two minutes. No account, no API key, no config file.

  • Uses the CLI you already pay for
  • Nothing leaves your network
  • Apache 2.0, no account
  • Linux, macOS, Windows
Live agent turn, phone browser

Threadknot is built with Threadknot. That clip is one of its own agents, working.

Ninety seconds, one tour

The whole thing, explained by a pirate

What it is, what it does with your machines, and how it ends up on your phone. Sound on.

threadknot, explained1:38

Yes, a pirate. The product is called Threadknot and the logo is an anchor, so the tone picked itself.

The thing nobody says out loud

The bottleneck is not the model. It is you.

You start a run and then you are stuck babysitting a terminal. Step away and it hits an approval prompt and sits there, dead, until you come back. Want a second agent? Second terminal. A third? Now you are a window manager.

Without it

  • One agent, one terminal, one machine.
  • It stops on an approval and waits for you to notice.
  • Leaving your desk means the work stops.
  • Your laptop sits idle while your desktop compiles.

With it

  • Every agent and every machine on one screen.
  • It pings your phone. You tap approve. It keeps going.
  • Leaving your desk means nothing at all.
  • Three agents on three machines, working at once.

Not a mockup

This is the window, on a real machine

desktop
The main window: workspaces and threads on the left, one agent turn streaming on the right. That is ThreadKnot working on ThreadKnot.
The main window: workspaces and threads on the left, one agent turn streaming on the right. That is ThreadKnot working on ThreadKnot.
shared browser
The browser workspace, mid-action: a real Chrome session the agent is driving while you watch, with its current action called out and the mouse yours to take back at any moment.
Shared browser. The browser workspace, mid-action: a real Chrome session the agent is driving while you watch, with its current action called out and the mouse yours to take back at any moment.

From download to first agent turn

Working in about two minutes

There is no account to make, no key to paste, no config file to write and no service to sign up for. If you have a coding CLI installed, Threadknot has everything it needs.

  1. 01

    Install it

    Take the build for your platform. deb, rpm, AppImage, dmg or installer. No Rust, no Node, no toolchain.

  2. 02

    Point it at a folder

    Add workspace, pick a project directory. That is the whole setup.

  3. 03

    Type

    New chat, pick Claude, Codex or Kimi, and go. It drives the CLI you are already signed into.

Get it for your platform

Linux, macOS and Windows. Or a headless binary for a machine you never sit at.

What you are about to ask

The five real questions, answered short

Is this going to cost me another API bill?
No. Threadknot launches the claude, codex and kimi CLIs already installed and signed in on your machine, so your existing subscriptions are the auth. It never asks for an API key and never proxies a request.
Does my source code end up on somebody's server?
No. Threads are written to disk on the machine that ran them and stay there. There is no account system and no telemetry. Out of the box nothing leaves your network.
How much of my evening does setup take?
About two minutes. Install, point it at a folder, type. If you want it on your phone as well, that is copying one URL.
Will it break the workflow I already have?
It cannot. It runs the same CLIs you run today, in the same folders, against the same git. Uninstall it and your setup is exactly where you left it.
What happens when you lose interest and shut it down?
Nothing happens. It is Apache 2.0 on a public repo and it runs entirely on your own machines. There is no server to switch off. If it works today it works in five years, with us or without us.

The part nothing else does

Pair your machines and they become one mesh

Three agents, on three computers, working at once, under one sidebar, on one timeline, driven from whichever device is in your hand. No hub server, no account, and nothing in the middle.

workspaceStorefront3 machines paired
  • desktoplinuxClaude· mid-refactor
  • macbookmacosCodex· running tests
  • homelablinuxKimi· on a long build

One workspace. Three machines. Each thread pinned to the machine that owns the folder it runs in.

No hub, no cloud plane

There is no sync service and no account. Peers find each other over your own LAN or tailnet with mDNS plus an explicit pairing step, and talk to each other directly.

Identity is the machine

Pairing is bound to a machine id, not an address, so a DHCP lease change never breaks the mesh. IP addresses are treated as disposable hints.

Nothing is copied around

A thread is pinned to the machine that owns it and runs against that machine's real filesystem. Git stays the only channel for code, which is the way you already trust.

Symmetric by design

Whichever ThreadKnot you happen to be looking at drives all of them, including the one in a phone browser. There is no primary machine to keep awake.

Still machine-local, and we would rather you heard it here: git panes, terminals and artifact bytes are served only by the machine that owns the thread, and push notifications do not yet fire for threads running on a remote peer.

What it feels like to use

Three more things no terminal tab can do for you

01

One real Chrome

The agent and you share a browser. Not a preview. Not a headless clone.

Each thread gets its own Chrome session. You watch the agent work it live, with a visible cursor, an outline on whatever it is about to click, and the action named as it happens. Grab the mouse mid-flow and it hands over.

  • Real keystrokes, iframes, uploads and dialogs, not a screenshot loop
  • A cookie banner stops the click instead of silently eating it
shared chrome · thread #418take over
← → ⟳https://dashboard.example.com/billing
ref e12 · buttonConfirm plan
actionclick("e12")human can take the mouse
02

Parley

Let the agents argue before you ship it.

One agent plans or codes, the others attack the work, you read the verdict. Reviewers are read-only, so they can make a case but cannot touch a file. Use two providers, or the same model twice for an honest second opinion.

  • Opus builds, Codex reviews, K3 breaks the tie
  • Replayable afterwards, because the whole argument is on the timeline
parley · thread #93 · migration planturn 4 / reviewer B
builder · opus 5reviewer A · codexreviewer B · k3

builder · opus 5

Plan: backfill in one transaction, then flip the read path. Four steps, reversible at every point.

reviewer A · codex

Step 4 flips reads before the backfill index exists. On a table this size that is a full scan under load.

reviewer B · k3

Agreed, and step 2 has no rollback. Concurrent index first, then flip.

verdict · 2 of 3

Revise before build. Reorder steps 2 and 4, add the concurrent index.

turn-taking: deterministic state machine

03

The mesh, in your pocket

Every machine you own, from the device in your hand.

Your phone gets the same interface the desktop renders, pointed at the whole fleet. Not a notification screen, the command center. Every client sees the same events, so nothing drifts out of sync.

  • Approve an edit, switch model or interrupt a turn, all from the phone
  • Notifications deep-link straight to the thread that needs you
threadknot · omen · orbit-psaLAN
claude codeopus 5effort: highedits

you · from phone

ship the 3% card fee on the pay-invoice route

claude code

Reading src/app/pay/route.ts and the Stripe webhook handler. The fee needs to apply before the intent is created.

edit · route.ts

+ const fee = Math.round(amount * 0.03)

- const fee = 0

streaming to 2 clients

omen

invoice fee

approval needed: write route.ts

APPROVEPLAN

same thread

Who is behind it

Threadknot is built with Threadknot

The screenshot above is this website being built, by agents running in Threadknot, on the machines in that sidebar. Every feature on this page got used to ship the page. That is the only product claim worth making before a tool has a thousand users, so it is the one we are making.

Maintainer

Built and maintained by Spencer Smith at Smith Network Solutions. The repository is public, the commit history is the whole story, and the issue tracker reaches a person.

Optional. The only paid thing on this page.

Now do it from outside the house

Everything above this line is free forever and works on your own network. The relay adds one thing: a permanent web address for your machine, so the phone in your pocket reaches it from anywhere, with no VPN and no port forwarding.

01

Flip one switch

Remote access, on, in Settings. The machine dials out and enrolls itself. Nothing to forward, no dynamic DNS, no reverse proxy, no certificate to renew.

02

Get a permanent address

A stable public origin at <your-machine>.remote.threadknot.ai, with a real certificate that renews itself. It survives your ISP changing your IP and it survives you taking the laptop somewhere else.

03

Open it anywhere

Phone on cellular, laptop in an airport, borrowed browser at a client site. Up to 25 devices, each one approved by you and revocable from your own machine.

One plan, one price

$15 / month

or $150 a year · up to 25 devices · 14-day trial

No card to start the trial.

Six ways this cannot bite you

No surprise bill, ever

Fair use is 500 GB a month. Go past it and you get throttled, never invoiced. There is no usage-based charge of any kind in this product, so the number on your card is the number on this page.

Try it for free first

14 days, no card to start. Subscribe part-way through and the days you have left carry over, so you are never charged for time you were already given.

Cancelling costs you nothing

The free product does not get worse when you stop paying. Your LAN, your mesh, your threads and your phone on the home network all keep working exactly as they did.

It cannot strand you mid-run

A lapsed subscription stops new sessions and leaves running ones alone. A failed payment gets a three-day grace window. A subscription ending during a turn never severs that turn.

Nothing is stored

The relay copies bytes between two sockets. Nothing from the stream is written to disk anywhere in the path, and metering is byte counters and connection metadata.

Your LAN never depends on it

The relay is not in the path of local access. If it is down, or you never buy it, the desktop app, the web UI and the mesh work exactly as they do now.

How the tunnel is built, down to why it cannot become a route into your network, is on how it works.

One relay region, in the United States, and no failover yet: if the relay is down, remote access is down and local access is untouched. There is no published SLA and no status page, and we would rather say so than imply one.

Questions

The ones people ask

01Do I need an API key or a paid plan on top of what I have?

No. Threadknot drives the CLIs already installed on your machine and signed in with your own accounts. It never asks for or stores an API key, and there is no Threadknot service in the middle taking a cut. The hosted relay is the one optional paid thing, and it buys remote reachability, never agent capacity.

02Where do my code and transcripts go?

Nowhere. Threads are appended to JSONL logs on the machine that ran them. There is no account system and no telemetry. Out of the box nothing leaves your network: the mesh is your own machines talking to each other over your LAN or tailnet.

03How is this different from remote-controlling my machine from a phone app?

That gets you one machine. Threadknot pairs several into a mesh: a desktop, a laptop and a homelab box under one workspace, each running its own agent in its own folder, all driven from whichever one you happen to be looking at. It also runs Claude, Codex and Kimi side by side on a single timeline, which no first-party app will do.

04Is this a terminal wrapper?

No. Each driver speaks the agent's real wire protocol: stream-json for Claude Code, the app-server JSON-RPC interface for Codex, ACP for Kimi. That is what makes streaming, interruption, approvals, plan mode, images and session resume behave like data instead of scraped text.

05What does it run on?

Linux, macOS and Windows, with packaged builds for each: deb, rpm and an AppImage for Linux, a dmg for Apple silicon, and an installer for Windows x64. Every release also carries a headless binary for a machine you never sit at, which is the same LAN server with no desktop window.

06What licence is it under?

The Apache License 2.0, unmodified. Use it for anything, including commercially, modify it, fork it, redistribute it, build a product on it. It carries an express patent grant from every contributor. The only obligation is keeping the copyright notice and licence text if you redistribute it.

07Is Threadknot open source?

Yes, in the plain sense and the OSI sense. Apache 2.0 is an OSI-approved licence and the repository carries it unmodified, with no competing-use clause, no delayed grant and no field-of-use restriction. Read it, fork it, ship it.

08Do I need the relay if I already use Tailscale or a VPN?

No, and if you are happy with one, keep it. Threadknot works over a tailnet exactly as it does over a LAN, free and with no account. The relay exists for the case where installing a VPN client on the device in your hand is not an option: a borrowed laptop, a locked-down phone, a browser at a client site.

09Is this against the AI providers' terms?

Threadknot never touches credentials or tokens. It launches the official claude, codex and kimi CLIs, each signed in through its own login flow, exactly as if you ran them in a terminal yourself.

10What can someone on my network do with the token?

Everything you can. The token is the only thing standing between a device on your LAN and full control of your threads, so guard it like an SSH key. Rotate it by deleting server.json, which makes the server mint a new one on next start and invalidates every paired client.

Two minutes from here

Stop babysitting a terminal. Put the whole fleet in your pocket.

Every agent, every machine, one screen. It costs you nothing but the subscriptions you already pay for, and if we vanish tomorrow it keeps running on your hardware.