Reference · the bettik command
The bettik command
bettik is the same tools Claude uses, from a terminal: for scripts, for demos, and for the day the front door is shut. It is an MCP client and nothing more. Its commands are the server's tools, read from the server each time; one command is one tool call, and a tool's help is the description Claude reads. Anything it can do, you can also ask Claude to do.
It is not published yet. Build it from the repository: npm ci --ignore-scripts && npx tsc -b packages/cli, then run node packages/cli/dist/main.js.
Signing in
bettik login
This opens your browser at www.bettik.ai, the same sign-in as the connector. The sign-in lasts 30 days and renews itself. If the browser is on another device, it ends on a page that does not load: paste that page's address into the terminal. bettik logout forgets the sign-in.
Calling a tool
bettik every tool, with a line on what it does
bettik environment-status --help what a tool does and what it takes
bettik environment-status --box home a call: arguments are --flags
bettik stop-environment catan a required argument needs no flag
bettik install-environment --json '{...}' the arguments as JSON
Flags take hyphens or underscores: --environment-id and --environment_id are the same.
A tool that destroys something asks first, unless you pass --yes. Without a terminal to ask in, it refuses unless you pass --yes. --raw prints the tool's result as JSON. The exit status is 0 on success, 1 when the tool fails, and 2 for a mistake on the command line.
When Bettik is down
If mcp.bettik.ai does not answer, go straight to the box:
bettik tunnel home.<handle>
This runs ssh to home.<handle>.bettik.dev and forwards a local port to the box's own MCP server. Leave it running. While it is open, every bettik command goes through it.
- Your ssh key is the credential: anyone who can ssh into the box can already do anything on it.
- The CLI tells the box who you are using the person id it saved at your last sign-in, so sign in once while things are up.
- On an older box, the ssh user is your box's name, not
user: add--user <name>. It is remembered for that box. --via hostedor--via tunnelchooses the way in, instead of lettingbettikpick.
Through the tunnel there is no box argument: the box is the one at the other end. When Bettik is down covers reaching an environment's own port.