# Error codes

> Every error BitsRun returns has a stable code; find yours below to see what happened and how to fix it.

Source: https://bitsrun.com/docs/troubleshooting/errors/
Updated: 2026-11-13

Every error from the BitsRun API, the dashboard, the command line and the apps comes with the same three things:

```json
{ "error": { "code": "model_starting", "message": "Your model is starting...", "requestId": "01k9a2b3c4d5e6f7g8h9j0k1m2" } }
```

- **code** never changes, so your code can check it.
- **message** explains it in plain words.
- **requestId** identifies the request. Include it when you write to support@bitsrun.com.

The command line prints the message and the request id. Add `--json` to see the full error.

> [!TIP]
> Press <kbd>Ctrl</kbd> + <kbd>F</kbd> (or <kbd>Cmd</kbd> + <kbd>F</kbd>) and paste the code to jump to it.

## Codes by area

**Calling your endpoint:** [`unauthorized`](#unauthorized), [`not_found`](#not_found), [`payment_required`](#payment_required), [`rate_limited`](#rate_limited), [`model_starting`](#model_starting), [`model_unavailable`](#model_unavailable), [`model_preparing`](#model_preparing), [`no_capacity`](#no_capacity), [`context_too_long`](#context_too_long), [`bad_request`](#bad_request)

**Deploying a model:** [`invalid_model`](#invalid_model), [`model_not_found`](#model_not_found), [`model_gated`](#model_gated), [`model_no_access`](#model_no_access), [`hf_token_invalid`](#hf_token_invalid), [`model_importing`](#model_importing), [`imports_busy`](#imports_busy), [`import_failed`](#import_failed), [`model_custom_code`](#model_custom_code), [`model_task_unsupported`](#model_task_unsupported), [`model_choose_file`](#model_choose_file), [`model_split_unsupported`](#model_split_unsupported), [`model_quant_not_found`](#model_quant_not_found), [`model_too_large`](#model_too_large), [`gpu_too_small`](#gpu_too_small), [`invalid_gpu`](#invalid_gpu), [`invalid_name`](#invalid_name), [`invalid_idle_timeout`](#invalid_idle_timeout), [`endpoint_limit_reached`](#endpoint_limit_reached), [`credit_required`](#credit_required)

**Endpoint settings:** [`endpoint_preparing`](#endpoint_preparing), [`always_on_stop`](#always_on_stop), [`always_on_credit`](#always_on_credit), [`priority_unavailable`](#priority_unavailable), [`preset_unavailable`](#preset_unavailable), [`invalid_context`](#invalid_context), [`invalid_parallel`](#invalid_parallel), [`too_many_changes`](#too_many_changes)

**Uploads and storage:** [`invalid_upload_file`](#invalid_upload_file), [`upload_not_ready`](#upload_not_ready), [`upload_not_open`](#upload_not_open), [`upload_incomplete`](#upload_incomplete), [`upload_not_gguf`](#upload_not_gguf), [`upload_invalid_model`](#upload_invalid_model), [`upload_in_use`](#upload_in_use), [`storage_quota_reached`](#storage_quota_reached)

**Account and billing:** [`signin_required`](#signin_required), [`reauth_required`](#reauth_required), [`invalid_code`](#invalid_code), [`limit_reached`](#limit_reached), [`invalid_amount`](#invalid_amount), [`payments_unavailable`](#payments_unavailable), [`invalid_plan`](#invalid_plan), [`already_subscribed`](#already_subscribed), [`no_subscription`](#no_subscription), [`demo_read_only`](#demo_read_only), [`terms_required`](#terms_required), [`terms_outdated`](#terms_outdated), [`adult_required`](#adult_required), [`name_invalid`](#name_invalid)

**Adapters:** [`adapter_not_found`](#adapter_not_found), [`adapter_loading`](#adapter_loading), [`invalid_adapter_source`](#invalid_adapter_source), [`adapter_files`](#adapter_files), [`adapter_config_invalid`](#adapter_config_invalid), [`adapter_unsupported`](#adapter_unsupported), [`adapter_wrong_base`](#adapter_wrong_base), [`adapter_rank_too_high`](#adapter_rank_too_high), [`adapter_modules`](#adapter_modules), [`adapter_too_large`](#adapter_too_large), [`adapter_file_invalid`](#adapter_file_invalid), [`adapter_limit_reached`](#adapter_limit_reached), [`adapter_pool_full`](#adapter_pool_full), [`adapter_in_use`](#adapter_in_use), [`invalid_adapters`](#invalid_adapters), [`adapter_endpoint_unsupported`](#adapter_endpoint_unsupported), [`upload_is_adapter`](#upload_is_adapter)

**General:** [`unavailable`](#unavailable), [`not_implemented`](#not_implemented), [`internal`](#internal)


## unauthorized

HTTP status 401.

**What happened:** The request had no API key, a mistyped key, or a key that was revoked. It also appears for an account that was deleted.

**How to fix it:** Send the header `Authorization: Bearer brk_...` with a key from the API keys page. If the key was revoked or lost, create a new one. See [API keys](https://bitsrun.com/docs/api/api-keys/).


## not_found

HTTP status 404.

**What happened:** The address or endpoint does not exist for this key. This also covers deleted endpoints, endpoints in another account, paths the endpoint does not serve, and keys limited to a different endpoint. All of these answer the same way on purpose.

**How to fix it:** Copy the endpoint URL again from its card or with `bitsrun status <endpoint>`. Check the path (for example `/v1/chat/completions`) and that the key works with this endpoint.


## payment_required

HTTP status 402.

**What happened:** Your balance is $0 or below, so endpoints are stopped. The demo account always gets this code.

**How to fix it:** Add credit on the Billing page. Endpoints answer again within seconds. Set a balance email or monthly top-up so it does not happen again. See [Add credit and auto top-up](https://bitsrun.com/docs/billing/credit/).


## rate_limited

HTTP status 429.

**What happened:** Your account already has as many requests open at once as your plan allows (10, 50 or 150).

**How to fix it:** Retry after a short pause that grows each time (1, 2, then 4 seconds). Send fewer requests in parallel, or move to a bigger plan. See [Limits](https://bitsrun.com/docs/api/limits/).


## model_starting

HTTP status 200 inside a response that waited, or 503 with the `X-BitsRun-Wait: 0` header or when 4 of your requests already wait on that endpoint.

**What happened:** The endpoint was asleep and is still starting. Requests wait up to 8 minutes for it; this answer means it took longer (a very large model or a slow download), and the error arrives in the body because the response had already started. With `X-BitsRun-Wait: 0` you get it as a 503 after about 45 seconds, with a `Retry-After: 30` header.

**How to fix it:** Send the request again; the model keeps starting meanwhile. Start-up time is never billed. See [Cold starts](https://bitsrun.com/docs/get-started/cold-starts/).


## model_unavailable

HTTP status 503.

**What happened:** The model failed to start several times in a row, so BitsRun stopped waking it.

**How to fix it:** Open the endpoint in the dashboard and check its status and settings. Try a different performance preset or a larger GPU, or write to support with the request id.


## model_preparing

HTTP status 503.

**What happened:** The endpoint is still copying its model into your storage, so there is nothing to start yet.

**How to fix it:** Wait a few minutes; the card shows the copy's progress. The endpoint starts on the first request after the copy is ready.


## no_capacity

HTTP status 503.

**What happened:** Every GPU of this size was busy for 30 minutes, so BitsRun stopped trying for now. You were not billed while it waited. The `Retry-After` header says when it tries again.

**How to fix it:** Try again in a few minutes, or choose a different GPU size in the endpoint's settings. Priority (on L4 and L40S) starts on a dedicated GPU right away. See [Sleep, always-on and priority](https://bitsrun.com/docs/endpoints/sleep-and-always-on/).


## context_too_long

HTTP status 400.

**What happened:** The request is longer than the endpoint can read at once (its context, or memory length).

**How to fix it:** Shorten the conversation or start a new one, split long documents, or raise **Memory length** under [Performance](https://bitsrun.com/docs/endpoints/performance/).


## bad_request

HTTP status 400.

**What happened:** The request body is not valid JSON, or a value is out of range.

**How to fix it:** Check that the body is valid JSON with the fields the path expects. See [Chat and completions](https://bitsrun.com/docs/api/chat/#fields-you-can-send).


## invalid_model

HTTP status 400.

**What happened:** The model name is not in a form BitsRun understands.

**How to fix it:** Use an Ollama name (`qwen3:8b`), a Hugging Face repo or link (`hf:unsloth/Qwen3-8B-GGUF`, or paste the page or file link), or one of your uploads (`upload:<id>`). See [Choose a model](https://bitsrun.com/docs/models/).


## model_not_found

HTTP status 400.

**What happened:** We could not find that model on Ollama or Hugging Face.

**How to fix it:** Check the spelling and the tag (`qwen3:8b`), or the Hugging Face repo name. For a private repo, add a Hugging Face token that can read it. See [Gated and private repos](https://bitsrun.com/docs/models/gated-repos/).


## model_gated

HTTP status 400.

**What happened:** The Hugging Face repo is gated: its author asks you to accept their terms first.

**How to fix it:** Accept the terms on the repo page at huggingface.co, add your Hugging Face token on the API keys page (or run `bitsrun hf-token set`), then deploy again.


## model_no_access

HTTP status 403.

**What happened:** Your Hugging Face account does not have access to this repo yet.

**How to fix it:** Accept the terms on the repo page at huggingface.co. Some authors review requests first, so wait for their approval, then deploy again.


## hf_token_invalid

HTTP status 400.

**What happened:** Hugging Face did not accept the token you pasted.

**How to fix it:** Create a read token at huggingface.co/settings/tokens and paste it again.


## model_importing

HTTP status 409.

**What happened:** We are copying this model into your private storage. Large models take a few minutes.

**How to fix it:** Deploy again when the copy is ready. You can follow it under Uploads. The command line waits for you.


## imports_busy

HTTP status 409.

**What happened:** You already have 2 models copying into your storage.

**How to fix it:** Wait for one to finish (the Endpoints page shows progress), then try again.


## import_failed

HTTP status 502.

**What happened:** We could not copy this model from Hugging Face.

**How to fix it:** Deploy it again to retry, or use `bitsrun retry <endpoint>` for an endpoint whose copy failed. If it keeps failing, write to support with the request id.


## model_custom_code

HTTP status 400.

**What happened:** The model needs its own Python code to run (`trust_remote_code`). BitsRun never runs code that comes with a model.

**How to fix it:** Pick a version of the model that works without custom code, or a GGUF version. See [Models that cannot be deployed](https://bitsrun.com/docs/models/unsupported/).


## model_task_unsupported

HTTP status 400.

**What happened:** The repo is a kind of model BitsRun does not serve yet, such as vision, audio or reranking. Today it serves text generation and embedding models.

**How to fix it:** Pick a text generation or embedding model.


## model_choose_file

HTTP status 400.

**What happened:** The repo keeps its model files in folders, so BitsRun cannot tell which one you want.

**How to fix it:** Open the `.gguf` file you want on Hugging Face and paste its link instead.


## model_split_unsupported

HTTP status 400.

**What happened:** The repo only has GGUF files split into several parts, which BitsRun cannot serve yet.

**How to fix it:** Pick a repo that offers single-file quants.


## model_quant_not_found

HTTP status 400.

**What happened:** The repo has no file with the quantization you named.

**How to fix it:** Leave the quant empty to use Q4_K_M, or name one the repo lists, for example `hf:owner/repo:Q8_0`. See [Quantization](https://bitsrun.com/docs/models/quantization/).


## model_too_large

HTTP status 400.

**What happened:** The model is larger than the biggest GPU size BitsRun offers today.

**How to fix it:** Pick a smaller model or a more compressed version (a lower quant). See [The model sizer](https://bitsrun.com/docs/models/model-sizer/).


## gpu_too_small

HTTP status 400.

**What happened:** The model needs more GPU memory than the size you chose.

**How to fix it:** Pick a larger GPU, or leave the GPU empty and BitsRun picks the smallest one that fits.


## invalid_gpu

HTTP status 400.

**What happened:** The GPU size is not one BitsRun offers.

**How to fix it:** Use `l4`, `l40s` or `4xl4`, or leave it empty.


## invalid_name

HTTP status 400.

**What happened:** The name has characters that are not allowed, or is too long.

**How to fix it:** Use 1 to 64 letters, numbers, spaces, dots, dashes or underscores.


## invalid_idle_timeout

HTTP status 400.

**What happened:** The sleep setting is outside the allowed range.

**How to fix it:** Use a whole number of seconds from 60 to 3600 (1 minute to 1 hour). The command line also accepts `90s`, `5m` or `1h`.


## endpoint_limit_reached

HTTP status 409.

**What happened:** Your plan has no room for another endpoint. Endpoints still copying their model count too.

**How to fix it:** Delete an endpoint you no longer use, or move to a bigger plan. See [Plans](https://bitsrun.com/docs/billing/plans/).


## credit_required

HTTP status 402.

**What happened:** Uploading or copying a model needs a positive balance, because stored models are kept for you.

**How to fix it:** Add credit, then try again.


## endpoint_preparing

HTTP status 409.

**What happened:** The endpoint is still copying its model, so its settings cannot change yet.

**How to fix it:** Wait until the copy is ready, then change the setting.


## always_on_stop

HTTP status 409.

**What happened:** The endpoint is always on, so stopping it would start it again right away.

**How to fix it:** Turn off **Always on** in its settings first, then stop it.


## always_on_credit

HTTP status 402.

**What happened:** Always-on needs at least one day of credit at its rate for this GPU size.

**How to fix it:** Add credit, then turn always-on on again. See [How billing works](https://bitsrun.com/docs/billing/#always-on-and-priority).


## priority_unavailable

HTTP status 409.

**What happened:** Priority is not offered for this GPU size (4x L4).

**How to fix it:** Leave priority off for this endpoint.


## preset_unavailable

HTTP status 409.

**What happened:** That performance option does not apply to this model.

**How to fix it:** Pick one of the options the Performance panel shows.


## invalid_context

HTTP status 400.

**What happened:** The memory length is outside what this model and GPU allow.

**How to fix it:** Choose a memory length between 2,048 tokens and the most the panel offers for this GPU.


## invalid_parallel

HTTP status 400.

**What happened:** Requests at once must be between 1 and 8.

**How to fix it:** Choose a number from 1 to 8.


## too_many_changes

HTTP status 429.

**What happened:** This endpoint changed settings 6 times in the last hour.

**How to fix it:** Wait a little, then try again.


## invalid_upload_file

HTTP status 400.

**What happened:** The files are not a single `.gguf` file or a model folder, or a file is smaller than 1 MB.

**How to fix it:** Upload one `.gguf` file, or a folder with `config.json` and `.safetensors` weights. See [Upload your own model](https://bitsrun.com/docs/models/uploads/).


## upload_not_ready

HTTP status 400.

**What happened:** That upload is not finished yet.

**How to fix it:** Finish uploading it, then deploy it.


## upload_not_open

HTTP status 409.

**What happened:** This upload is already finished, so it cannot take more parts.

**How to fix it:** Start a new upload to send another file.


## upload_incomplete

HTTP status 400.

**What happened:** Some parts of the file did not arrive.

**How to fix it:** Run the upload again. `bitsrun upload` retries parts for you.


## upload_not_gguf

HTTP status 400.

**What happened:** The file is not a valid GGUF model, so it was removed.

**How to fix it:** Check that it is a `.gguf` file exported by llama.cpp or a similar tool.


## upload_invalid_model

HTTP status 400.

**What happened:** The files are not a model BitsRun can serve, so they were removed.

**How to fix it:** A model folder needs `config.json` and valid `.safetensors` weights, as saved by Hugging Face transformers or sentence-transformers.


## upload_in_use

HTTP status 409.

**What happened:** An endpoint still serves this upload.

**How to fix it:** Delete that endpoint first, then delete the upload.


## storage_quota_reached

HTTP status 409.

**What happened:** This model would go past your plan's most storage.

**How to fix it:** Delete a model you no longer use, or move to a bigger plan. See [Model storage](https://bitsrun.com/docs/billing/storage/).


## signin_required

HTTP status 401.

**What happened:** Your dashboard, app or command line session ended or was signed out.

**How to fix it:** Sign in again. On the command line, run `bitsrun login`.


## reauth_required

HTTP status 403.

**What happened:** Deleting your account needs a sign-in from the last 10 minutes.

**How to fix it:** Confirm it is you with a new email code, then try again.


## invalid_code

HTTP status 400.

**What happened:** The command line sign-in code is not valid or has expired (codes last 5 minutes and work once).

**How to fix it:** Run `bitsrun login` again.


## limit_reached

HTTP status 409.

**What happened:** You reached an account limit, such as 20 API keys or 20 command line sessions.

**How to fix it:** Delete one you no longer use, or write to support@bitsrun.com to raise it.


## invalid_amount

HTTP status 400.

**What happened:** Top-ups must be whole dollars from $10 to $10,000.

**How to fix it:** Pick an amount in that range.


## payments_unavailable

HTTP status 503.

**What happened:** Adding credit is briefly unavailable.

**How to fix it:** Try again in a few minutes, or write to support@bitsrun.com.


## invalid_plan

HTTP status 400.

**What happened:** The plan name is not one BitsRun offers.

**How to fix it:** Choose Pro or Business.


## already_subscribed

HTTP status 409.

**What happened:** You already have a plan.

**How to fix it:** Use the manage link on the Billing page to change or cancel it.


## no_subscription

HTTP status 409.

**What happened:** You do not have a plan to manage yet.

**How to fix it:** Subscribe from the Billing page first.


## demo_read_only

HTTP status 403.

**What happened:** This is the demo account, so changes are turned off.

**How to fix it:** Sign up with your own email to deploy models and add credit.


## terms_required

HTTP status 403.

**What happened:** You have not accepted the current Terms and Acceptable Use Policy yet. Viewing and deleting still work; other changes wait.

**How to fix it:** Open the dashboard, review the terms on **Before you start**, and accept them.


## terms_outdated

HTTP status 409.

**What happened:** Our terms changed while the page was open, so the version you accepted is not the current one.

**How to fix it:** Reload the page, read the current version and accept it.


## adult_required

HTTP status 400.

**What happened:** BitsRun is for people 18 or older, and the age box was not ticked.

**How to fix it:** Tick the box to confirm you are 18 or older, then continue.


## name_invalid

HTTP status 400.

**What happened:** The first or last name has characters we do not accept or is too long.

**How to fix it:** Use letters, spaces, hyphens, apostrophes or periods, up to 64 characters each. Leave the last name empty if you have only one name.


## adapter_not_found

HTTP status 404.

**What happened:** The `model` field named an adapter id (`lora-...`) that is not yours, is not ready yet, or is not added to this endpoint.

**How to fix it:** Check the id on the Adapters page. An adapter that is still copying shows its progress there. Add it to the endpoint in its settings.


## adapter_loading

HTTP status 503.

**What happened:** Your adapter is still being copied onto the machine that serves the endpoint.

**How to fix it:** Send the request again in about 15 seconds.


## invalid_adapter_source

HTTP status 400.

**What happened:** The adapter source is not a Hugging Face repo or one of your uploads.

**How to fix it:** Enter `hf:owner/repo`, a Hugging Face link, or `upload:<id>`.


## adapter_files

HTTP status 400.

**What happened:** The repo or upload does not have `adapter_config.json` and `adapter_model.safetensors` at the top. Adapters saved only as `.bin` files are not accepted.

**How to fix it:** Save the adapter again with safetensors (PEFT's `save_pretrained` does this by default), then register it again.


## adapter_config_invalid

HTTP status 400.

**What happened:** `adapter_config.json` is not valid JSON or is missing `peft_type`, `base_model_name_or_path`, `r`, `lora_alpha` or `target_modules`.

**How to fix it:** Save the adapter again with PEFT, then register it again.


## adapter_unsupported

HTTP status 400.

**What happened:** The adapter is not a plain LoRA (for example DoRA, prompt tuning, `modules_to_save`, bias training or per-layer settings).

**How to fix it:** Train a plain LoRA, then register it again.


## adapter_wrong_base

HTTP status 400.

**What happened:** The adapter was trained on a model we do not serve adapters for. Today that is Qwen3 8B only.

**How to fix it:** Train on `Qwen/Qwen3-8B` (or a copy such as `unsloth/Qwen3-8B`).


## adapter_rank_too_high

HTTP status 400.

**What happened:** The adapter's rank (`r`) is above 64, the most we serve.

**How to fix it:** Train it again with `r` set to 64 or less.


## adapter_modules

HTTP status 400.

**What happened:** The adapter changes layers we cannot serve.

**How to fix it:** Set `target_modules` to names from `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj` and `down_proj`.


## adapter_too_large

HTTP status 400.

**What happened:** The adapter is larger than 1 GB, the most we accept.

**How to fix it:** Use a rank of 64 or less on the attention and MLP projections; that always fits.


## adapter_file_invalid

HTTP status 400.

**What happened:** `adapter_model.safetensors` does not match its `adapter_config.json`, so we removed it.

**How to fix it:** Save the adapter again with PEFT, then register it again.


## adapter_limit_reached

HTTP status 409.

**What happened:** Your account holds as many adapters as it can.

**How to fix it:** Delete one you no longer use, or write to support@bitsrun.com to raise the limit.


## adapter_pool_full

HTTP status 409.

**What happened:** We cannot take more adapters for this model right now.

**How to fix it:** Try again later, or write to support@bitsrun.com and we will make room.


## adapter_in_use

HTTP status 409.

**What happened:** One of your endpoints uses this adapter.

**How to fix it:** Remove it from that endpoint's settings first, then delete it.


## invalid_adapters

HTTP status 400.

**What happened:** The endpoint's adapter list is not valid.

**How to fix it:** List up to 4 of your adapter ids, each once, or an empty list to remove them.


## adapter_endpoint_unsupported

HTTP status 400.

**What happened:** Adapters work only on endpoints that run Qwen3 8B with vLLM, deployed from `hf:Qwen/Qwen3-8B` or `hf:Qwen/Qwen3-8B-FP8`.

**How to fix it:** Deploy one of those for your adapters, or remove the adapters from this endpoint first.


## upload_is_adapter

HTTP status 400.

**What happened:** This upload is a LoRA adapter, not a model.

**How to fix it:** Register it on the Adapters page, add it to your Qwen3 8B endpoint, and call it by its adapter id.


## unavailable

HTTP status 503.

**What happened:** The service is briefly unavailable.

**How to fix it:** Try again shortly. If it keeps happening, write to support with the request id.


## not_implemented

HTTP status 501.

**What happened:** This feature is not available yet.

**How to fix it:** Check these docs for what is available today, or write to support if you need it.


## internal

HTTP status 500.

**What happened:** Something went wrong on our side.

**How to fix it:** Try again. If it happens again, write to support@bitsrun.com with the request id.
