The Stack Auth CLI is published asDocumentation Index
Fetch the complete documentation index at: https://docs.hexclave.com/llms.txt
Use this file to discover all available pages before exploring further.
@stackframe/stack-cli and exposes the stack command. Use it for project setup, branch config workflows, quick admin scripts, and the local emulator.
Install
Install the CLI globally to use thestack command from any project:
Terminal
Terminal
npx @stackframe/stack-cli@latest, for example:
Terminal
Global options
These options can be used before a subcommand:| Option | Description |
|---|---|
--project-id <id> | Project ID for commands that operate on one project. You can also set STACK_PROJECT_ID. |
--json | Print JSON output for commands that support it, such as project list and project create. |
--version | Print the CLI version. |
STACK_API_URL and STACK_DASHBOARD_URL. If unset, it uses Stack Auth Cloud.
Authentication
Log in with a browser:Terminal
STACK_CLI_REFRESH_TOKEN in the CLI credentials file. You can also provide it through the environment, which is useful in CI.
Terminal
Terminal
STACK_CLI_ANON_REFRESH_TOKEN before running login.
Initialize a project
Run the interactive setup wizard:Terminal
--no-agent to print manual setup instructions instead.
Non-interactive init
Use--mode to skip prompts:
| Command | What it does |
|---|---|
stack init --mode create --apps authentication,teams | Create stack.config.ts for local config-driven development. |
stack init --mode create-cloud | Create a new Stack Auth Cloud project and write keys to .env. |
stack init --mode link-config --config-file ./stack.config.ts | Link setup instructions to an existing local config file. |
stack init --mode link-cloud --select-project-id <id> | Write keys for an existing cloud project to .env. |
| Option | Description |
|---|---|
--apps <apps> | Comma-separated app IDs to enable in create mode. |
--config-file <path> | Existing config file for link-config mode. |
--select-project-id <id> | Existing cloud project for link-cloud mode. |
--output-dir <dir> | Directory where output files should be written. Defaults to the current directory. |
--no-agent | Skip the setup agent and print manual instructions. |
Project commands
List projects owned by the logged-in user:Terminal
Terminal
--json when you want machine-readable output:
Terminal
Config commands
Pull branch config into a local TypeScript config file:Terminal
config pull refuses to overwrite an existing file. Add --overwrite when that is intended.
Push a local config file to branch config:
Terminal
config pull requires stack login. config push supports either stack login or STACK_SECRET_SERVER_KEY.
When running in GitHub Actions, config push records GITHUB_REPOSITORY, GITHUB_REF_NAME, GITHUB_SHA, and the config file path as the config source when those environment variables are available.
Execute admin JavaScript
stack exec runs JavaScript with a preconfigured StackServerApp available as stackServerApp.
Terminal
undefined prints nothing.
Local emulator commands
The CLI also manages the QEMU local emulator:Terminal