---
id: usage
title: Usage
---
Supabase CLI
## Stop the Supabase local development setup {#supabase-stop}
### Usage
```sh
supabase stop [flags]
```
### Options
```sh
-h, --help help for stop
```
## Show status of the Supabase local development setup {#supabase-status}
### Usage
```sh
supabase status [flags]
```
### Options
```sh
-h, --help help for status
```
## Start the Supabase local development setup {#supabase-start}
### Usage
```sh
supabase start [flags]
```
### Options
```sh
-h, --help help for start
```
## Manage Supabase secrets {#supabase-secrets}
### Usage
### Available Commands
- supabase-secrets-list
- supabase-secrets-set
- supabase-secrets-unset
### Options
```sh
-h, --help help for secrets
```
## Unset a secret(s) from the linked Supabase project {#supabase-secrets-unset}
### Usage
```sh
supabase secrets unset ... [flags]
```
### Options
```sh
-h, --help help for unset
```
## Set a secret(s) to the linked Supabase project {#supabase-secrets-set}
### Usage
```sh
supabase secrets set [flags] ...
```
### Options
```sh
--env-file string Read secrets from a .env file.
-h, --help help for set
```
## List all secrets in the linked project {#supabase-secrets-list}
### Usage
```sh
supabase secrets list [flags]
```
### Options
```sh
-h, --help help for list
```
## Manage Supabase projects {#supabase-projects}
### Usage
### Available Commands
- supabase-projects-create
- supabase-projects-list
### Options
```sh
-h, --help help for projects
```
## List all projects {#supabase-projects-list}
### Usage
```sh
supabase projects list [flags]
```
### Options
```sh
-h, --help help for list
```
## Create a new project {#supabase-projects-create}
### Usage
```sh
supabase projects create [flags]
```
### Options
```sh
--db-password string Database password of the project.
-h, --help help for create
--org-id string Organization ID to create the project in.
--plan string Select a plan that suits your needs. Can be "free" or "pro". (default "free")
--region string Select a region close to you for the best performance.
```
## Manage Supabase organizations {#supabase-orgs}
### Usage
### Available Commands
- supabase-orgs-list
### Options
```sh
-h, --help help for orgs
```
## List all organizations the logged-in user belongs {#supabase-orgs-list}
### Usage
```sh
supabase orgs list [flags]
```
### Options
```sh
-h, --help help for list
```
## Manage database migration scripts {#supabase-migration}
### Usage
### Available Commands
- supabase-migration-new
### Options
```sh
-h, --help help for migration
```
## Create an empty migration script {#supabase-migration-new}
### Usage
```sh
supabase migration new [flags]
```
### Options
```sh
-h, --help help for new
```
## Authenticate using an access token {#supabase-login}
### Usage
```sh
supabase login [flags]
```
### Options
```sh
-h, --help help for login
```
## Link to a Supabase project {#supabase-link}
### Usage
```sh
supabase link [flags]
```
### Options
```sh
-h, --help help for link
--project-ref string Project ref of the Supabase project.
```
## Initialize a project to use Supabase CLI {#supabase-init}
### Usage
```sh
supabase init [flags]
```
### Options
```sh
-h, --help help for init
```
## Run code generation tools {#supabase-gen}
### Usage
### Available Commands
- supabase-gen-types
### Options
```sh
-h, --help help for gen
```
## Generate types from Postgres schema {#supabase-gen-types}
### Usage
### Available Commands
- supabase-gen-types-typescript
### Options
```sh
-h, --help help for types
```
## Generate types for TypeScript. Must specify either --local or --db-url
{#supabase-gen-types-typescript}
### Usage
```sh
supabase gen types typescript [flags]
```
### Options
```sh
--db-url string Generate types from a database url.
-h, --help help for typescript
--local Generate types from the local dev database.
```
## Manage Supabase Edge functions {#supabase-functions}
### Usage
### Available Commands
- supabase-functions-delete
- supabase-functions-deploy
- supabase-functions-new
- supabase-functions-serve
### Options
```sh
-h, --help help for functions
```
## Serve a Function locally {#supabase-functions-serve}
### Usage
```sh
supabase functions serve [flags]
```
### Options
```sh
--env-file string Path to an env file to be populated to the Function environment.
-h, --help help for serve
--no-verify-jwt Disable JWT verification for the Function.
```
## Create a new Function locally {#supabase-functions-new}
### Usage
```sh
supabase functions new [flags]
```
### Options
```sh
-h, --help help for new
```
## Deploy a Function to the linked Supabase project {#supabase-functions-deploy}
### Usage
```sh
supabase functions deploy [flags]
```
### Options
```sh
-h, --help help for deploy
--no-verify-jwt Disable JWT verification for the Function.
--project-ref string Project ref of the Supabase project.
```
## Delete a Function from the linked Supabase project. This does NOT remove the Function locally.
{#supabase-functions-delete}
### Usage
```sh
supabase functions delete [flags]
```
### Options
```sh
-h, --help help for delete
--project-ref string Project ref of the Supabase project.
```
## Manage Postgres databases {#supabase-db}
### Usage
### Available Commands
- supabase-db-branch
- supabase-db-diff
- supabase-db-push
- supabase-db-remote
- supabase-db-reset
### Options
```sh
-h, --help help for db
```
## Resets the local database to current migrations {#supabase-db-reset}
### Usage
```sh
supabase db reset [flags]
```
### Options
```sh
-h, --help help for reset
```
## Manage remote database connections {#supabase-db-remote}
### Usage
### Available Commands
- supabase-db-remote-changes
- supabase-db-remote-commit
- supabase-db-remote-set
### Options
```sh
-h, --help help for remote
```
## Set the remote database to push migrations to {#supabase-db-remote-set}
### Usage
```sh
supabase db remote set [flags]
```
### Options
```sh
-h, --help help for set
```
## Commit changes on the remote database since the last pushed migration
{#supabase-db-remote-commit}
### Usage
```sh
supabase db remote commit [flags]
```
### Options
```sh
-h, --help help for commit
```
## Print changes on the remote database since the last pushed migration
{#supabase-db-remote-changes}
### Usage
```sh
supabase db remote changes [flags]
```
### Options
```sh
-h, --help help for changes
```
## Push new migrations to the remote database {#supabase-db-push}
### Usage
```sh
supabase db push [flags]
```
### Options
```sh
--dry-run Print the migrations that would be applied, but don't actually apply them.
-h, --help help for push
```
## Diffs the local database for schema changes {#supabase-db-diff}
### Usage
```sh
supabase db diff [flags]
```
### Options
```sh
-f, --file string Saves schema diff to a file.
-h, --help help for diff
-s, --schema strings List of schema to include. (default [public])
--use-migra Use migra to generate schema diff.
```
## Manage branches. Each branch is associated with a separate database.
{#supabase-db-branch}
### Usage
### Available Commands
- supabase-db-branch-create
- supabase-db-branch-delete
- supabase-db-branch-list
- supabase-db-branch-switch
### Options
```sh
-h, --help help for branch
```
## Switch the active branch {#supabase-db-branch-switch}
### Usage
```sh
supabase db branch switch [flags]
```
### Options
```sh
-h, --help help for switch
```
## List branches {#supabase-db-branch-list}
### Usage
```sh
supabase db branch list [flags]
```
### Options
```sh
-h, --help help for list
```
## Delete a branch {#supabase-db-branch-delete}
### Usage
```sh
supabase db branch delete [flags]
```
### Options
```sh
-h, --help help for delete
```
## Create a branch {#supabase-db-branch-create}
### Usage
```sh
supabase db branch create [flags]
```
### Options
```sh
-h, --help help for create
```