Errors

Errors

How Kiste reports errors, and every error code with its meaning and fix.

Every failure you can see in Kiste, in the CLI, the console, the desktop viewer or the HTTP API, is one registered error with a short code such as K01. The same code means the same thing everywhere, and this reference is rendered from the registry itself, the file kiste.run/errors.json.

Reading an error

The API answers with one envelope:

{
  "error": {
    "code": "K01",
    "type": "machine_not_found",
    "message": "There is no Kiste named review-42 in your account. (code: K01)",
    "hint": "Check the name in your list of Kisten.",
    "param": null,
    "retryable": false,
    "request_id": "01J9Z8X7W6V5T4S3R2Q1P0N9M8",
    "docs_url": "https://kiste.run/errors/K01"
  }
}
FieldMeaning
codeThe support code. It also ends the message as (code: K01). Quote it to support.
typeA stable name for the error. Scripts and integrations branch on type; its meaning never changes.
messageA sentence for people, safe to show as it is.
hintWhat to do next.
paramThe request field the error is about, or null.
retryableWhether the same request can succeed later.
request_idThe ID of this request. Every answer also carries it in the x-request-id header.
docs_urlThe explanation of this code.

Errors that can be retried after a fixed time also send a Retry-After header with the seconds to wait. The CLI prints the same information:

× There is no Kiste named review-42 in your account. (code: K01)
  hint Check available names with `kiste list`.
  request: 01J9Z8X7W6V5T4S3R2Q1P0N9M8

With --json the CLI writes the envelope to standard error as {"ok":false,"error":{…}} and exits with the code listed for the error. Output modes and exit codes has the details.

Codes that are used only between Kiste's own services are not listed; you never see them.

Codes by area

PrefixAreaCodes
KKisten (machines, snapshots, images, environments, commands)35
NNetwork and connections8
DDesktop and browser links7
SKiste Stream (published apps on kiste.stream)7
AAccount and sign-in32
BBilling17
LLimits and capacity16
CThe kiste command-line tool18
PPlatform7

All codes

