Reference

[ AxiomCore · Documentation ]

Troubleshooting

Symptom, cause, and fix tables for common AxiomCore failures in installation, the first app, builds, backends, frontends, databases, and Cloud.

Find your symptom below, then apply the fix. Start at the narrowest failing boundary and keep the first structured error: a later framework exception often hides the extraction, artifact, or runtime condition that caused it.

Find the section for a failure
Find the section for a failure
Diagram source
flowchart TD
  A["Does axiom --version work?"] -->|No| INST["Installation"]
  A -->|Yes| B["Does axiom check pass?"]
  B -->|No| SRC["Source and build"]
  B -->|Yes| C["Does the backend start and answer?"]
  C -->|No| BE["Backend, or Database"]
  C -->|Yes| D["Does the UI or client load data?"]
  D -->|No| FE["Frontend and clients"]
  D -->|Yes| CL["Cloud, for release and pull problems"]

Before you dig in, run the read-only diagnostics:

Terminal
axiom doctor
axiom ui doctor --target web

axiom doctor checks prerequisites without changing files, logging in, or pulling a contract. Add --json --strict for a machine-readable report that exits non-zero when a required prerequisite fails. Before sharing any output, follow Support and feedback to remove secrets and local paths.

Installation

SymptomCauseFix
axiom: command not foundThe install directory is not on PATHAdd the directory (for example $HOME/.local/bin) to PATH in your shell profile, then open a new terminal
The checksum check failsThe download is incomplete or is not the expected fileDelete the archive and download it again. Do not run an unverified binary
axiom --version shows an older version than the guideAnother installation comes first on PATH, or an installer selected an older releaseRun which -a axiom, remove or reorder the old copy, and install the version the guide names
No download for your operating systemRelease archives are per platform; there is no native Windows downloadCheck the release assets and Install the Axiom CLI
MISSING_EXTRACTOR: fastapi-extractor or MISSING_EXTRACTOR: go-extractorExtractors install separately from the CLI. The CLI looks in ~/.acore/bin/ or at the path in AXIOM_FASTAPI_EXTRACTOR or AXIOM_GO_EXTRACTORDownload the extractor binary as shown in Backend extractors, or set the path variable
axiom install axiom-fastapi --module (or the Go equivalent) reports Unknown tool or a 404 downloadExtractor installation through axiom install --module does not work in CLI 0.149.1Install the extractor manually; see Backend extractors

First app

SymptomCauseFix
The UI reports an incompatible hostThe installed web UI host does not match the CLI's capabilitiesaxiom ui host install --target web --version 0.6.12 --non-interactive, then check axiom ui host status --target web
The UI cannot load tasksThe backend is not running, the API key is wrong, or the frontend manifest's baseUrl is wrongCheck the backend terminal, paste the development API key it printed, and check baseUrl
Port already in useAnother process uses 8080 or 5173Change the port in the command, the manifest URL, and the CORS origins together
The backend connects to an unexpected databaseDATABASE_URL is set in your shellunset DATABASE_URL, then restart the backend
The frontend starts an iOS session instead of a browseraxiom run defaults Acore UI sources to iosAdd --target web
AUI059 development contract ... uses an unsigned local artifactLocal development uses unsigned contractsExpected during development. A production release requires Axiom Cloud signing

Source and build

Run the checks one at a time to find the failing step:

Terminal
axiom check axiom.acore
axiom eval axiom.acore
axiom domain validate axiom.acore --json
axiom security check axiom.acore --json
axiom test axiom.acore
axiom build axiom.acore --out backend.axiom
axiom contract verify
SymptomCauseFix
Error: Read Acore source axiom.acore with No such file or directoryNo file argument was given and the current directory has no axiom.acorePass the source path, or run from its directory
ParseError("Unexpected token: Colon") on a line such as project(id: ...)No AxiomDeps.toml in the source's directory or a parent, so the file is not compiled as a backend contractAdd AxiomDeps.toml with type = "backend" (or the matching type) beside the source
No test configuration foundaxiom test ran on a contract without test suitesDeclare testConfig(suites: [...]); see Contract tests
security strict mode rejected buildSecurity Mode is strict and the contract has error findingsFix each AXSEC finding; see Security rules
A build with --frozen-interface failsThe public interface drifted from the approved artifactReview axiom diff --format semantic; update the approved artifact deliberately
axiom contract verify failsA lock input no longer matches its recorded proofDo not replace the lock with whatever the network returns. Confirm the intended immutable version, run axiom contract resolve deliberately, inspect axiom contract diff, and commit the dependency and lock together

Backend

SymptomCauseFix
FastAPI extraction fails with a missing application object, an error from your own module, or attempts to reach infrastructureExtraction imports your application's own modules and runs their top-level code. The extractor bundles FastAPI, Starlette, and Pydantic and replaces other third-party imports with placeholdersCheck the module:app entrypoint passed to axiom init; move database connections, migrations, worker startup, and file writes out of import time; retry with the smallest module. You do not need the project's third-party packages installed to extract, only to run the service
A validation rule enforced by FastAPI or a Go handler is missing from the contractExtraction does not carry path-parameter constraints (such as a maximum length) or checks inside Go handlersReview the extracted contract with axiom explain axiom.acore and declare the rule in the contract if consumers need it
axiom serve fails before it is readyA provider, credential, grant, or handler is missing, or a hash does not match. Real serving defaults to deployment.json beside the sourcePass the reviewed file with --deployment and check its bindings
A Python or Go service reports application-adapter-requiredThe CLI runs your entrypoint but adds no contract enforcementInstall the application adapter; see Deployment targets
--watch will not startWatch needs a fixed loopback address and a source-owned managed or sandbox planUse the default host, and serve .acore source rather than an artifact
strict security findings must be resolved before servingA strict manifest has error findings, or declares something the server cannot enforceFix the findings, or remove the unsupported declaration; see Identity and policies

