Toupas

Docs

Toupas error codes

Errors carry code, message (plain words for the user), hint, and often agentInstructions (for you) and askUser (a question for the user). When they're there, follow them; this list is the fallback.

CodeWhat to do
E_ACCESS_DENIEDThe user cancelled the sign-in in their browser. Ask whether they want to sign in, then try again.
E_ACCOUNT_SUSPENDEDToupas suspended this account; nothing can be made live or changed. Tell the user the reason in the message and that they can write to hello@toupas.com. Don’t retry.
E_ADDON_IN_USEThat extra RAM or storage is in use; free it first.
E_APP_CRASHEDThe app stopped right after starting. Read its last log lines, fix the cause, and make it live again.
E_APP_HEALTH_CHECKThe app started but didn’t answer its health check. It must listen on 0.0.0.0:$PORT; check healthCheck.path.
E_APP_OUT_OF_MEMORYThe app used more memory than it has. Reduce its memory use, or raise memoryMb (counts toward the account’s RAM).
E_APP_START_TIMEOUTThe app didn’t start in time. It must listen on 0.0.0.0:$PORT; slow start-up tasks can raise healthCheck.timeoutSeconds.
E_APP_UNKNOWNToupas couldn’t tell what kind of app this is. Add a toupas.json (toupas://docs/toupas-json), or check you’re in the app’s folder.
E_ARCH_UNSUPPORTEDThe prepared app is for the wrong processor. Make it live again with this Toupas program, which prepares it for Toupas’s servers.
E_AUTHORIZATION_PENDINGThe user hasn’t approved the sign-in link yet. Wait for them, then try again.
E_BILLING_COUNTRY_REQUIREDThe user chooses their country on the payment page first.
E_BILLING_NOT_CONFIGUREDPayments aren’t open yet. Tell the user.
E_BINARY_PLATFORMA dependency has a native part built for another system. Make it live again (it’s prepared in Toupas’s builder), or replace the dependency.
E_BUILD_FAILEDThe app’s own build failed; its output is in the error. Fix the code so the build passes on this computer, then make it live again.
E_BUILDER_PULLDocker couldn’t download Toupas’s builder. Check the internet connection and that Docker Desktop is running, then try again.
E_BUILDER_UNKNOWNThe builder image is out of date. Update the Toupas program and make the app live again.
E_CHECKOUT_EXPIREDThe payment link expired (30 minutes). Get a new one with toupas_get_checkout_link.
E_CHECKOUT_INVALIDThat payment link can’t be used. Get a new one.
E_CLI_OUTDATEDThis Toupas program is too old. Ask the user to update it: `curl -fsSL https://app.toupas.com/install.shsh (Windows: irm https://app.toupas.com/install.ps1iex`), then start a new agent session.
E_CODE_EXPIREDThe sign-in code expired. The user can ask for a new one.
E_CODE_INVALIDThe sign-in code was wrong. The user can ask for a new one.
E_CONFIG_INVALIDtoupas.json has a mistake; the message names it (toupas://docs/toupas-json).
E_CONFIRMNothing was done. Show the user what would happen and call again with confirm: true only if they agree.
E_CONFIRMATION_REQUIREDNothing was done. Show the user what would happen and call again with confirm: true only if they agree.
E_CONFLICTIt clashes with how things are now; the message says why.
E_DATABASE_EXISTSThe app already has a database.
E_DATABASE_FAILEDCreating the database failed. Try again; if it keeps failing, tell the user.
E_DATABASE_MISSINGThe app has no database yet: toupas_create_database (toupas_make_live creates it when the app uses Postgres).
E_DATABASE_NOT_READYThe database is still being created. Wait a minute and try again.
E_DATABASE_OWN_URLThe app uses its own DATABASE_URL, so Toupas leaves the database alone. Unset it first to use Toupas’s.
E_DATABASE_SLOWThe database is taking longer than usual. Check again with toupas_get_database in a minute.
E_DATABASES_NOT_CONFIGUREDDatabases aren’t available on this server yet.
E_DB_ACCESS_OFFDirect access to the live database is off. An owner or admin turns it on in the panel (the link is in the error); then try again.
E_DB_LOGIN_EXPIREDThe temporary database login expired. Try again.
E_DB_LOGIN_FAILEDThe temporary database login didn’t work. Try again.
E_DEPENDENCY_MISSINGThe app needs a dependency to run live (e.g. uvicorn or gunicorn); the message names it. Add it to the dependencies and make the app live again.
E_DEPLOYMENT_FAILEDThe new version didn’t go live; the previous one (if any) still is. Read the logs in the error (or toupas_get_logs), fix the cause, and make it live again.
E_DEPLOYMENT_NOT_UPLOADINGThat version was already sent or replaced. Make the app live again.
E_DEV_DB_STARTThe local database didn’t start. Check Docker Desktop is running.
E_DEV_STORAGE_PULLDocker couldn’t download the local storage. Check the internet connection and Docker Desktop.
E_DEV_STORAGE_STARTThe local storage didn’t start. Check Docker Desktop is running.
E_DEVICE_CODE_EXPIREDThe sign-in link expired. Call the tool again for a new one.
E_DOCKER_EMULATIONDocker runs Toupas’s builder through emulation here, which is slow but works. On Apple Silicon, turn on “Use Rosetta” in Docker Desktop’s settings to speed it up.
E_DOCKER_MISSINGApps with their own server need Docker Desktop. Ask the user, as agentInstructions say, and if they agree call toupas_setup_docker.
E_DOCKER_NOT_RUNNINGDocker Desktop is installed but not running. Ask the user to open it (and click Accept the first time), then try again.
E_DOCKER_RELOGINDocker was just installed. The user logs out of the computer and back in, then try again.
E_DOCKER_SETUPInstalling Docker Desktop didn’t work; the message says why. The user can install it from docker.com.
E_DOCKER_SETUP_CANCELLEDThe user cancelled the install. Ask whether they still want it.
E_DOCKER_SETUP_FAILEDInstalling Docker Desktop failed. The user can install it from docker.com, then try again.
E_DOCKER_SETUP_TERMINALThis step needs the user to type in a terminal. Ask them to run toupas setup docker themselves.
E_DOMAIN_INVALIDThat isn’t a domain the app can use, e.g. shop.example.com.
E_DOMAIN_TAKENThat domain is already connected to another app.
E_DOMAINS_NOT_CONFIGUREDOwn domains aren’t available on this server yet.
E_DOTENV_DATABASE_URL.env already has a DATABASE_URL that isn’t Toupas’s local database. Ask the user before replacing it.
E_DOTENV_STORAGE.env already has S3 settings that aren’t Toupas’s local storage. Ask the user before replacing them.
E_DUMP_INVALIDThe file isn’t a pg_dump custom-format file. Make it with pg_dump --format=custom.
E_EMAIL_DISPOSABLEThrowaway email addresses can’t be used. Ask the user for their real address.
E_EMAIL_INVALIDThe email address doesn’t look right. Ask the user to check it.
E_ENTRYPOINT_MISSINGThe start command names a file that isn’t in the prepared app. Fix start in toupas.json.
E_ENV_INVALIDSetting names use letters, numbers and underscores, starting with a letter or underscore.
E_ENV_LIMITToo many settings, or a value is too long.
E_ENV_RESERVEDThat name is set by Toupas (PORT, TOUPAS_*) and can’t be changed.
E_EXTENSION_NOT_ALLOWEDThat Postgres extension isn’t offered; the message lists the ones that are.
E_FORBIDDENThe user’s role in this account doesn’t allow it (07 §9.2). Tell the user; an owner or admin can do it.
E_IMAGE_BUILD_FAILEDInstalling the Debian packages from toupas.json failed; the message says why (often a misspelt package). Fix systemPackages/buildPackages, then call toupas_make_live again.
E_INTEGRITYA file changed while it was being sent. Make it live again.
E_INTERNALSomething went wrong in Toupas. Try again; if it keeps happening, tell the user to write to hello@toupas.com.
E_INVALID_REQUESTA value sent to Toupas was wrong; the message says which. Fix the argument and try again.
E_INVITATION_EMAIL_MISMATCHThe invitation is for a different email address. Sign in with the invited one.
E_INVITATION_INVALIDThe invitation is used, revoked or expired. Ask for a new one.
E_LAST_OWNERAn account always keeps one owner. Make someone else owner first (in the panel).
E_LIMIT_DOMAINSThe app has as many domains as allowed.
E_LIMIT_IMAGE_BUILDSThe account built its daily maximum of images with new package lists. Try again tomorrow, or keep the package list as it was.
E_LIMIT_MEMBERSThe team has the most members allowed (25).
E_LIMIT_OWNED_TEAMSThe user owns as many teams as allowed (5).
E_LIMIT_PENDING_INVITATIONSToo many invitations are waiting (20). Revoke some in the panel.
E_LIMIT_PROJECTSThe account has as many apps as allowed.
E_LIMIT_PROJECTS_PER_DAYThe account made 10 new apps today. Try again tomorrow, or update an existing app.
E_LIMIT_TRIAL_PROJECTSFive apps can be on a free trial at once. Move one to a plan (toupas_activate_project) or stop one.
E_LOCAL_DATA_STORAGEThe app keeps data in local files (SQLite, uploads), which a live app loses. Follow agentInstructions: switch to the Toupas database or storage, then make it live again.
E_LOCAL_DUMP_FAILEDCopying the local database failed; the message says why. Check the local database is running.
E_MANIFEST_INVALIDThe files sent didn’t make a valid version; the message says why.
E_NETWORKToupas couldn’t be reached. Check the internet connection and try again.
E_NOT_FOUNDIt doesn’t exist, or belongs to an account this sign-in can’t see. Check the name with toupas_list_projects.
E_NOT_LINKEDThis folder isn’t a Toupas app yet. Call toupas_make_live with its dir to make it live, or pass project to work on an existing app.
E_NOT_SUPPORTED_YETToupas doesn’t do this yet. Tell the user; don’t look for a way around it.
E_OUTPUT_MISSINGThe build didn’t create the folder that goes live. Check build.output in toupas.json.
E_PACKAGE_INVALIDA name in systemPackages or buildPackages (toupas.json) isn’t a Debian package that can be installed. Fix the name (https://packages.debian.org, Debian 13) or remove it, then call toupas_make_live again.
E_PACKAGE_JSONpackage.json couldn’t be read. Fix the JSON.
E_PATH_INVALIDA file name can’t be used live (e.g. it leaves the folder). Rename it or exclude it.
E_PAYMENT_INVALIDThe payment couldn’t be confirmed. The user can try again in the browser.
E_PAYMENT_REQUIREDThis needs a payment. Give the user the link in details.url to pay in their browser; never pay yourself. Call again after they say it’s paid.
E_PERSONAL_ACCOUNT_NO_MEMBERSPersonal accounts have no members. The user can create a team in the Toupas panel.
E_PG_TOOLS_PULLDocker couldn’t download Postgres’s tools. Check the internet connection and Docker Desktop.
E_PLAN_REQUIREDThe account needs a plan (the App plan for apps with a server or database). Give the user the link in details.url.
E_PLATFORMThis computer’s system isn’t supported for preparing apps with a server.
E_PLATFORM_CAPACITYToupas’s server is full right now. New trial apps wait in a queue and go live on their own; tell the user they’ll get an email.
E_PORT_IN_USEThat port is taken on this computer. Pick another with --port.
E_PROJECT_OTHER_ACCOUNTThe folder belongs to an app in another Toupas account. The user signs in to that account (toupas login), or deletes the folder’s .toupas folder to make it a new app.
E_PROJECT_STOPPEDThe app is stopped. toupas_get_project says why; toupas_start_project or a payment starts it.
E_QUERY_FAILEDPostgres refused the query; its message is included. Fix the SQL.
E_QUOTA_RAMThe account’s RAM is used up. The user stops an app, lowers memoryMb, or adds RAM through the link in details.url.
E_QUOTA_STORAGEThe account’s storage is used up. The user deletes data or adds storage through the link in details.url.
E_RATE_LIMITEDToo many requests. Wait a minute, then try again.
E_REAUTH_REQUIREDOnly for the admin panel: the operator signs in again in the browser.
E_RESTORE_FAILEDCopying data into the live database failed; the message says why.
E_RUNTIME_RETIREDThat runtime is no longer offered. Switch runtime in toupas.json to a supported one.
E_RUNTIME_UNAVAILABLEToupas can’t run this language yet. Tell the user to try again later.
E_RUNTIME_UNKNOWNThat runtime doesn’t exist. toupas_list_runtimes lists them.
E_SECRETS_NOT_CONFIGUREDSecrets aren’t set up on this server. Tell the user.
E_SETTING_MANAGEDToupas manages that setting (the database or storage). Change the database or storage instead.
E_SIGN_IN_REQUIREDGive the user the sign-in link to approve in their browser, then call the same tool again.
E_SLUG_TAKENThat account name is taken. Choose another.
E_START_UNKNOWNToupas couldn’t tell how to start the app. Set start in toupas.json, e.g. node server.js.
E_STATIC_NO_INDEXA static site needs an index.html in the folder that goes live. Check build.output.
E_STORAGE_ACCESS_OFFDirect access to the live files is off. An owner or admin turns it on in the panel (the link is in the error); then try again.
E_STORAGE_DELETEDeleting files failed. Try again.
E_STORAGE_EXISTSThe app already has file storage.
E_STORAGE_FULLThe account’s storage is full; apps become read-only after the grace period. The user deletes data or adds storage.
E_STORAGE_MISSINGThe app has no file storage yet: toupas_create_storage (toupas_make_live creates it when the app uses an S3 client).
E_STORAGE_NOT_CONFIGUREDToupas’s storage isn’t set up on this server. Tell the user to try again later.
E_STORAGE_NOT_SET_UPFile storage isn’t ready yet. Try again in a minute.
E_STORAGE_OWN_SETTINGSThe app uses its own S3 storage settings. Ask the user whether Toupas should look after storage instead.
E_STORAGE_PATH_INVALIDThat file path can’t be used. Use a relative path without ...
E_STORAGE_PUBLIC_OFFPublic files are off for this app. Turn them on with toupas storage public enable if files should be viewable by anyone.
E_STORAGE_READ_ONLYThe account’s storage is over its allowance, so writes are refused until usage goes down or storage is added.
E_STORAGE_STATIC_APPStatic sites have no file storage; only apps with their own server do.
E_SUBDOMAIN_INVALIDNames use lowercase letters, numbers and single hyphens, 3–40 long.
E_SUBDOMAIN_RESERVEDThat name is reserved. Choose another.
E_SUBDOMAIN_UNAVAILABLEThat name is taken. Offer the user the suggestions in details.suggestions.
E_TOO_LARGEThe app is over a size limit; the message says which. Exclude what isn’t needed (exclude in toupas.json).
E_TUNNEL_LIMITToo many database connections from computers are open. Close one.
E_UNAUTHENTICATEDThe user isn’t signed in, or was signed out. Call the tool again: it returns a sign-in link to give the user.
E_USAGEThe command or arguments weren’t right; the message says how to use it.
E_USER_DECISION_REQUIREDAsk the user the askUser question, in its own words, and call again with their answer as an argument. Never decide for them.