Build, manage and test your Auth0 integrations from the command line
341
stars
1,534
commits
Go
primary language
Sep 14, 2026
updated
Build, manage and test your Auth0 integrations from the command line.

auth0 test login.auth0 logs tail command.Install via Homebrew:
brew install auth0
[!NOTE] The CLI is now available in the official Homebrew core, so a custom tap is no longer needed. If you previously installed via the
auth0/auth0-clitap, migrate with:brew uninstall auth0 && brew untap auth0/auth0-cli brew install auth0
Install via cURL:
./auth0:curl -sSfL https://raw.githubusercontent.com/auth0/auth0-cli/main/install.sh | sh -s -- -b .
sudo mv ./auth0 /usr/local/bin
[!TIP] On macOS, depending on the state of your current development environment you may have to first create the directory with
sudo mkdir -p /usr/local/binin order for the above command to work. Alternatively, you can move it to a directory of your choice and then add that directory to your $PATH instead.
Install via Scoop:
scoop install auth0
[!NOTE] The CLI is now available in the official Scoop
mainbucket (enabled by default), so a custom bucket is no longer needed. If you previously installed from theauth0/scoop-auth0-clibucket, migrate with:scoop uninstall auth0 && scoop bucket rm auth0 scoop install auth0
Install via Powershell:
$latestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/auth0/auth0-cli/releases/latest"
$latestVersion = $latestRelease.tag_name
$version = $latestVersion -replace "^v"
Invoke-WebRequest -Uri "https://github.com/auth0/auth0-cli/releases/download/${latestVersion}/auth0-cli_${version}_Windows_x86_64.zip" -OutFile ".\auth0.zip"
Expand-Archive ".\auth0.zip" .\
[System.Environment]::SetEnvironmentVariable('PATH', $Env:PATH + ";${pwd}")
Alternatively, follow the instructions in the Manual section below. Learn more about environment variables in Powershell
Install via Go:
# Make sure your $GOPATH/bin is exported on your $PATH
# to be able to run the binary from any directory.
go install github.com/auth0/auth0-cli/cmd/auth0@latest
Download the appropriate binary for your environment from the latest release
Extract the archive
$ tar -xf auth0-cli_{version}_Darwin_{architecture}.tar.gz$ tar -xf auth0-cli_{version}_Linux_{architecture}.tar.gzauth0-cli_{version}_Windows_{architecture}.zip using your preferred method for working with compressed files.Make sure that the PATH and HOME environment variables include the folder where the binary was extracted.
macOS/Linux:
PATH and HOME are set correctly:export PATH=$PATH:/path/to/extracted/auth0/cli/folder
export HOME=/path/to/home/directory
Windows:
Run auth0
[!TIP] Autocompletion instructions for supported platforms available by running
auth0 completion -h
[!WARNING] This is a beta release of the Auth0 CLI and is not yet generally available. Features and behavior may change before the final release.
[!WARNING] The beta release does not fully support the interactive device authorization login flow (
auth0 loginas a user). We recommend authenticating with machine-to-machine (M2M) client credentials while using the beta. See Authenticating to Your Tenant for details.
Install via Homebrew:
brew tap auth0/auth0-cli && brew install auth0-beta
[!NOTE] The
auth0-betaformula installs the beta build as theauth0binary. Run it withauth0once installed.
Install via cURL:
./auth0:curl -sSfL https://raw.githubusercontent.com/auth0/auth0-cli/beta/install.sh | sh -s -- -b .
sudo mv ./auth0 /usr/local/bin
Install via Scoop:
scoop bucket add auth0 https://github.com/auth0/scoop-auth0-cli.git
scoop install auth0-beta
[!NOTE] The
auth0-betamanifest installs the beta build as theauth0binary. Run it withauth0once installed.
Install via Powershell:
$latestRelease = (Invoke-RestMethod -Uri "https://api.github.com/repos/auth0/auth0-cli/releases") | Where-Object { $_.prerelease -eq $true } | Select-Object -First 1
$latestVersion = $latestRelease.tag_name
$version = $latestVersion -replace "^v"
Invoke-WebRequest -Uri "https://github.com/auth0/auth0-cli/releases/download/${latestVersion}/auth0-cli_${version}_Windows_x86_64.zip" -OutFile ".\auth0.zip"
Expand-Archive ".\auth0.zip" .\
Install via Go:
# Make sure your $GOPATH/bin is exported on your $PATH
# to be able to run the binary from any directory.
# Latest beta code (tip of the beta branch):
go install github.com/auth0/auth0-cli/cmd/auth0@beta
# Or a specific published beta release (reproducible):
# See https://github.com/auth0/auth0-cli/releases for available tags.
go install github.com/auth0/auth0-cli/cmd/auth0@v1.33.0-beta.0
[!NOTE] Do not use
@latestfor the beta. Go's@latestskips pre-release versions, so it always resolves to the stable release instead of a beta.
PATH/HOME setup steps described in the Manual installation section above.Authenticating to your Auth0 tenant is required for most functions of the CLI. It can be initiated by running:
auth0 login
There are two ways to authenticate:
Warning Authenticating as a user is not supported for private cloud tenants. Instead, those users should authenticate with client credentials. Refer command below:
auth0 login --domain <domain> --client-id <client-id> --client-secret <client-secret>
auth0 login --domain <domain> --client-id <client-id> --client-assertion-private-key <path-to-private-key / private-key> --client-assertion-signing-alg <signing-algorithm>
When your access token expires, the CLI will prompt you to confirm whether to continue with your default tenant or select a different one:
Continue login with default tenant 'your-tenant.auth0.com'? [y/N]
Select y to proceed with your default tenant, or N to choose a different tenant.
Note: Using the CLI will consume Management API rate limits according to the subscription plan. Ref Rate limit Policy
The default text editor is vim on Linux/macOS and notepad on Windows. To change that for editing templates, rules, and actions, set the environment variable EDITOR to your
preferred editor. If choosing a non-terminal editor, ensure that the command starts the editor and waits for the files to be closed before returning.
# Uses vscode with the --wait flag.
export EDITOR="code --wait"
# Uses sublime text with the --wait flag.
export EDITOR="subl --wait"
# Uses nano, a terminal based editor.
export EDITOR="nano"
# Uses vim, a terminal based editor.
export EDITOR="vim"
# PowerShell (current session):
$env:EDITOR = "code --wait"
$env:EDITOR = 'subl --wait'
$env:EDITOR = 'notepad'
$env:EDITOR = '"C:\Path To\executable++.exe" --wait'
# PowerShell (persistent, across sessions):
[System.Environment]::SetEnvironmentVariable("EDITOR", "code --wait", "User")
REM Command Prompt (current session):
set EDITOR=code --wait
set EDITOR=subl --wait
set EDITOR=notepad
set EDITOR="C:\Path To\executable++.exe" --wait
REM Command Prompt (persistent, across sessions):
setx EDITOR "code --wait"
CLI guidance for AI agents (Claude Code, Cursor, OpenClaw, etc.) ships as part of the AgentSkills-compatible auth0 skill in the Auth0 Agent Skills repository. The auth0 skill routes across all Auth0 SDKs, features, and tooling — including this CLI.
Claude Code (official plugins marketplace):
/plugin install auth0@claude-plugins-official
From the terminal (no session needed):
claude plugin install auth0@claude-plugins-official
Any agent (Skills CLI):
The Skills CLI works with Claude Code, Cursor, Copilot, Codex, and 40+ other agents:
npx skills add auth0/agent-skills
Target specific agents with --agent:
npx skills add auth0/agent-skills --agent claude-code cursor
Manual installation (Claude Code, OpenClaw):
git clone https://github.com/auth0/agent-skills.git
# Claude Code
cp -r agent-skills/plugins/auth0/skills/auth0 ~/.claude/skills/
# OpenClaw
cp -r agent-skills/plugins/auth0/skills/auth0 ~/.openclaw/skills/
Note: The
auth0binary must be installed and available on your$PATHfor agents to use the CLI guidance in this skill.
For AI agents and automation, agent mode makes output machine-friendly: structured JSON, no interactive prompts, and no color codes.
AUTH0_AGENT_MODE=true--agent-modePrecedence: --agent-mode flag > AUTH0_AGENT_MODE env var > auto-detection (set --agent-mode=false to opt out). Destructive commands still require --force; without it (and with prompts disabled) they fail with an error rather than proceeding.
Usage data points are collected during use of this CLI. This includes the CLI version, operating system, timestamp, the command executed, whether it was run by a human, a CI system, or an AI agent, and — when you're authenticated — the domain of the tenant you're operating against. Tenant domain can identify your Auth0 account and is not anonymized.
Auth0 uses this data to understand how the tool is used, to prioritize the features, enhancements and fixes that matter most to our users, and to attribute usage to a tenant for support and product purposes.
To opt-out of this collection, set the AUTH0_CLI_ANALYTICS environment variable to false.
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
To provide feedback or report a bug, please raise an issue on our issue tracker.
Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?
This project is licensed under the MIT license. See the LICENSE file for more info.
(top 30 of 62)
Go
97.5%
Shell
1.3%
Build, manage and test your Auth0 integrations from the command line
341
stars
1,534
commits
Go
primary language
Sep 14, 2026
updated
Build, manage and test your Auth0 integrations from the command line.

