Quickstart
Create an OpenLLM account, set up your vault, copy your key, send your first API request on the included models, and run Claude Code through OpenLLM.
By the end of this page you have an OpenLLM key, a working API request, and Claude Code running through OpenLLM.
Before you begin
- A Google or GitHub account, or an email address, to sign in with.
- A terminal with
curl. - For the CLI steps, a Mac or a Linux machine. There is no Windows build.
You don't need a provider account or an API key. Every account includes a monthly allowance on
hosted models, and on a new account the built-in ultra, plus, and lite chains start with
those models.
Sign in
Go to https://www.openllm.sh/sign-in and select Continue with Google or Continue with GitHub. To use an email address instead, select Create account and sign up with your email and a password.
You land on the vault setup screen.
Set up your vault
The vault encrypts your provider credentials and keys in your browser. Choose how this device opens it:
- Where your browser supports passkeys, select Use Touch ID (or your device's own method).
- Otherwise, or if you prefer, select Use a PIN instead and set a 4- or 6-digit PIN.
When the vault is ready, OpenLLM creates an API key named default and opens Get started.
You save your 12-word recovery phrase from the dashboard afterwards: Get started shows Save phrase until you do. OpenLLM can't recover the phrase for you. See Recovery phrase.
Copy your key
On Get started, the Your key row shows your default key, masked. Select the copy
button next to it.
You can copy the key again at any time from Devices & keys while your vault is unlocked. Anyone who holds the key can use your connected providers, so treat it like a password. See If a key leaks.
Make your first request
Replace sk-llm-YOUR_KEY with your key and run:
curl https://www.openllm.sh/v1/chat/completions \
-H "Authorization: Bearer sk-llm-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ultra",
"messages": [{"role": "user", "content": "Say hello from OpenLLM."}]
}'You get an OpenAI-style chat completion back. ultra is a chain: OpenLLM tries its models in
order until one answers. To see which model answered, add -i to the command and read the
x-openllm-resolved-model response header.
Install the CLI
Run the installer with your key:
curl -fsSL https://www.openllm.sh/install | OPENLLM_API_KEY='sk-llm-YOUR_KEY' bashThe script installs openllm, starts the local daemon paired with your key, and installs any
missing subscription CLIs, such as Claude Code, in the background. Open a new terminal so
openllm is on your PATH, then run:
openllm statusYour machine now appears as a device in Devices & keys. For details and other options, see Install.
Run Claude Code through OpenLLM
openllm claudeClaude Code starts with OpenLLM applied to this session only. Your own Claude Code settings
don't change, and the session uses ultra by default. If Claude Code isn't installed yet, wait
for the background install to finish (it logs to ~/.openllm/cli-install.log) and run the
command again. See Claude Code.
Check that it works
Send a one-shot prompt from the CLI. It uses ultra unless you pass -m <model>:
openllm -p "Say hello from OpenLLM."The reply prints in your terminal.
Next steps
Last updated on
Overview
OpenLLM routes Claude Code, Codex and your other tools to your subscriptions, API keys, local models and included models through one key, with fallback.
How it works
How OpenLLM routes a request through the hosted gateway or the daemon on your device, falls back along a chain, and what its servers can and cannot see.