The Cloud SQL Auth Proxy, without the command.

Kestro does not replace Google’s proxy: it runs it. Same binary, your gcloud credentials, same security. But from the menu bar, with the port checked before it even tries, recovery when your Mac wakes, and the exact command in plain sight.

macOS 11+ · Windows soon

The same work, twice

On the left what you type. On the right, what Kestro types for you.

This is not a rewrite: it is the line Kestro runs, exactly as it shows it to you in the tunnel’s settings.

Today

$ gcloud config configurations activate staging
$ cloud-sql-proxy my-project:europe-west1:pg-staging \
      --port 5432 --address 127.0.0.1 --gcloud-auth
 
Authorizing with gcloud user credentials
Listening on 127.0.0.1:5432
 
# the Mac goes to sleep
connection refused
# …and back up the history you go, looking for the command

With Kestro

One switch, in the menu bar.
 
The port was checked before it tried.
The gcloud configuration travels with the tunnel.
On wake it comes back, if you asked it to.
 
# and if you would rather keep the keyboard:
$ psql "$(kestro url pg-staging)"

Point by point

What changes, and what does not.

cloud-sql-proxy aloneWith Kestro
The program that opens the tunnelcloud-sql-proxy, by GoogleThe same one, launched by Kestro
Your credentialsgcloud’sgcloud’s, untouched
Opening ita command to find againa switch, or kestro start
The local port is already takenthe error arrives on launch“free” or “taken”, before you confirm
When the Mac wakesrelaunch it by handcomes back on its own, if you ticked it
Several gcloud configurationsactivate the right one, then launchthe configuration is attached to the tunnel
The command being runyou are the one writing itshown as-is, and replaceable
A database that is not on Cloud SQLanother tool, another commandthe same list: SSH, bastion, EC2, Google VM
In CI, on a serveryes, that is what it is forno, Kestro is a desktop app
Costfree, Apache 2.0€29.99$29.99£25.99CHF 25.90CA$40.99A$45.99 once

Checked on 4 August 2026 · cloud-sql-proxy v2

What Kestro adds

Four things a command cannot do.

None of them touches how the tunnel opens: Google’s proxy is still the one doing the work. They are about everything around it.

  1. It checks first

    Is the local port free? Kestro says so while you are filling in the form. The proxy can only find out by trying to bind to it, which is to say, too late.

  2. It holds the door

    A closed lid, a network that changes: the proxy dies and you go hunting for the command. Kestro brings it back when the machine wakes and when the network returns, on the tunnels where you asked for it. Never by default: a door onto production does not reopen on its own.

  3. It hides nothing

    The exact line it runs is shown in the tunnel’s settings, and you can replace it with your own. What you read is what runs: there is no translation between the two, and nothing to guess the day something goes wrong.

  4. It puts everything in one list

    Cloud SQL, a Google VM through IAP, an EC2 through Session Manager, a database behind an SSH bastion: four tools, four commands. One list, and the same switch.

CodeFileView14:43
Kestro1 tunnel open · 1 service isn’t answering
Filter tunnels⌘FNew tunnel
bastion-prodprodSSHshellbastion.kestro.internalclosed
notes-dbstagingPostgreslocalhost:5432pg-staging.eu-west-1.rdsopen
run-eventsprodMongolocalhost:27017mongo-prod.atlasclosed
⌘K palette↑↓ navigate␣ togglecloses if you click elsewhere
run-tracker , zsh
Applying 2 migrations to shop-staging-db…
20240612_add_orders_index ok
done in 1.4s
run-tracker , zsh
# every door, and which ones are open
tunnel notes-db ouvert :5432
tunnel run-events ouvert :27017
tunnel bastion-prod fermé

On your machine

Everything stays with you.

Your connections run from your computer to your servers, never through us.

  • No account

    Nothing to create, no password.

  • Your keys stay put

    SSH, Google Cloud, AWS: Kestro uses your own tools, locally.

  • No usage statistics

    We don’t know what you open, or when.

  • One exception

    Your licence renews with us. Nothing else leaves.

When the proxy alone is enough

Three cases where Kestro is of no use.

Better said here than discovered after paying.

  • In CI, or on a server

    Kestro is a desktop app: it needs a session to be open. In a container, in a CI job, in a systemd unit, the bare proxy is what you want, and nothing else.

  • On Linux, or on Windows today

    Kestro only runs on macOS 11 and later. The Windows version is in the works; there is no Linux version planned.

  • If you open one database a month

    A command you rarely type costs nothing. Kestro pays for itself in gestures saved: it starts being worth something around the third door, or the third time your machine wakes in a day.

Pricing

You pay once. That’s it.

A tool you open forty times a day shouldn’t send an invoice every month.

Kestro licence

€29.99$29.99£25.99CHF 25.90CA$40.99A$45.99€39.99$39.99£34.99CHF 33.90CA$54.99A$61.99 · Launch offer · upcoming price

1 computer · one-time

  • Every feature of the app, no tiers, no “Pro” edition
  • One year of updates included, then renew if you want to
  • The app stays yours, renewed or not
  • One key, the same on all your computers
  • Switch machines whenever you like, no limit
  • No account to create: the key arrives by email

Or download it for free first →

Refunded within 14 days, no questions asked.

Questions we get asked

Does Kestro replace the Cloud SQL Auth Proxy?

No, it runs it. Kestro executes the cloud-sql-proxy binary you installed, with the instance, the port and your gcloud credentials: exactly the command you would have typed, and it is shown in the tunnel’s settings. There is no reimplementation, no in-house protocol, no relay: the path between your machine and your database is Google’s.

Do I have to install it myself?

Yes, and Kestro tells you rather than failing quietly: when the tool is missing it names it and offers the install line (brew install cloud-sql-proxy). The same goes for gcloud, aws and the Session Manager plugin. Kestro never downloads a binary on your behalf.

Do my Google credentials go through you?

No, and Kestro never sees any of them. The proxy borrows gcloud’s credentials, already on your machine: gcloud carries the authentication, Kestro only launches the program. Nothing passes through our servers, and since there is no account to create, we do not even know that you are opening a tunnel.

What if I have several gcloud configurations?

That is exactly the case that wastes time on the command line: activate the right configuration, launch the proxy, then remember to put it back. In Kestro the configuration is attached to the tunnel: it travels with it, and two tunnels onto two different projects open side by side without switching anything.

I want to keep my own command, with my own flags.

You can: a tunnel’s command can be replaced with yours, and Kestro then runs the line you wrote. That is useful for a flag the interface does not expose, or for a setup of your own. Everything else keeps working, including recovery and the state in the menu bar.

What happens if I uninstall Kestro?

Nothing in particular: your gcloud, your cloud-sql-proxy and your ~/.ssh/config are where they were, untouched. Kestro writes to none of them and copies their contents nowhere. You go back to typing your commands as before.

Does the trial ask for a card?

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.