CodeTypeMessage
K01machine_not_foundThere is no Kiste named {name} in your account.
K02machine_name_takenYou already have a Kiste named {name}.
K03machine_not_running{name} isn't running.
K04machine_not_ready{name} is still starting up.
K05machine_busyAnother change to this Kiste is still in progress.
K06invalid_machine_requestThat Kiste request isn't valid: {detail}.
K07machine_start_failedThis Kiste couldn't start. Its disk is kept.
K08snapshot_not_foundThere is no snapshot {snapshot} in your account.
K09snapshot_busyThe snapshot {snapshot} is already being deleted.
K10invalid_snapshot_requestThat snapshot request isn't valid: {detail}.
K11snapshot_failedThe snapshot couldn't be taken. The Kiste is unchanged.
K12image_not_foundThere is no image {image} in your account.
K13image_name_takenThe image name {image} is already taken.
K14image_in_useThe image {image} is still used by a Kiste.
K15image_not_readyThe image {image} isn't ready yet.
K16invalid_image_requestThat image request isn't valid: {detail}.
K17environment_not_foundThere is no environment {environment} in your account.
K18environment_name_takenYou already have an environment named {environment}.
K19invalid_environmentThat environment isn't valid: {detail}.
K20environment_setup_failedThe environment setup on {name} failed.
K21command_not_foundThere is no command {command} on this Kiste.
K22command_id_takenA command with the ID {command} already exists.
K23invalid_commandThat command request isn't valid: {detail}.
K24command_interrupt_failedThe command couldn't be interrupted.
K25metrics_unavailableThe usage of {name} can't be read right now.
K26guest_unresponsiveThis Kiste stopped responding and was stopped. Its disk is kept.
K27snapshot_unavailableSnapshots aren't available for this Kiste right now.
K28machine_stop_failedThis Kiste couldn't be stopped cleanly. Its disk is kept.
K29machine_restart_failedThis Kiste couldn't restart. Its disk is kept.
K30machine_delete_failedThis Kiste couldn't be deleted.
K31snapshot_restore_failedThe snapshot couldn't be restored. The snapshot is kept.
K32machine_fork_failedThis Kiste couldn't be copied. The original is unchanged.
K33snapshot_delete_failedThe snapshot couldn't be deleted.
K34snapshot_name_takenYou already have a snapshot named {snapshot}.
K35command_failedThe command couldn't be run in {name}.
N01compute_unreachablekiste.run can't reach the compute service right now. Your Kisten are safe.
N02compute_bad_responseThe compute service sent an answer kiste.run didn't expect.
N03request_timeoutThat took too long and was stopped.
N04edge_unreachableCan't reach kiste.run.
N05connection_interruptedThe connection to kiste.run was interrupted.
N06client_timeoutkiste.run didn't answer in time.
N07ssh_connection_failedCouldn't open an SSH connection to {name}.
N08ssh_key_not_accepted{name} didn't accept this computer's key.
D01desktop_unavailableThe desktop isn't available right now.
D02desktop_not_supported{name} has no desktop.
D03desktop_stream_failedThe desktop stream couldn't be started.
D04desktop_session_not_foundThis desktop session has ended.
D05invalid_desktop_requestThat desktop request isn't valid: {detail}.
D06desktop_sign_in_requiredSign in to Kiste in this browser to open the desktop.
D07link_invalidThis link is no longer valid.
S01service_not_foundThere is no published app {service}.
S02service_name_taken{name} already publishes an app named {service}.
S03invalid_serviceThat app can't be published: {detail}.
S04service_unavailableThis app isn't answering right now.
S05service_request_rejectedThis request can't be passed to the app: {detail}.
S06stream_address_not_foundNothing is streamed at this address.
S07service_busyThis app is getting more requests than it can take. Please wait {seconds} seconds and try again.
A01authentication_requiredPlease sign in to continue.
A02invalid_credentialsThe email address or password is wrong.
A03too_many_attemptsToo many sign-in attempts. Please wait {seconds} seconds and try again.
A04account_lockedThis account is locked for {seconds} seconds after failed sign-ins.
A05signup_disabledSigning up isn't open.
A06email_takenAn account with this email address already exists.
A07invalid_signupThat sign-up isn't valid: {detail}.
A08api_token_not_foundThere is no API key {token} in your account.
A09api_token_name_takenYou already have an active API key named {label}.
A10invalid_api_token_requestThat API key request isn't valid: {detail}.
A11api_token_cannot_mintAn API key can't create other API keys.
A12invalid_originThis request didn't come from kiste.run.
A13cli_token_requiredThis needs a sign-in from the command-line tool or an API key.
A14oauth_invalid_requestThe sign-in request isn't valid.
A15oauth_code_invalidThe sign-in code is invalid or has expired.
A16oauth_user_goneThe account for this sign-in no longer exists.
A17operator_onlyOnly the operator can do this.
A18device_key_not_foundThere is no computer {id} signed in to your account.
A19invalid_device_keyThat computer key isn't valid: {detail}.
A20session_not_foundThere is no sign-in {id} on your account.
A22test_account_existsThe test account {name} already exists.
A23invalid_test_accountThat test account isn't valid: {detail}.
A24webhook_not_foundThere is no webhook endpoint {id} in your account.
A25webhook_name_takenYou already have a webhook endpoint named {name}.
A26invalid_webhookThat webhook endpoint isn't valid: {detail}.
A27alert_not_foundThat alert doesn't exist.
A28invalid_alertThat alert setting isn't valid: {detail}.
A29token_rejectedYour sign-in is no longer valid.
A30account_deletion_requires_sign_inDeleting your account needs your own sign-in; an API key can't do it.
A31account_deletion_operatorThe operator account can't be deleted.
A32account_deletion_unconfirmedTo delete your account, type its e-mail address exactly as confirmation.
A33export_link_invalidThis download link has expired or belongs to another account.
B01billing_past_dueYour last payment failed.
B02wallet_emptyYour credit is used up.
B03plan_shape_not_includedThe {plan} plan doesn't include {shape} Kisten.
B04plan_machine_limitThe {plan} plan's Kiste limit is {limit}.
B05plan_running_limitThe {plan} plan's limit of running Kisten at once is {limit}.
B06unknown_planPlease choose one of the offered paid plans.
B07unknown_packPlease choose one of the offered credit packs.
B08no_payment_methodThere is no saved card for auto-refill yet.
B09no_customerThere is nothing to manage before your first purchase.
B10billing_unavailablePayments aren't available right now.
B11payment_provider_unavailableThe payment service isn't answering right now.
B12invalid_billing_requestThat billing request isn't valid: {detail}.
B13invalid_payment_eventThis payment event was refused.
B14payment_event_failedThis payment event couldn't be processed yet.
B15already_subscribedYou're already on the {plan} plan.
B16plan_change_in_portalYou already have a plan. Change it in the payment portal.
B17api_key_cannot_change_billingAn API key can't change payments or billing settings.
L01rate_limitedToo many requests. Please wait {seconds} seconds and try again.
L02machine_limitYour account's Kiste limit is {limit}.
L03running_limitYour account's limits for running Kisten at once are reached: {machines} running, {vcpu} vCPU, {memory_gib} GiB of memory.
L04disk_limitYour Kisten and snapshots may use at most {gib} GiB of disk.
L05machine_size_limitThat Kiste is larger than your account allows: {detail}.
L06image_limitYour account's image limit is {limit}.
L07webhook_limitYour account's webhook endpoint limit is {limit}.
L08api_token_limitYour account's limit of active API keys is {limit}.
L09device_key_limitYour account's limit of signed-in computers is {limit}.
L10test_account_limitThe test account limit is {limit}.
L11service_limitThe limit of published apps per Kiste is {limit}.
L12ssh_connection_limitYou have too many SSH connections open (at most {limit}).
L13capacity_unavailableThere's no free capacity for this Kiste right now.
L14connection_capacityToo many connections are open right now.
L15environment_limitYour account's environment limit is {limit}.
L16command_limitYou have too many commands running at once (at most {limit}).
C01invalid_arguments{detail}.
C02confirmation_requiredThis needs a confirmation.
C03command_cancelledCancelled.
C04config_unreadableYour kiste settings couldn't be read.
C05ssh_client_missingThis needs the ssh program, which isn't installed.
C06update_unavailableNo update is available right now.
C07update_failedThe update couldn't be installed.
C08remote_command_failedThe command failed inside {name}.
C09forward_not_runningThere is no port forward running for {name}.
C10unexpected_responsekiste.run sent an answer this version doesn't understand.
C11usage_error{detail}.
C12output_mode_unsupported{detail}.
C13provider_not_configured{provider} is not signed in inside {name}.
C14ssh_command_failed{program} failed: {detail}.
C15credentials_not_carriedNot every credential could be carried ({count}): {names}.
C16doctor_found_problemsNot everything is healthy.
C17browser_sign_in_failedThe browser sign-in didn't complete: {detail}.
C18credential_unavailable{credential} can't be carried: {detail}.
P01internal_errorSomething went wrong on our side.
P02invalid_requestThat request isn't valid: {detail}.
P03payload_too_largeThat request is too large.
P04not_foundThis address doesn't exist.
P05method_not_allowedThis address doesn't accept that kind of request.
P07shutting_downThe compute service is restarting.
P13api_token_activation_failedThe new API key couldn't be activated.

On this page