See Run a backend locally for the full serving workflow.

Frontend and clients

SymptomCauseFix
atmx.init resolves with ok: falseThe contract, WebAssembly, or backend URL is unreachable; wrong content types; CORS; a signature without its public key; or a Content Security Policy that blocks WebAssemblyRead InitResult.error and InitResult.contracts. Check the URLs in the network tab, serve correct content types, allow the frontend origin in CORS, supply signature and public key together (or neither in local development), and allow WebAssembly in CSP
WasmFetchFailedThe WebAssembly engine URL is unreachableCheck wasmUrl or the default engine location
Queries fail right after page loadCode queries the SDK before init completesAwait atmx.init before mounting code that queries
Cached data hides a startup failureA stored session cacheRecord the failure, then clear the affected ATMX session cache
npm ETARGET during axiom pullThe automatic atmx-cli companion version is not publishedPin atmx-cli (for example 0.146.7) in the project before axiom pull
Generated client code does not compileHand-edited generated files, a wrong framework, or a moving channelRegenerate into a clean directory with an explicit --framework, pin a release version, and compile the app before committing
axiom pull cannot find the contractMore than one source form, or no access to a private projectUse exactly one source form; sign in and confirm project membership
Flutter runtime does not startAn assetPath is not in the Flutter bundle, native libraries are missing, dbPath is not writable, or widgets query before initDeclare every generated asset, add the native runtime for the platform and architecture, use a writable dbPath (or omit it to isolate cache problems), initialize first, and test emulator and release builds
Swift integration behaves differentlySwift distribution is ExperimentalA local XCFramework build does not establish a supported Swift package integration
An Acore UI host is stuck after a crashStale delivery recordsaxiom ui host recover --target TARGET restarts the host and discards stale records. It does not fix invalid source, missing assets, or a failed platform toolchain

To diagnose an Acore UI target, run axiom ui doctor --target ios --json, axiom ui host status --target ios, and axiom ui test main.acore --target ios (replace ios with your target).

Database

SymptomCauseFix
ADB1110PostgreSQL needs a passwordUse the masked prompt, PGPASSWORD, or --password in non-interactive runs
ADB1107The connection does not match the declared engine, for example a PostgreSQL URL for a SQLite contractSupply the URL, fields, or --database-file for the declared engine
ADB1106No validator runtime for the target PostgreSQL major versionInstall a matching validator or a supported PostgreSQL; no migration ran
ADB1103The version in project(...) is already usedAccept the suggested version, update the source, or use --auto-version in CI
ADB1105The database has drifted from its recorded stateRun axiom database status and establish an exact baseline
ADB1111 in CIA destructive, data-dependent, or security change needs approvalPass --allow-destructive, --allow-data-dependent, or --allow-security-changes for the reviewed risk
ADB1112A new required column has no value for existing rowsMake it nullable, or declare a default or backfill
A primary-key conflict when you rerun a quickstart insertThe row already existsOmit the insert on later runs
A browser preview shows data but no migration ranBrowser previews simulate storage and historyRun migrations with the CLI

All ADB codes are listed in Runtime errors.

Cloud

SymptomCauseFix
Not logged in. Run 'axiom login' first.The CLI has no Cloud sessionRun axiom login. Cloud access requires an authorized machine; local commands do not
This contract is private. Run axiom loginaxiom pull of a private projectSign in and confirm project membership
This artifact has no release versionNeither the contract nor the command sets a versionPass --version, or declare a version in project(...)
A version collision on releaseA project and version pair is immutableInteractive releases suggest the next free version. In CI, pass a new --version
Release versions may only contain letters, numbers, ...The version has other charactersUse only letters, numbers, ., _, -, and +
A managed environment is disabled although release verification worksManaged environments are separate from contract storageCheck the environment's state in the dashboard
A mock configuration is saved but no sandbox is readySaving mocks does not provision a sandboxProvision the sandbox and wait for it to be ready
A secret has no value, or runtime access is deniedValues are per environment; access needs a binding and grantSee Secrets

A release that stays queued or fails is in one of these states:

StateWhat it meansWhat to do
Upload failureAuthentication, project membership, version collision, or artifact validation failedFix the reported cause and upload again
Queued or runningDurable work exists, but a worker or provider step has not finishedWait, then check the recorded stage
FailedA stage failedInspect the recorded stage and attempt; do not retry the whole workflow blindly
WarningSemantic or policy evidence needs reviewReview it; an owner can acknowledge it if appropriate
Deployable but not latestActivation policy or channel generation still needs actionA project owner activates the release on the channel

See Releases and environments.

Still stuck

Collect a sanitized report and contact the project through Support and feedback.