> Fetch the index of every Tonbo docs page as Markdown at https://tonbo.dev/llms.txt

# Troubleshooting: managing Machines

Last updated 2 November 2026

> Machines are not open yet. These pages describe Machines as they will open; until then, a create answers [`region_not_offered`](https://tonbo.dev/docs/machines/troubleshooting/manage.md#region_not_offered) (422), “Machines are not offered in any region yet.”

Look up the answer the CLI or the API gave when it refused to create, change or delete a Machine: why, and what to do.

The refusal names its code in the answer’s `code`, and the CLI prints it.

| Answer | Why | What to do |
| --- | --- | --- |
| `422 region_not_offered` | Machines do not run in the region named, or in your account’s default region. | Name a region where they run with `--region` (see [Regions](https://tonbo.dev/docs/machines/manage.md#regions)). |
| `503 region_unavailable` | Tonbo could not reach the Machine’s region. | Send it again in a moment. |
| `422 shape_not_offered` | The shape named is not one a Machine may have. | `tonbo machine shapes` lists the shapes you may name. |
| `422 image_platform_unsupported` | The image has no linux/arm64 build; the detail names the platforms it has. | Build it for linux/arm64 (see [Build for linux/arm64](https://tonbo.dev/docs/machines/images.md#build)). |
| `422 port_reserved` | Ports 22 and 1023 are Tonbo’s. | Serve on another port. |
| `422 volumes_not_offered` | The request set the volumes field, and Volumes are not offered to your account yet. | Leave volumes out until they are offered, and keep data in the Machine’s database. |
| `422 hostname_too_long` | The Machine’s name and your account’s name together pass 55 characters; the detail names the longest name you may use. | Choose a shorter name. |
| `409 hostname_taken` | Another account holds that HTTPS name, or your account holds it for a Machine of another name or under an earlier account name. | Choose another name. |
| `409 name_taken` | A Machine of your account already has that name. | `tonbo machine list` shows it; choose another name, or delete it first. |
| `409 account_name_unclaimed` | Your account has no username or organization name yet, and a Machine’s HTTPS name needs one. | Choose one on the console’s Profile page, then create the Machine again. |
| `403 database_limit_reached` | Each Machine counts one of your account’s 10,000 databases. | Delete a Machine or a database (see [Limits](https://tonbo.dev/docs/machines/limits.md#account)). |
| `409 machine_failed` | Its creation failed, and a failed Machine does not change; `tonbo machine show` says why. | Delete it, and create it again once the cause is fixed. |
| `409 idempotency_conflict` | The Idempotency-Key was already used for a different request. | Send a new key, or the original request unchanged. |
| `428 precondition_required` | An update through the API needs If-Match. | Read the Machine, and send its ETag as `If-Match` (see [Change a Machine](https://tonbo.dev/docs/machines/manage.md#update)). |
| `412 precondition_failed` | The Machine changed since you read it, or the If-Match is not its ETag. | Read it again, and send the change with the new ETag. |
| `403 forbidden` | Making a port public needs an owner or admin; a key narrowed to databases or streams never manages or calls Machines; or the key’s member is not in the Machine’s account. | Use a key of a member with the role, unnarrowed (see [What a key can reach](https://tonbo.dev/docs/platform/api-keys.md#key-scope)). |
| `422 validation_error` | A field breaks a rule; the detail names it. | Fix the field (see [Limits](https://tonbo.dev/docs/machines/limits.md#settings)). |
| `429 rate_limited` | Too many requests to the Management API. | Send it again after Retry-After. |
