Troubleshooting
Acest conținut nu este încă disponibil în limba selectată.
Start with:
rb doctorIt prints the client version, the API address in use, where credentials live, whether you are signed in, and whether the API answered — which is enough to tell an installation problem from an authentication problem from an outage. It needs no sign-in and never disturbs your stored credentials.
The CLI itself
Section titled “The CLI itself”rb: command not found
Section titled “rb: command not found”pipx installed the client but its binary directory is not on your PATH.
pipx ensurepathThen open a new terminal, or source ~/.zshrc / source ~/.bashrc. On macOS the
binary lands in ~/.local/bin; check with echo $PATH.
Every command says it cannot reach the API
Section titled “Every command says it cannot reach the API”Usually the API address, not your network. The release currently on PyPI defaults to an address that no longer resolves.
export RB_API_URL=https://api.razorbridge.eu/v1rb doctorAdd the export to your shell profile. If rb doctor still cannot reach the API,
check whether a proxy or campus firewall is in the way — any HTTP response at all,
including a 401, counts as reachable.
WARNING: Token file … has permissions …
Section titled “WARNING: Token file … has permissions …”chmod 600 ~/.config/rb/tokenThe client refuses to be quiet about a credentials file others can read.
Signing in
Section titled “Signing in”Not logged in or Session expired
Section titled “Not logged in or Session expired”Access tokens last an hour and normally refresh themselves; a refresh can fail if you have been away for more than 30 days or your sessions were revoked.
rb auth loginThe browser did not open
Section titled “The browser did not open”rb auth login prints the URL and the code before trying to open anything. Copy
the URL to a browser — including a browser on a different machine — and type the
code there. Nothing about approval requires the browser to be on the same host as
the CLI.
Device code expired or the CLI gave up waiting
Section titled “Device code expired or the CLI gave up waiting”The code is valid for 15 minutes and the CLI waits 5. Both mean the same fix: run
rb auth login again and approve it promptly.
Too many requests while signing in
Section titled “Too many requests while signing in”Sign-in start is limited to 10 attempts per hour from one IP address — easy to hit from a shared campus address during a workshop. Wait, then try again; the limit is a rolling hour.
Invalid code on the authorization page
Section titled “Invalid code on the authorization page”Codes are eight characters and case-insensitive on entry. Code already used means
that code has been redeemed; start a new rb auth login.
Getting onto a blade
Section titled “Getting onto a blade”No running blades
Section titled “No running blades”Nothing is provisioned for you yet.
- In an event? Blades are created shortly before the event’s start time —
about 30 minutes ahead — not when you join. The CLI names your next event and its
start time when it can.
rb event info <slug>shows the same. - On your own? Start a session in the web app under GPU Sessions; the CLI cannot start one.
Credentials not yet assigned
Section titled “Credentials not yet assigned”The blade exists but is not finished. Wait a minute or two and check:
rb blade statusConnect once the status is running. pending and provisioning both mean not
yet.
Connection refused, or SSH hangs, on a running blade
Section titled “Connection refused, or SSH hangs, on a running blade”The machine is up but its SSH service may still be starting. Wait 30 seconds and
retry. If it persists, re-fetch the credentials — rb blade ssh gets fresh ones
every time, and a replaced blade has different ones:
rb blade statusrb blade sshA blade that fails a health check mid-event is terminated and replaced. The replacement has a new IP, port and password, and an empty disk.
It asks for a password every time
Section titled “It asks for a password every time”That is expected: blade access is password-based. rb blade ssh, rb run and
rb blade scp supply the password automatically if sshpass is installed, and
otherwise print it for you to paste. Install sshpass for a fully non-interactive
flow. An SSH config block from rb blade config will always prompt, because your
SSH client asks, not the CLI.
VS Code or another editor cannot find the blade
Section titled “VS Code or another editor cannot find the blade”rb blade configCopy the printed Host block into ~/.ssh/config — the command prints, it does not
write the file. Then use Remote-SSH: Connect to Host and pick the rb-… alias.
Re-run it after a blade is replaced: the host and password will have changed.
File transfers do not work on Windows
Section titled “File transfers do not work on Windows”scp and rsync are not native. Install WSL and work from the WSL terminal, where
rb blade scp and plain scp both work. The OpenSSH optional feature in Windows
also provides scp.
Credits and quotas
Section titled “Credits and quotas”Insufficient credits (HTTP 402)
Section titled “Insufficient credits (HTTP 402)”rb credits- In an event? The organizer’s account pays for event blades, so this is about your own sessions or inference calls. Ask your organizer for a key or a session rather than credit.
- On your own? Credit is granted on request — email hello@razorbridge.eu. There is no self-serve purchase yet.
An inference call with no balance returns 402 immediately rather than running.
Starting a session is refused with an amount
Section titled “Starting a session is refused with an amount”The check is up front and for the whole duration you asked for, not for a minute of it. Choose a shorter duration, a cheaper GPU, or top up.
You already have N active GPU sessions
Section titled “You already have N active GPU sessions”A new account may run two self-serve blades at once. Stop one, or ask for the limit to be raised.
This session would exceed your … monthly spend cap
Section titled “This session would exceed your … monthly spend cap”A new account is capped at €50 of spend per calendar month. The message names the cap and how much of it you have used. Ask KlusAI to raise it — for a course, do this before the term starts.
A session stopped before its duration was up
Section titled “A session stopped before its duration was up”Two possibilities, both deliberate: its accrued cost reached your available balance, or someone chose Stop. Nothing else stops a running blade early — idleness in particular does not.
Self-serve GPU sessions are temporarily paused for maintenance
Section titled “Self-serve GPU sessions are temporarily paused for maintenance”New sessions are being refused on purpose while something is fixed. Blades already running are unaffected. Try again shortly.
Events
Section titled “Events”Event not found when joining
Section titled “Event not found when joining”The code did not match. Codes are four letters, a hyphen and four digits
(ABCD-1234) and are not case-sensitive, so it is normally a transcription slip or
a code from a different environment. Check it with your organizer.
Registration closed, Event is full, Already registered
Section titled “Registration closed, Event is full, Already registered”In order: the event has ended or is in a state that no longer accepts
registrations; the participant cap is reached — the organizer must raise it by
creating capacity, since the cap is not editable; or you are already on the roster
and can go straight to rb blade list.
rb event info ABCD-1234 says the event does not exist
Section titled “rb event info ABCD-1234 says the event does not exist”That command wants the event slug, not the join code, despite what its help
says. Get the slug from rb event list.
The event start time passed and nothing was provisioned
Section titled “The event start time passed and nothing was provisioned”Check its status on the event page or with rb event info <slug>:
- Awaiting approval — the chosen GPU was unavailable and only a more expensive option would work, so razorBridge is waiting rather than overspending. The offer expires after about an hour.
- Expired — that offer was not answered in time. Nothing was charged and nothing was provisioned.
- Failed — the organizing account could not cover the estimated cost, or no capacity could be found at all.
All three are organizer problems, and the first two are avoided by funding the account with headroom above the estimate.
The Extend button does nothing
Section titled “The Extend button does nothing”It is not wired up yet. Extend through the API instead — see Run an event.
Inference gates
Section titled “Inference gates”Invalid API key from rb gate models
Section titled “Invalid API key from rb gate models”The models endpoint authenticates with an inference gate key, but the CLI sends your login session. Use the curl form in Inference gates.
Invalid API key from your own code
Section titled “Invalid API key from your own code”Check which credential you sent. /gate/chat/completions and /gate/models want a
gate key beginning rb-gate-; everything else wants the session token. Also check
the key has not been revoked: rb gate keys list shows only active keys.
Model '…' not allowed for this key (403)
Section titled “Model '…' not allowed for this key (403)”The key was created with a restricted model list. Use an allowed model, or create a key without restrictions.
Key budget limit exceeded (402)
Section titled “Key budget limit exceeded (402)”That key has spent its lifetime cap. Create another, or ask for the cap to be raised.
Still stuck
Section titled “Still stuck”- Re-run
rb doctor, andrb --verbose <command>to see the HTTP exchange. - For anything about a specific event — a missing blade, a code that will not work, a session that ended early — your organizer can see more than you can.
- For platform problems, email hello@razorbridge.eu.