Troubleshooting
Acest conținut nu este încă disponibil în limba selectată.
Most problems fall into one of four groups: the command-line client, signing in to the API, getting onto a blade, and credits. Find the symptom below.
The command-line client
Section titled “The command-line client”pipx install rb-cli fails with No matching distribution found
Section titled “pipx install rb-cli fails with No matching distribution found”The rb client is not currently published, so it cannot be installed. Nothing
you need depends on it: start self-serve sessions in the web app (see the
Quickstart) and use the
REST API for events, event blades, credits and inference.
The CLI reference maps each rb command to its equivalent.
An installed copy says it cannot reach the API
Section titled “An installed copy says it cannot reach the API”Older releases default to an API path that no longer exists.
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.
Signing in
Section titled “Signing in”Invalid token or Token expired
Section titled “Invalid token or Token expired”Access tokens last an hour. Get a new one with POST /v1/auth/refresh/ and your
refresh token; if that fails too — you have been away for more than 30 days or
your sessions were revoked — start
the device flow again.
The verification link shows JSON instead of a sign-in page
Section titled “The verification link shows JSON instead of a sign-in page”The verification_uri returned by api.razorbridge.eu points at the API host,
which does not serve the approval page. Open
https://razorbridge.eu/hub/compute/auth/verify/ instead and type the code
there. Approval does not require the browser to be on the same machine as the
client.
Device code expired
Section titled “Device code expired”The code is valid for 15 minutes. Start the device flow 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 count resets an hour after the first attempt in the window.
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 the device flow again.
Getting onto a blade
Section titled “Getting onto a blade”My session is not in the API’s blade list
Section titled “My session is not in the API’s blade list”Self-serve sessions are managed only in the web app; GET /v1/blades/ and the
other blade endpoints cover event blades. Use SSH on the session’s row under
GPU Sessions.
No blade for my event yet
Section titled “No blade for my event yet”Blades are created shortly before the event’s start time — about 30 minutes
ahead — not when you join. GET /v1/events/<slug>/
shows the start time, and its blade field is null until yours exists.
Credentials not yet assigned, or SSH details aren’t available yet
Section titled “Credentials not yet assigned, or SSH details aren’t available yet”The blade exists but is not finished. Wait a minute or two and look again; connect
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, fetch the credentials again rather than reusing an old command — a replaced blade has different ones.
A 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. A self-serve blade that fails a health check is stopped instead; start a new session.
It asks for a password every time
Section titled “It asks for a password every time”That is expected: blade access is password-based, so ssh, scp, rsync and
editors all prompt. Install sshpass if you need a fully non-interactive flow.
VS Code or another editor cannot find the blade
Section titled “VS Code or another editor cannot find the blade”Add a Host block to ~/.ssh/config with the blade’s IP as HostName, and its
Port and User — see the tip in the Quickstart.
Then use Remote-SSH: Connect to Host and pick that alias. Update 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. 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)”Check Credits in the web app. Remember that a running session holds the cost of its whole duration, so your available credit can be lower than the balance shown.
- 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 whose maximum possible cost your available credit cannot cover 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, and against your available credit — balance minus what running sessions already hold. Choose a shorter duration, a cheaper GPU, or ask for a grant.
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 need do nothing more.
GET /events/ABCD-1234/ says the event does not exist
Section titled “GET /events/ABCD-1234/ says the event does not exist”Event detail takes the event slug, not the join code. Get the slug from
GET /v1/events/.
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:
- 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.
razorBridge AI Gateway
Section titled “razorBridge AI Gateway”Invalid API key
Section titled “Invalid API key”Check which credential you sent. /gate/chat/completions and /gate/models want a
AI Gateway key beginning rb-gate-; everything else wants the session token. Also check
the key has not been revoked under Inference → API keys. An installed
rb client’s rb gate models always fails this way, because it sends the
session token; use
the curl form.
Streaming is not supported by this endpoint (400)
Section titled “Streaming is not supported by this endpoint (400)”Streamed responses are not available. Send the request without "stream": true.
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”- Add
-vto acurlcall to see the full 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.