> ## Documentation Index
> Fetch the complete documentation index at: https://sdk.docs.xano.com/llms.txt
> Use this file to discover all available pages before exploring further.

# xanosdk release create

> Cut a release from a running environment, tenant, or the workspace.

## Usage

```bash theme={null}
xanosdk release create <name> [options]
```

## Backends

| Slot | Accepts | When omitted |
| - | - | - |
| `--from` | workspace, ephemeral, ephemeral:\<name>, or tenant:\<name> | The backend this project last deployed to |

* `--from` refuses `local`: the cut runs on the instance, which cannot reach an engine on this machine

## Flags

| Flag | Description |
| - | - |
| `--from <source>` | Cut from this backend instead of the one this project last deployed to (a tenant only when it is a throwaway one: ephemeral or sandbox): workspace, ephemeral, ephemeral:\<name>, or tenant:\<name> |
| `--description <text>` | What this release is for |
| `--branch <label>` | Cut from this branch of your workspace (default: the one it serves) |
| `--seed[=<guids>]` | Carry the source's table ROWS in the archive: every table, or only these guids (`xanosdk tables <backend>` lists them for the backend you are cutting from). Guids survive a redeploy, so one written down earlier keeps matching — and a rename whose xano.lock entry moves with it (`lock rename`) keeps it too; one the lock is not told about gives the table a new guid. Off by default — schema always travels either way |
| `--yes, -y` | Skip the confirmation when seeded rows include non-public columns |
| `--bundle <path>` | Compare the source against this already-exported bundle instead of compiling the project's entry. The release still carries what is RUNNING |
| `--entry <path>` | Compare the source against a compile of this entry instead of the project's default one (a nested backend, `--entry=suites/alpha/xano/index.ts`). The release still carries what is RUNNING |
| `--strict` | Promote every export warning (data-losing shapes, unresolvable filters) to a hard failure |
| `--env-var KEY=VALUE` | Set one BACKEND workspace env var for this run (repeatable). Beats xano/.env and --backend-env-file; the value never touches disk. Applies ONLY to the local-compile comparison this command runs against the source — the released bytes come from what is running |
| `--backend-env-file <path>` | Read backend env values from this dotenv-style file INSTEAD of the default xano/.env (for CI, which does not have the ignored default). Applies ONLY to the local-compile comparison this command runs against the source — the released bytes come from what is running |
| `--allow-empty-env=NAME[,NAME]` | Send these declared names EMPTY when no value is supplied, clearing them in whatever imports the bundle. Only `deploy` refuses without it; per-name on purpose, and a bare --allow-empty-env is refused. Applies ONLY to the local-compile comparison this command runs against the source — the released bytes come from what is running |
| `--allow-empty-doc-token=<scope>` | Send this scope's documentation token EMPTY when none is supplied, clearing that doc site's gate in whatever imports the bundle — `workspace`, or an API group's name. Repeat for more than one. Without it `deploy` refuses any gate left with no token, and every build refuses one on a group that publishes its docs (`swagger` on); a bare --allow-empty-doc-token is refused. Applies ONLY to the local-compile comparison this command runs against the source — the released bytes come from what is running |
| `--secrets-file <path>` | Read documentation tokens from this file INSTEAD of the default xano/.secrets.json (for CI, which does not have the ignored default). Applies ONLY to the local-compile comparison this command runs against the source — the released bytes come from what is running |
| `--doc-token <scope>=<value>` | Supply one documentation token inline — `workspace=…`, or an API group's name. Repeat for more than one. Prefer --secrets-file: a value here is visible in shell history, the process list, and any CI log that echoes the command. Applies ONLY to the local-compile comparison this command runs against the source — the released bytes come from what is running |
| `--origin <origin>` | Xano OAuth host for `login` and a XANO\_REFRESH\_TOKEN exchange (default: \$XANO\_ORIGIN) |
| `--config <path>` | Explicit credential file (default: \$XANO\_CONFIG) |
| `--local-auth` | Use the project-local ./.xano/auth.json instead of the shared cache |

Global flags are listed in the [CLI overview](/reference/cli).

***

*Generated from @xano/sdk 1.0.9.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.