auth0 test login.auth0 logs tail command.Install via Homebrew:
brew install auth0
[!NOTE] The CLI is now available in the official Homebrew core, so a custom tap is no longer needed. If you previously installed via the
auth0/auth0-clitap, migrate with:brew uninstall auth0 && brew untap auth0/auth0-cli brew install auth0
Install via cURL:
./auth0:curl -sSfL https://raw.githubusercontent.com/auth0/auth0-cli/main/install.sh | sh -s -- -b .
sudo mv ./auth0 /usr/local/bin
[!TIP] On macOS, depending on the state of your current development environment you may have to first create the directory with
sudo mkdir -p /usr/local/binin order for the above command to work. Alternatively, you can move it to a directory of your choice and then add that directory to your $PATH instead.
Install via Scoop:
scoop install auth0
[!NOTE] The CLI is now available in the official Scoop
mainbucket (enabled by default), so a custom bucket is no longer needed. If you previously installed from theauth0/scoop-auth0-clibucket, migrate with:scoop uninstall auth0 && scoop bucket rm auth0 scoop install auth0
Install via Powershell:
$latestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/auth0/auth0-cli/releases/latest"
$latestVersion = $latestRelease.tag_name
$version = $latestVersion -replace "^v"
Invoke-WebRequest -Uri "https://github.com/auth0/auth0-cli/releases/download/${latestVersion}/auth0-cli_${version}_Windows_x86_64.zip" -OutFile ".\auth0.zip"
Expand-Archive ".\auth0.zip" .\
[System.Environment]::SetEnvironmentVariable('PATH', $Env:PATH + ";${pwd}")
Alternatively, follow the instructions in the Manual section below. Learn more about environment variables in Powershell
Install via Go:
# Make sure your $GOPATH/bin is exported on your $PATH
# to be able to run the binary from any directory.
go install github.com/auth0/auth0-cli/cmd/auth0@latest
Download the appropriate binary for your environment from the latest release
Extract the archive
$ tar -xf auth0-cli_{version}_Darwin_{architecture}.tar.gz$ tar -xf auth0-cli_{version}_Linux_{architecture}.tar.gzauth0-cli_{version}_Windows_{architecture}.zip using your preferred method for working with compressed files.Make sure that the PATH and HOME environment variables include the folder where the binary was extracted.
macOS/Linux:
PATH and HOME are set correctly:export PATH=$PATH:/path/to/extracted/auth0/cli/folder
export HOME=/path/to/home/directory
Windows:
Run auth0
[!TIP] Autocompletion instructions for supported platforms available by running
auth0 completion -h
[!WARNING] This is a beta release of the Auth0 CLI and is not yet generally available. Features and behavior may change before the final release.
[!WARNING] The beta release does not fully support the interactive device authorization login flow (
auth0 loginas a user). We recommend authenticating with machine-to-machine (M2M) client credentials while using the beta. See Authenticating to Your Tenant for details.
Install via Homebrew:
brew tap auth0/auth0-cli && brew install auth0-beta
[!NOTE] The
auth0-betaformula installs the beta build as theauth0binary. Run it withauth0once installed.
Install via cURL:
./auth0:curl -sSfL https://raw.githubusercontent.com/auth0/auth0-cli/beta/install.sh | sh -s -- -b .
sudo mv ./auth0 /usr/local/bin
Install via Scoop:
scoop bucket add auth0 https://github.com/auth0/scoop-auth0-cli.git
scoop install auth0-beta
[!NOTE] The
auth0-betamanifest installs the beta build as theauth0binary. Run it withauth0once installed.
Install via Powershell:
$latestRelease = (Invoke-RestMethod -Uri "https://api.github.com/repos/auth0/auth0-cli/releases") | Where-Object { $_.prerelease -eq $true } | Select-Object -First 1
$latestVersion = $latestRelease.tag_name
$version = $latestVersion -replace "^v"
Invoke-WebRequest -Uri "https://github.com/auth0/auth0-cli/releases/download/${latestVersion}/auth0-cli_${version}_Windows_x86_64.zip" -OutFile ".\auth0.zip"
Expand-Archive ".\auth0.zip" .\
Install via Go:
# Make sure your $GOPATH/bin is exported on your $PATH
# to be able to run the binary from any directory.
# Latest beta code (tip of the beta branch):
go install github.com/auth0/auth0-cli/cmd/auth0@beta
# Or a specific published beta release (reproducible):
# See https://github.com/auth0/auth0-cli/releases for available tags.
go install github.com/auth0/auth0-cli/cmd/auth0@v1.33.0-beta.0
[!NOTE] Do not use
@latestfor the beta. Go's@latestskips pre-release versions, so it always resolves to the stable release instead of a beta.
PATH/HOME setup steps described in the Manual installation section above.Authenticating to your Auth0 tenant is required for most functions of the CLI. It can be initiated by running:
auth0 login
There are two ways to authenticate:
Warning Authenticating as a user is not supported for private cloud tenants. Instead, those users should authenticate with client credentials. Refer command below:
auth0 login --domain <domain> --client-id <client-id> --client-secret <client-secret>
auth0 login --domain <domain> --client-id <client-id> --client-assertion-private-key <path-to-private-key / private-key> --client-assertion-signing-alg <signing-algorithm>
When your access token expires, the CLI will prompt you to confirm whether to continue with your default tenant or select a different one:
Continue login with default tenant 'your-tenant.auth0.com'? [y/N]
Select y to proceed with your default tenant, or N to choose a different tenant.
Note: Using the CLI will consume Management API rate limits according to the subscription plan. Ref Rate limit Policy
The default text editor is vim on Linux/macOS and notepad on Windows. To change that for editing templates, rules, and actions, set the environment variable EDITOR to your
preferred editor. If choosing a non-terminal editor, ensure that the command starts the editor and waits for the files to be closed before returning.
# Uses vscode with the --wait flag.
export EDITOR="code --wait"
# Uses sublime text with the --wait flag.
export EDITOR="subl --wait"
# Uses nano, a terminal based editor.
export EDITOR="nano"
# Uses vim, a terminal based editor.
export EDITOR="vim"
# PowerShell (current session):
$env:EDITOR = "code --wait"
$env:EDITOR = 'subl --wait'
$env:EDITOR = 'notepad'
$env:EDITOR = '"C:\Path To\executable++.exe" --wait'
# PowerShell (persistent, across sessions):
[System.Environment]::SetEnvironmentVariable("EDITOR", "code --wait", "User")
REM Command Prompt (current session):
set EDITOR=code --wait
set EDITOR=subl --wait
set EDITOR=notepad
set EDITOR="C:\Path To\executable++.exe" --wait
REM Command Prompt (persistent, across sessions):
setx EDITOR "code --wait"
CLI guidance for AI agents (Claude Code, Cursor, OpenClaw, etc.) ships as part of the AgentSkills-compatible auth0 skill in the Auth0 Agent Skills repository. The auth0 skill routes across all Auth0 SDKs, features, and tooling — including this CLI.
Claude Code (official plugins marketplace):
/plugin install auth0@claude-plugins-official
From the terminal (no session needed):
claude plugin install auth0@claude-plugins-official
Any agent (Skills CLI):
The Skills CLI works with Claude Code, Cursor, Copilot, Codex, and 40+ other agents:
npx skills add auth0/agent-skills
Target specific agents with --agent:
npx skills add auth0/agent-skills --agent claude-code cursor
Manual installation (Claude Code, OpenClaw):
git clone https://github.com/auth0/agent-skills.git
# Claude Code
cp -r agent-skills/plugins/auth0/skills/auth0 ~/.claude/skills/
# OpenClaw
cp -r agent-skills/plugins/auth0/skills/auth0 ~/.openclaw/skills/
Note: The
auth0binary must be installed and available on your$PATHfor agents to use the CLI guidance in this skill.
For AI agents and automation, agent mode makes output machine-friendly: structured JSON, no interactive prompts, and no color codes.
AUTH0_AGENT_MODE=true--agent-modePrecedence: --agent-mode flag > AUTH0_AGENT_MODE env var > auto-detection (set --agent-mode=false to opt out). Destructive commands still require --force; without it (and with prompts disabled) they fail with an error rather than proceeding.
Usage data points are collected during use of this CLI. This includes the CLI version, operating system, timestamp, the command executed, whether it was run by a human, a CI system, or an AI agent, and — when you're authenticated — the domain of the tenant you're operating against. Tenant domain can identify your Auth0 account and is not anonymized.
Auth0 uses this data to understand how the tool is used, to prioritize the features, enhancements and fixes that matter most to our users, and to attribute usage to a tenant for support and product purposes.
To opt-out of this collection, set the AUTH0_CLI_ANALYTICS environment variable to false.
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
To provide feedback or report a bug, please raise an issue on our issue tracker.
Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?
This project is licensed under the MIT license. See the LICENSE file for more info.
(top 30 of 62)
Go
97.5%
Shell
1.3%