Skip to content
Console →
Website →
Asking an AI? Paste this URL https://keelson.dev/llms.txt

CLI commands

This is a list of keelson CLI commands. You usually do not need to memorize them all because an AI agent runs them through a Skill.

See the Quickstart to install the CLI. Run keelson upgrade to update it.

FlagDescription
--app <slug>Target app. If omitted, resolved from keelson.yaml in the current directory
--workspace <slug|name|id>Target workspace. Required when you belong to multiple workspaces
--jsonOutput the result as JSON. Use this from scripts and agents
--quietOutput a single line
--timeout / --retryTimeout and retry count for API calls
--no-browserDisplay the URL without opening a browser

When a command fails with --json, it returns {"error":{"code","message","hint","retryable"}} on standard output. Follow hint. If retryable is false, repeating the same command will not change the result.

The former --tenant flag and keelson tenants list command remain accepted as compatibility aliases. No removal date is set.

CommandDescription
keelson login [--no-browser]Log in through a browser and link this device
keelson logout [--all-devices]Delete the saved login credentials on this device and invalidate the server-side session. --all-devices logs out every device
keelson whoamiShow the current user and workspace
keelson workspaces list [--query <text>]List or search the workspaces you belong to
keelson doctor [--fix-path]Check PATH, login, and Skill status. --fix-path adds PATH to the shell configuration file
keelson install-agent <claude-code|codex|cursor> [--global]Install the Skill for an AI agent. With no argument and --yes, update all installed Skills
keelson upgradeUpdate the CLI to the latest version
keelson versionShow the version
keelson telemetry status|off|onShow, disable, or enable CLI usage telemetry
CommandDescription
keelson deployDeploy the app in the current directory and wait for completion
keelson deploy --new [--secrets-from-env-file <path>]Create an app and deploy it for the first time. Register values from an env file as secrets and exclude that file from the archive
keelson deploy --check [--json]Validate the configuration and display archive contents (excluded files and files that may contain secret values) without uploading
keelson deploy --ndjson --yesFor scripts. Stream progress as one JSON object per line and finish with {"result":"success"|"failed"}
keelson status [deploy_id]Show app or deploy status
keelson diagnose [deploy_id]Diagnose a failed deploy (with an ID), including stored startup logs when startup failed, or the running app (without an ID)
keelson deploys listShow deploy history
keelson rollback [deploy_id]Return to the previous successful deploy, or the specified deploy, without building

The NDJSON stream may include lines such as {"stage":"health_check","status":"progress",…} while a stage is running. Decide success or failure only from the line that contains result.

CommandDescription
keelson app curl <path> [-i] [--method] [--data] [--form] [--header]Send one authenticated request to the app. See Verify a deploy
keelson preview [--ttl] [--allow-writes] [--json]Issue a short-lived authenticated ticket
keelson app info / start / stop / restartShow app information, start, suspend, or restart the app
CommandDescription
keelson logs app <slug> [--mode live|history] [--severity] [--previous]Show the app’s standard output and standard error
keelson logs cron <slug>Show scheduled job execution logs
keelson logs accessShow access logs
keelson logs deploy [deploy_id] [--limit] [--since]Show deploy progress logs and stored failure details, including startup logs when the app exited during startup. Build output for a successful deploy is not retained, so the command explains when no logs are available

Pass values through standard input or an env file, not as command arguments.

CommandDescription
keelson secrets listShow configured names and update times
echo -n "<value>" | keelson secrets set <KEY> [--apply]Set one value. --apply also redeploys the app
keelson secrets set --from-env-file <path> [--apply]Set multiple values from an env file
keelson secrets unset <KEY>Delete a secret

Secrets take effect on the next deploy, or when you use --apply.

CommandDescription
keelson apps listList apps in the workspace
keelson apps duplicate <slug> --name <new> [--copy-secrets]Duplicate an app
keelson apps rename <new_slug>Change the slug (the URL does not change)
keelson apps delete [slug]Delete an app. Browser approval is required
keelson quotasShow plan limits and usage
CommandDescription
keelson crons list [--include-disabled]List jobs
keelson crons trigger <name> [--wait]Run a job now
keelson crons enable <name> / disable <name>Enable or disable a job
keelson crons runs list [--cron <name>]Show execution history
keelson dev cron run <name>Run a cron from keelson.yaml locally
CommandDescription
keelson db apply [file.sql]Run SQL against Managed SQLite. Browser approval is required
keelson snapshots listList restore points and in-flight exports
keelson snapshots createCreate a manual snapshot
keelson snapshots download <id> -o <file>Download a backup
keelson snapshots export --at <RFC3339>Export data at a specific point in time (PITR)
keelson snapshots restore <id>Restore a snapshot. Browser approval is required. The restore can be undone within 72 hours
keelson snapshots restore-statusCheck the progress and result of the latest restore
keelson db revoke-tokensRevoke DB authentication tokens (destructive)
keelson db recover / credential-statusRecover credentials and show their status
CommandDescription
keelson groups listList groups
keelson groups create <key> [--name] [--description] [--if-not-exists]Create a custom group
keelson groups members list|add|remove <key> <email>...List, add, or remove members
keelson access show --app <slug>Show the app’s view and manage groups
keelson access set --app <slug> [--view <key>...|--view none] [--manage <key>...]Set permissions. The manage group list cannot be empty
CommandDescription
keelson apps tokens create --name <n> --scope <api|webhook> [--allowed-ip <cidr>]Issue an app token (shown only once)
keelson apps tokens list / rotate / deleteList, rotate, or revoke tokens
keelson apps directory enableIssue a Directory API token and register it as KEELSON_DIRECTORY_TOKEN (redeploy required)
keelson domains add|list|verify|remove <hostname>Manage custom domains (Team)
keelson dev email --to ... --subject ...Send a test inbound email to the local app

Deleting an app, running SQL, and restoring a snapshot cannot be completed with the CLI alone. The command displays an approval URL and exits with confirmation_required. After you approve the operation in a browser, it runs on the server. You do not need to run the command again. In an interactive terminal, use --wait to wait for completion. Approval expires after 15 minutes.

VariableDescription
KEELSON_TOKENToken used instead of login (for CI)
KEELSON_NO_UPDATE_CHECK / KEELSON_NO_SKILL_SYNCDisable update checks or automatic Skill updates
KEELSON_NO_TELEMETRYDisable CLI usage telemetry
KEELSON_CONFIG_DIRConfiguration file location