agents.refresh-failed | A managed block (AGENTS.md, the README’s Built-with footer) could not be refreshed; the compile itself went on. |
agents.symlink | … is a symlink — left it and its target untouched. |
branch.deletion | … will be permanently deleted and CANNOT be recovered: |
branch.inventory-unknown | The branch inventory could not be read, so what this wipe destroys is UNKNOWN. |
branch.live-unverified | Could not verify whether a branch is live after the replace. |
branch.none-live | No branch is live in workspace #… — ”…” becomes the branch the runtime serves. |
branch.not-found | No branch named ”…” on … — nothing was deleted. |
branch.production-cutover | This is a production cutover for workspace #…. |
branch.settings-withheld | … workspace setting… will NOT be applied from branch ”…”: … |
branch.shared-schema-changed | … shared-schema change… applied to the LIVE workspace. |
branch.shared-schema-unknown | The live workspace could not be read, so whether this changed shared schema is UNKNOWN. |
branch.stale-schema-refs | ”…“‘s logic writes … the shared tables no longer have — once it is live, … nothing there: |
branch.unlabeled | … branch… here carr… no label: |
canonical.differs | … public URL… the value this project compiled: |
canonical.invented | … public URL… will be invented by the instance, and this project will not know …: |
credential.env-outranks | … set in this environment, outranking this credential — commands will keep using …. |
credential.env-overrides-pin | Using the … credential from the environment — ignoring …, which pins this project to profile ”…”. |
credential.readable-file | … can be read by other users of this machine, and it holds your Xano credentials. |
credential.shadowed-global | Using project-local …, … (…, workspace …), but a global credential for …, workspace … also exists under the same profile name — the local one wins. |
credential.unpinned-profile | The project has no xano.profile.json and several profiles are stored, so the run used the default one; profile use pins it. |
decode.findings | Not everything round-tripped cleanly — … (listed below). |
deploy.destructive | The landing deletes objects or data on the target; each operation is listed, with the rows a pruned table loses. |
deploy.dry-run-refusal | A real run would refuse: … |
deploy.env-written | Environment variables from the bundle … written. |
deploy.ephemeral-write | Says which ephemeral this deploy writes to. |
deploy.import-failed-backup | The import failed. Your pre-deploy snapshot is on branch ”…”. |
deploy.open-no-url | —open had no URL to open — the deploy reported none. |
deploy.overwrite-changed | --overwrite: … object… changed in Xano since the last sync … overwritten: |
deploy.replace-wipe | --replace wipes … before importing — including table data and history. |
deploy.rows-written | Table rows from the bundle … written. |
deploy.tenant-write | This deploy writes to a target that is not an ephemeral, named in the message. |
deploy.tests-not-run | The deploy stands, but its tests could not be run: |
dev-env.sync-failed | The frontend’s dev env file could not be pointed at the deployed backend; the deploy itself landed. |
doc-token.cleared | Documentation tokens: the named scopes are sent EMPTY on purpose, clearing that doc site’s gate. |
doc-token.not-written | Documentation tokens: … found and NOT written (—no-secrets). |
doc-token.orphan | Documentation tokens: … holds … entr… no scope in this source claims — …. |
env-pull.declared-missing | … holds no value for …, which this project declares — so … has none for … either, and a deploy has nothing to send. |
env-pull.dropped-keys | Dropped … key… that … only in the local …: …. |
env-pull.invalid-name | … could not be written: … — a name is letters, digits and _, and does not start with a digit. |
env-pull.unwritable-value | … could not be written: the dotenv format carries no newlines or edge whitespace in a value. |
ephemeral.duplicate-name | … also named ”…” (…) — this deploy created … beside …. |
ephemeral.entry-changed | … was last deployed from …; …. |
ephemeral.expires-not-applied | —expires-hours … was not applied: … already exists, and an ephemeral’s lifetime is set only when it is created (this one expires …). |
ephemeral.not-found | No ephemeral named ”…” — nothing was deleted.… |
ephemeral.rename-failed | The deploy landed, but renaming … to ”…” failed: …. |
export.env-example-cli-skew | This CLI is another version than the project’s installed SDK, so it left .env.example for the installed CLI to render. |
export.hosted-files-omitted | Exported bundle names hostedFile() icons whose files it does not carry: …. |
filter.unresolvable | Filter ”…” (in …) is not engine-resolvable and will 500 at runtime… |
generate.replace | A regeneration would replace or delete files edited since the last one; each is listed before anything is touched. |
gitignore.added-export | Added … to … — … holds secrets. |
gitignore.credential-tracked | … is tracked by git, so its ignore rule cannot keep the token just written out of the next commit. |
gitignore.update-failed | Could not update.gitignore (…). |
init.install-failed | The new project’s dependency install (with its package manager) did not complete; the files are written, and running that install in the project is the whole repair. |
init.lock-derive-failed | xano/index.ts does not load yet, so … and … were not written: … |
init.module-config-dropped | A module’s configuration could not be serialized and was left out of package.json. |
init.overwrite | … project file… outside …/ will be overwritten (—force): |
init.roundtrip-skipped | Skipped the round-trip check (—skip-roundtrip) — the tree is unchecked. |
init.sdk-skew | The tree resolved a different @xano/sdk than the CLI that generated it — the likely cause of round-trip mismatches. |
init.strict-warnings | …/ carries … export warning… (printed above) that npm run xano:check fails on — it exports with --strict. |
init.unverified | The pulled tree was not round-trip checked (its dependencies are not installed); the remedy names the check to run. |
init.verify-failed | Verification FAILED — the objects listed above do not re-export as they were pulled. |
init.workflow-exists | … already exists — moving the new workflow there replaces it. |
landing.record-failed | The prune landed, but … could not be updated: … |
local.foreign | Left running, not started by xanosdk: … |
local.import-failed | The import failed — the engine is still running, so nothing needs restarting: |
local.list-failed | Could not list running engines, so none are shown: … |
local.not-pinned | No package.json in …, and it is not a Xano SDK project, so the Xano Engine was not pinned — this deploy runs the latest engine. |
local.pin-unusable | The project’s pinned engine version could not be read and was not used. |
local.runtime-kept | Kept the unpacked runtime (…): … still running on it. |
local.stale | … is running …, but the engine cached here is …. |
local.stop-failed | … was listed as running but did not stop…. |
local.version-invalid | … This deploy runs the latest Xano Engine and the field is left as written — set it to a version like “v0.1.5”, or run xanosdk local update to pin one. |
lock.ceded-canonical | A lock entry kept its guid but ceded its canonical to a live object; a rename moves the entry so the object keeps its URL. |
lock.created-in-ci | This lock was created in CI, which means the repository does not have one. |
lock.dropped-entry | A stale lock entry was dropped because its identity reappeared under a live name (a reverted or identity-keeping rename). |
lock.duplicate-identity | xano.lock holds two entries with one identity. |
lock.identity-only | —identity-only — nothing was evaluated, so nothing confirms … orphaned. |
lock.import-code-pinned | … was not adopted: its def pins guid: "…" in code, which wins over xano.lock, so the live guid … would be replaced again at the next export. |
lock.module-orphans | …/xano.lock still pins … the workspace no longer exports (the removed module’s objects). |
lock.no-canonicals | No canonicals found in … — a configuration-only export strips them, so only guids were adopted. |
lock.not-found | writeBundle found no xano.lock and built unlocked: guids derived from names, so a rename recreates. Pass lock:. |
lock.orphan | xano.lock entry ”…” matched nothing this export (no workspace canonical emitted). |
lock.orphan-adopted | xano.lock entries lock import adopted match no exported object — objects still serving that this project has not ported; a bare lock prune keeps them. |
lock.prune-adopted | … adopted by lock import. |
lock.prune-adopted-kept | Kept … lock import adopted that this code does not declare: …. |
lock.prune-near-miss | ”…” is not in …. |
lock.rename-unchecked | Could not evaluate … to check this rename, so nothing confirms ”…” was renamed in code. |
lock.repinned-table | A table’s def pins a new guid; xano.lock keeps the old one as replaced, so a keep-data deploy into an environment still holding it refuses rather than dropping its rows. |
lock.repointed | None of xano.lock’s entries appear in …, so this tree now points at a different backend. |
lock.root-shadowed | A xano.lock also sits at the project root, but xanosdk export reads … (beside …), so …. |
lock.write-failed | Could not record the source’s identities in xano.lock (…). |
login.client-reregistered | The registered client was rejected — re-registering and retrying once. |
login.no-refresh-token | No refresh token was issued (offline_access not granted); push will require re-login once the access token expires. |
login.paste-failed | The pasted sign-in code or URL could not be read; the link is still valid, so paste again. |
logout.env-still-set | … — commands keep authenticating with …. |
logout.pin-signed-out | … still pins this project to ”…”, which is signed out now. |
logout.revoke-failed | Did not revoke …: … The token was not sent. |
logout.shared-file | Clearing … in the shared credential file … — this affects every project that reuses it. |
logout.unreadable | Could not read … (…). |
merge.symlink | … is a symlink — left it and its target untouched. |
microservice.failed | Some microservices failed to start: |
microservice.starting | Microservices are still starting (…/… ready) — they should come up shortly: |
microservice.status-unreadable | Could not read microservice status (the backend deployed fine): |
module.describe-failed | … could not describe what it contributes and was skipped. |
module.disabled | … is switched off in this project ("enabled": false). |
module.gitattributes-conflict | .gitattributes already carries … contributes, outside any managed block. |
module.install-failed | … failed — the module was not added. |
module.kind-unknown | … does not declare a module kind we recognize, so it is read as an ordinary package. |
module.legacy-peer-deps | Installed with —legacy-peer-deps: …. |
module.load-failed | Could not load …/index.ts to … (…). |
module.peer-mismatch | The project already declares a peer a toolchain module needs, and the installed version falls outside the module’s range; it was left as it is. |
module.peer-not-added | A peer a toolchain module needs could not be added as a direct dependency; the line names the command that adds it. |
module.peer-unresolved | … declares a peer range this project does not satisfy; —legacy-peer-deps did not resolve it either. |
module.removed-from-marketplace | … has been removed from the marketplace. |
module.sdk-skew | … requires @xano/sdk … — the module was not added. |
module.setting-dropped | …: … is no longer asked, so its stored setting was dropped. |
module.settings-unreadable | … could not read its stored settings back; its defaults were used instead. |
module.stale-settings | … is no longer a dependency, but this project still records settings for it. |
module.unconfigured | … was left unconfigured, so it runs on its own defaults. |
module.uninstall-failed | … could not be removed again — it is still in this project’s dependencies. |
module.unregistered | … is installed but not registered — …. |
operation.outcome-unknown | Outcome unknown — check with … before retrying. |
plan.canonical-change | The merge … move … — the project pins another canonical, and every endpoint under the old slug stops answering: |
plan.column-drop | The landing drops columns the target has, and their values with them. |
plan.column-retype | A kept column changes type; stored values stay, and one that does not read as the new type reads null. |
plan.doc-not-updated | The workspace … NOT be updated — a merge does not write the workspace’s documentation block. |
plan.enum-values-removed | An enum column loses values; a row holding a removed value reads null until it is restored. |
plan.env-drop | … environment variable… will be DROPPED: … |
plan.env-kept | … live value — the project’s differs, and a merge does not update values: …. |
plan.index-change | The landing adds or drops indexes; a unique index is refused over duplicate rows. |
plan.not-null-kept | A column becomes nullable, but the merge keeps NOT NULL on the table. |
plan.not-null-tightened | A column stops being nullable; rows holding null read back as the type’s empty value. |
plan.nothing-matched | NOTHING MATCHED. … be created and … already in this … deleted — not one of them shares an identity with this project. |
plan.object-remove | The replace DELETES … — a replace clears everything … holds: |
plan.object-remove-unlisted | Could not read … to list what the replace clears that this project did not land; --yes deletes it unlisted. |
plan.realtime-history-detached | The merge … detach realtime history: sockets on the old … stop connecting, and the conversation transcript and the at_least_once replay stay under the ol… |
plan.schema-additive | The new tables and columns the landing adds. |
plan.seed-not-written | … seed rows a merge does not write — …. |
plan.server-note | A note the instance attached to the landing plan, passed on as it came. |
plan.table-drop | The merge … DROP … the project no longer declares, …: |
plan.table-rename | The landing renames tables matched by identity, keeping their rows. |
plan.tableref-retarget | A table reference points at another table; the ids the rows hold now name that table’s rows. |
plan.target-unreadable | Could not read the target …, so this plan does not account for dropped columns or env that will not update. |
plan.workspace-rename | This workspace will be RENAMED: ”…” → ”…” |
preflight.check-unavailable | A toolchain module’s check could not run: the engine comparison was unavailable. |
preflight.import-rejected | Import rejected by the engine: |
preflight.nothing-captured | nothing to capture (no objects round-tripped) |
preflight.roundtrip | round-trip ? … — not found in the imported workspace |
preflight.runtime | A preflight request ran and the engine threw; the status alone would read as a pass. |
preflight.teardown-failed | Could not delete the validation environment; it will expire on its own: |
profile.local-shadows-pin | This project pins profile ”…” (…), which is in … but not in …. |
profile.missing | … is selected here but not stored in …, so no profile is active — commands here fail until it is added or another is selected. |
profile.not-found | No credential profile ”…” in … — nothing to delete. |
profile.orphan-ephemeral | The environment ”…” was deployed under ”…”, and no stored profile reaches it now. |
profile.pin-deleted | … still pins this project to ”…”, which no longer exists. |
profile.pin-missing | … pins profile ”…”, which this machine does not have — commands here will fail until you run …, or re-pin with …xanosdk profile use <name>. |
profile.project-pin-wins | This project pins its own profile in …, which still wins here. |
promote.canonical-not-served | Public URL slug… pinned in code … served under another value — every route a frontend builds from … answers 404 there: |
promote.canonical-substituted | Public URL slug… the release declares … served under another value (not pinned in code, so the instance chose): |
promote.identities-unchecked | Whether this release’s names and pinned public URL slugs are free in your workspace was not checked — …. |
promote.missing-objects | … declared object… did not arrive: |
promote.no-landing-record | No landing will be recorded: this directory is no project, so no xano.lock records what lands (a later --prune deletes only what a lock records). |
promote.seed-rows | ”…” carries rows for … table… (…), and they are not written: a promote lands logic on a branch, and tables are shared by every branch. |
promote.server-release | promote lands a release the server holds, so the local pre-flight did not run; what it checked instead is listed. |
promote.suffixed-rename | … look… like a suffixed rename of a declared name — check it is the object you meant. |
promote.unverified | Contents NOT verified — the release landed, but verification could not run (…) — check what landed with xanosdk workspace export --branch … --path -… |
publish.unbuilt-source | The directory being published looks like frontend source, not a build output. |
pull.env-check-failed | Could not check …/… for missing values (…). |
pull.kept-duplicates | … kept file… objects the decoded tree declares too. |
pull.kept-files | Kept … file… in …/ no decode wrote — … yours, and not part of the decoded tree: |
pull.lock-dropped | …/xano.lock entr… no counterpart in … and will be dropped: |
pull.lock-repinned | …/xano.lock entr… will be re-pinned to the object … holds under the same name: |
pull.module-replaced | … registers … (…), and the decoded entry registers plain copies of the objects it contributed instead — a later … upgrade no longer reaches them. |
pull.no-git | Not a git repository — nothing here holds the version of …/ about to be replaced. |
pull.replace | A pull replaces files under xano/ (edited since the last pull, or no longer generated); each is listed. |
pull.seeds-dropped | … table… seeded in code, and the pulled tree drops … seed:: |
pull.settings-lost | … carries no workspace settings, so the workspaceConfig in …/… is rewritten without its …. |
pull.tsx-needed | …/ is now … TypeScript files, and an entry that imports its own modules loads only under tsx, which this project does not have — the next deploy fails until… |
pull.unverified | Could not check that …/ round-trips — loading its TypeScript entry needs tsx, which is not installed. |
release.already-gone | Release ”…” was already gone. |
release.contents-missing | Its stored contents are missing — cut it again from a live environment. |
release.copy-unrecorded | Transferred, but recording on ”…” which release it was copied from failed (…). |
release.delete-in-use | Release ”…” is in use: …. |
release.drift | … does not match … (… object… differing, missing or extra). |
release.env-created | … env var… in ”…” … NOT set on … and will be CREATED carrying the value the release was cut with: …. |
release.env-unset | Release ”…” reads … env var… doesn’t set: …. |
release.name-stored | The destination stored it as ”…”: ”…” was taken by the time it landed. |
release.no-env | The release carries no env vars (or no documentation settings), so what it lands on comes up with them unset. |
release.not-found | No release named ”…” on … — nothing was deleted. |
release.rows-transferred | This release carries table rows, and they go to the destination with it: |
release.seed-rows-not-decoded | … carries seed rows for …, and a decoded tree carries no rows — they are not in …/. |
release.transfer-cancelled | Transfer cancelled — nothing was imported. |
routes.cli-skew | This CLI is another version than the project’s installed SDK, so it left the route table for the installed CLI to render. |
routes.module-failed | A toolchain module could not generate its section of routes.gen.ts; the rest was refreshed and its previous block, if any, was kept. |
routes.not-written | The route table (routes.gen.ts) was not written this run; the line says why and what writes it. |
routes.realtime-unresolved | …: leaving out … — … — whose canonical URL token resolves nowhere, along with their channels. |
secrets.cleartext-export | … carries … in cleartext — written owner-only (0600); do not commit it. |
secrets.cleartext-stdout | The export carries … in cleartext — written to stdout, where no file permission protects it; do not commit or log it. |
secrets.doc-token-written | Documentation tokens: wrote … to … — …. |
secrets.env-written | Workspace env: wrote … from the bundle to …. |
secrets.local-only | … is SECRET MATERIAL and is gitignored, so a teammate’s clone and CI both need --secrets-file or --doc-token instead. |
secrets.not-ignored | … holds secrets and git was not ignoring it. |
secrets.tracked-by-git | … holds secrets and is tracked by git — an ignore rule cannot untrack it. |
secrets.vault-in-bundle | … contains … private stored …. |
seed.guarded-columns | Could not read which columns are sensitive in … — the source’s export does not carry …, so only internal and password columns were checked: … |
seed.none-declared | --seed was passed, but no table in this project declares seed rows — no rows will be written. |
seed.password-hashes | Seed rows land password columns as given — they must already be hashes. |
static-env.not-injected | The deploy’s frontend config was not injected into some static routes (no HTML document or <head>); they run with it unset. |
static-env.secret-like | A --static-env value looks like a secret, and every one is published in the static site’s config. |
static-env.unscannable-seed | … non-public seed column… the static scan cannot search for — too short to match on, or not text at all — so they were NOT checked. |
static.hidden-unserved | The build has files under a dot segment (.well-known/, …), which the static host never serves; those paths answer with the fallback page. |
static.link-skipped | A symlink in the build points outside it, or to nothing, so it was not uploaded. |
static.republish | The import failed — republishing the frontend so the static host keeps serving. |
static.routing-inferred-multipage | Routing was inferred as multipage only because the build ships … beside index.html — the shape of a single-page app with its own … page. |
static.teardown | This replace takes the frontend… at … down — a replace clears …‘s static hosting, and this one publishes none. |
static.teardown-unknown | Could not read …‘s static hosting, so this cannot say whether a frontend serves there — this replace takes down any that does. |
static.unconfirmed-live | Could not confirm the frontend is live within the wait window — the build uploaded and should come online shortly. |
static.upload-failed | The static-host upload failed — the backend deploy stands: |
sync.record-failed | The … succeeded, but its sync baseline could not be recorded in …: … |
tenant.deploy-partial | The deploy stopped partway: … release ”…” declares… — answered as a NOT NULL violation, though the release makes no field required: the value converts to nul… |
tenant.deploy-unconfirmed | Compare its deployedAt and deployedReleaseId with what they were before this deploy (deployedAt …, deployedReleaseId …). |
tenant.identities-unchecked | Whether this release’s names and pinned public URL slugs are free on … was not checked — …. |
tenant.not-found | No tenant or ephemeral named ”…” — nothing was deleted…. |
tenant.seed-replaces-rows | ”…” was cut with rows, and a tenant deploy REPLACES … rows on … with the release’s — every row there now is deleted: |
tenant.server-release | tenant deploy lands a release the server holds, so the local pre-flight did not run; what it checked instead is listed. |
test.list-truncated | Stopped after … tests — the list did not terminate, so some may not have run. |
toolchain.failed | A toolchain plugin’s hook failed and was skipped; its check did not run. |
toolchain.load-failed | … could not be loaded and … skipped. |
update.available | A new @xano/sdk is available: … → … |
upgrade.partial | Could not restore the … range in package.json: … |
workspace-env.compared-empty | Workspace env: … compared as EMPTY (—allow-empty-env). |
workspace-env.missing-values | … declared env var… no value in …: …. |
workspace-env.not-written | Workspace env: the bundle carries … (…) — NOT written (—no-secrets). |
workspace-env.undeclared | A workspace env var is supplied but not declared in workspaceConfig({ env }); the deploy would add it. |
workspace-env.unsupplied | A declared workspace env var has no value from any source this run reads. |
workspace-env.valueless | … env var… declared with no value in the bundle (…) — see …/.env.example. |
workspace.drift | … does not match this project’s compile (… compared, … differing, … missing, … unexpected). |
workspace.unreachable | The credential is pinned to a workspace id its own workspace list does not hold; the ids it can reach are listed. |