Bring your own key. It stays on your box.
We host the machine, not the model. Four agent CLIs are installed and waiting; you sign each one in with the subscription or API key you already pay for, and that credential never touches our infrastructure.
What's already installed
Every workstation ships with all four, globally installed and on your PATH from first boot:
| Agent | Command | Provider account you'll need |
|---|---|---|
| Claude Code | claude | Anthropic — a Claude plan or an API key |
| Codex | codex | OpenAI |
| Gemini CLI | gemini | |
| OpenCode | opencode | Whichever provider you configure it against |
Versions are pinned in the machine image, so your box doesn't change under you mid-session. They move forward when the image does; you can also update any of them yourself — you have sudo and npm.
Signing in
There is no key field in our UI, no settings page, no vault to paste into. You authenticate each CLI the same way you would on your laptop: run it, and it walks you through its own first-run sign-in.
# the CLI prompts for its own sign-in on first run — follow it
you@holycode:~$ codex
you@holycode:~$ gemini
you@holycode:~$ opencode
# each one is independent. sign in to only the ones you use.
Each CLI stores its own credentials in its own config directory under your home folder, which lives on your persistent volume. Sign in once; it survives suspends, wakes, and reconnects.
The consequence of that, stated plainly
Because we never hold your keys, we cannot recover them. If your workstation is destroyed — at the end of the cancellation window, say — the credentials stored on it go with it. That's a one-minute re-auth, not a disaster, but it's worth knowing rather than discovering.
It also means we cannot debug your provider's billing, rate limits, or model availability for you. If claude says you're out of quota, that's between you and Anthropic. What we can debug is the machine underneath it.
Agents are terminal sessions
There is no orchestration layer here, and that's on purpose. HolyCode does not wrap, route, or parse agent CLIs — it gives them a real machine and a real terminal. So:
- Your session list is your agent list. One session per agent you have running.
- Watching an agent means reading its raw output, the same bytes it would print on your laptop.
- Steering an agent means opening its session and typing into its own prompt.
- Running several at once is just opening several sessions. Nothing gates it, on any tier.
Close the browser tab and the sessions keep running on the machine. That is the entire point of the product. What that guarantee does and does not cover is in Security basics — read that section before you trust an unattended overnight run.
Running other tools
It's your machine and you have root. Install whatever you need with apt, npm, or anything else — other agent CLIs, language runtimes, a browser stack, your own tooling. The base image is deliberately lean: Node, git, the standard shell utilities, and the four agents. Everything past that is yours to add, and it persists on your volume.