VandoVandoDocs

Claude Code in 5 to 8 minutes

At the end, Claude Code runs a command with one of your secrets after you tap Give on your phone, and its risky commands wait for your OK. The first time takes 5 to 8 minutes, with the Vando app already set up on your phone.

Early access

The vando command isn’t published as a package yet, so today it runs from a copy of the Vando code. Everything else on this page works now.

Where you end up

You ask Claude to run something that needs a key. Claude runs:

vando run --secret STRIPE_KEY -- node scripts/refund.js

Your phone shows Give 1 secret to a program, with the command and the folder it runs in, and a choice of how long: Once, 1 hour, 8 hours, 1 day or Custom. You tap Give and use your fingerprint. The program gets STRIPE_KEY in its environment. Claude never sees the key: where the program prints it, Claude sees [vando:STRIPE_KEY] instead.

And when Claude tries a force push, an rm -rf or a deploy, it stops and your phone shows the command. You tap Run or Deny.

An ask to run a command, with Run and Deny

How long it takes

5 to 8 minutes the first time, if the Vando app is already set up on your phone with its recovery kit. Add about 5 minutes if you still have to install the app and sign up (your passwords in Vando). Most of the time goes on fetching the key from the provider (logging in to Stripe, say) and on reading what each step asks.

After that, a new ask is one tap and your fingerprint. While Claude still has access, there is nothing to do at all.

Before you start

  • The Vando app on your phone, signed in, with your recovery kit made.
  • Node 22 or later on your computer. node -v tells you.
  • A copy of the Vando code, with its packages installed: run pnpm i in it once.
  • Claude Code, open in the project you want to set up.

Paste this into Claude Code

The quickest way: paste this block into Claude Code. Put the folder of your copy of the Vando code where it says [PATH]. Claude runs each step with you and stops when it needs you or your phone. The same block is on Connect Claude Code.

Paste this into Claude Code
Set up Vando in this project with me, step by step. The full steps are at https://getvando.com/docs/for-agents.md
1. Find the vando command: if `command -v vando` finds it, use `vando`; otherwise use `node [PATH]/packages/mcp/bin/vando.mjs`, where [PATH] is my copy of the Vando code (ask me if you don't know it). Run `vando` on its own: it says what this computer needs next.
2. If it says "not connected", stop and ask me to run the connect command my phone shows (Connections, Connect an AI, Claude Code) in my own terminal. It asks me to compare words with my phone, so you can't run it for me. When I say it's done, run `vando` again.
3. If this project has .env files, run `vando init --dry-run` and show me the names (it never shows values). I'll run `vando init` myself.
4. Run `vando setup` and show me what it printed.
5. Run `vando doctor` and tell me anything it says to fix.
Never ask me to paste a secret into this chat, and never open my .env files. When a command needs a secret, run it as `vando run --secret NAME -- <command>` (or `vando run -- <command>` in a project after `vando init`), and I'll approve it on my phone. To save a new one, run `vando add NAME`: it opens a page in my browser.

Claude Code asks before it runs each command. Choose Yes. Never choose “don’t ask again” for vando run: it would let any command run through vando run skip Claude Code’s own check.

The steps

What the paste block does, if you’d rather run it yourself.

Find the command

In a terminal, in your copy of the Vando code:

alias vando="node $PWD/packages/mcp/bin/vando.mjs"
vando

vando on its own says where this computer stands and the one thing to do next:

vando · not connected

Next:
    vando connect <code>
  Connect this computer to the Vando app on your phone. The code is in the app:
  Connections → Connect an AI. Run it in your own terminal: it asks you to
  compare words with your phone.

The commands that matter: vando connect <code> · vando setup · vando init ·
vando add NAME · vando run -- <command>.
vando help shows them all · vando doctor checks this computer.

Run vando again after each step: it always names the next one.

Connect, in your own terminal

On your phone: Connections → Connect an AI → Claude Code. The screen shows the command to run, with an 8-letter code and Vando’s address, and a Copy button. Run it exactly as shown, in your own terminal (not through Claude):

vando connect --api https://… --code K7M2XQ4B

Keep the --api part: without it, the command tries an address that isn’t live yet and gives up after 2 minutes.

Your phone shows six words; the terminal shows three numbered sets of six words. Type the number of the set your phone shows, or n if none match. Then tap Connect on your phone. The terminal says:

Connected as "Claude Code".
Claude Code on your computer wants to connect: the six words to compare

Why the words.

Bring a project’s secrets, if it has .env files

If your project keeps secrets in .env files, Claude can show you what is in them by name, never by value:

vando init --dry-run

Then you run vando init yourself, and your phone saves them all with one tap. A whole project has the details. No .env files? Skip this: your phone offers to add a secret the first time a command asks for it, or Claude runs vando add STRIPE_KEY, which opens a page in your browser where you paste it.

Tell Claude Code how to ask

In the project folder:

vando setup

It says what it writes, then writes it:

  • AGENTS.md: the note that tells Claude how to ask for secrets (and @AGENTS.md in CLAUDE.md, so Claude reads it).
  • .claude/settings.json: Claude Code may run vando, vando status, vando doctor, vando request and vando grants without asking; vando run, vando get and vando env always ask.
  • The guard: risky commands, and the command inside vando run, wait for your phone.

It ends with:

Done. Ask Claude to run your command; it will use vando run --secret NAME --
<command>. When Claude Code asks to run vando run, choose Yes, not 'don't ask
again'.

Check it

vando doctor

One line per check (Node, the connection, the keys, Vando’s server and your clock, the guard, the note, Claude Code’s rules). Every problem has the command that fixes it under it. When everything is right, it ends with All good.

Ask Claude to run your command

Ask in plain words: “Run the refund script.” Claude runs it through vando run, Claude Code asks you to allow it (choose Yes), your phone shows the ask, you pick how long and tap Give. Give one secret for a time explains the choices.

What success looks like

  • vando on its own starts with vando · connected as "Claude Code".
  • vando doctor ends with All good.
  • After the first Give, vando grants lists what this computer can use and until when.
  • A risky command in Claude Code (try asking it to force push a branch you don’t care about) stops and waits for your phone.

The claude mcp add step on the Connect Claude Code page is optional. It gives Claude a tool to ask for a secret in the conversation itself; vando run keeps the secret out of the conversation.

What can go wrong

“Not connected: there is no terminal to check the words at, and nothing was sent.”
Claude ran the connect step. Run it in your own terminal: it asks you which words your phone shows, and Claude can’t answer that for you.
“Can’t reach Vando at …”
Run the command your phone shows exactly as shown, with its --api part. VANDO_DEBUG=1 in front shows each try.
“… couldn’t start: its packages aren’t installed.”
Run pnpm i in your copy of the Vando code, then try again.
“Waiting for your phone. Run the same command again to continue.”
Your phone didn’t answer within 45 seconds (exit code 75). The ask is still in your Inbox for 10 minutes: approve it, and run the same command again. No notification came? Open Vando and check its notification setting.
“You said no on your phone. Nothing was run.”
Exit code 77. For the next 5 minutes the same ask is refused without ringing your phone, so a looping AI can’t keep asking.
“Claude Code no longer asks before commands run through vando run”
Someone chose “don’t ask again” for vando run. vando doctor and vando status show where the rule is: remove it, then run vando setup again.

Every message the command prints, and what to do: the errors reference. More: When it goes wrong and the honest limits.

Last verified

On this page