With a terminal
$ psql "postgres://app:[email protected]/app" # the string came from a .env it read # nothing says 10.0.3.4 is production app=# DELETE FROM orders WHERE … DELETE 1284 # and the password is in your shell history
Claude Code, Cursor and the rest can type commands, and that is what makes them useful. But a shell has never refused anything: nothing in psql "postgres://…" tells staging apart from production. Kestro does not replace that terminal, it adds the one thing a shell cannot have: a door that says no, and says why.
macOS 11+ · Windows soon
The same request, twice
“Have a look at why today’s orders are duplicated in the database.” The left column is what an assistant holding a shell makes of that sentence.
With a terminal
$ psql "postgres://app:[email protected]/app" # the string came from a .env it read # nothing says 10.0.3.4 is production app=# DELETE FROM orders WHERE … DELETE 1284 # and the password is in your shell history
With Kestro
Kestro refused. “notes-prod” is labelled “Production”, and that environment is not open to the AI. Settings › AI › Environments › Production No password went anywhere.
Point by point
| A terminal | With Kestro | |
|---|---|---|
| What the AI can reach | everything your shell can reach | what you opened, object by object |
| Production | nothing tells it apart from any other database | closed by default, at the top of the settings |
| Credentials | in the command, then in the history | none: the tunnel is a local door |
| A passphrase being asked for | it answers whatever it likes | never, whatever you set |
| A command you never read | it runs it | refused until you have approved it yourself |
| Reading the output of a server you started | no: it only sees what it started itself | yes: Kestro holds it, and hands it over |
| When something is refused | nothing refuses | a message naming the setting to change |
| What you can review afterwards | the shell history, if it left one | a log of its actions, if you switch it on |
| Writing code, reading a repo, committing | yes, and that is what it is for | no, that is not its job |
| Cost | free | €29.99$29.99£25.99CHF 25.90CA$40.99A$45.99 once |
Two practices compared, not two products · August 2026
What Kestro adds
The terminal stays: your assistant keeps writing code and reading your repos with it. What changes is what sits between it and your machines.
Every action is weighed by the app before it runs, not by the program the AI drives. An MCP server is a file on your disk; the decision lives in Kestro, and the setting that governs it is reachable from the window only.
This is the blind spot of an assistant handed a shell: it cannot see the dev server you started this morning, nor the migration that failed in another tab. Kestro holds them all, and hands over their lines on request.
No connection string to write into a config file, no password in a command, so nothing to revoke if the conversation goes elsewhere. The tunnel is a local door Kestro holds, and it closes it when you say so.
The message names what blocked and the exact setting that lifts it, in your language. Your assistant relays it instead of inventing an explanation: the instructions Kestro gives it say so explicitly, and also tell it not to look for a workaround.
On your machine
Your connections run from your computer to your servers, never through us.
Nothing to create, no password.
SSH, Google Cloud, AWS: Kestro uses your own tools, locally.
We don’t know what you open, or when.
Your licence renews with us. Nothing else leaves.
When the terminal is still the right tool
Better said here than discovered after paying.
Writing code, reading a repo, running tests, committing: that is your assistant’s job, it does it in a terminal, and Kestro has no reason to step in. Both live in the same session, without conflict.
If your assistant can type commands, it can type kestro. We bound our own door, not your shell: this protects against an assistant that gets it wrong or that some text manipulated, not against one you meant to lock in.
Kestro is a desktop app, on macOS 11 and later: Windows in the works. An agent running without a session has nothing to gain from it, and neither does a CI script.
Pricing
A tool you open forty times a day shouldn’t send an invoice every month.
Kestro licence
1 computer · one-time
Or download it for free first →
Refunded within 14 days, no questions asked.
Questions we get
That is the right question, and the answer is a distinction: the real risk is not an assistant deciding to harm you, it is one that picks the wrong database, or that some text it read along the way, a README, a page, a log line, manipulated. Against that one, a door that refuses and explains changes everything, because it does not insist: it relays the refusal and asks you. Against an assistant you truly want to lock in, you need a sandbox at the system level, and no application setting, ours no more than anyone’s, will do.
By default, anything labelled production: the tunnel does not open, and the object shows up in the inventory without its host, its instance or its remote port. And four things are refused whatever you set: answering a passphrase a program is waiting for, typing into the terminal of a running program, running a command you have never read and approved, opening a public port that did not already exist.
On staging and development, no: everything is open on first launch, program output included, and you have nothing to tick to get started. What you lose is the chance of a production tunnel opening without you deciding, and the day you need it, a checkbox in that tunnel’s settings opens that one alone.
No, and there is no server of ours. The MCP server ships inside the app and talks to it through a socket in your user directory, not over the network: a local TCP port would be reachable from any page open in your browser. What reaches your AI vendor is what you write to it, as when you paste text into a chat.
Any that speak MCP: Claude Desktop, Claude Code, Cursor, and others as they adopt it. Kestro ships an ordinary stdio server, launched by your client like any other, nothing is tied to one editor.
No, and it does not ask for an account either. You download, you get 7 full days. No card is asked for until you decide to buy.