npx skills add ...
npx skills add auth0/agent-skills --skill auth0-cli
npx skills add auth0/agent-skills --skill auth0-cli
Use when running Auth0 CLI commands to manage tenant resources — creating apps or APIs, managing users, roles, organizations, actions, log streams, custom domains, or Universal Login config. Also use when calling the Auth0 Management API directly via the CLI.
The Auth0 CLI (auth0) lets you manage your tenant from the terminal. Install it via Homebrew (brew install auth0/auth0-cli/auth0). For complete flag definitions and examples, see the Full CLI Reference [blocked].
See Authentication Details [blocked] for machine login with JWT, tenant management, and logout.
| What you're doing | Command to use |
|---|---|
| Setting up a new project | auth0 apps create --type spa|regular|m2m|native --json |
| Need a client ID or secret | auth0 apps show <id> -r --json |
| Registering a backend API | auth0 apis create --identifier "https://..." --json |
| Finding a user's ID | auth0 users search --query "email:..." --json |
| Creating/managing roles (RBAC) | auth0 roles create / auth0 users roles assign |
| B2B multi-tenancy | auth0 orgs create |
| Custom login logic | auth0 actions create --trigger post-login --json |
| Branding the login page | auth0 ul update --logo ... --accent ... |
| Custom domain for login | auth0 domains create --domain "auth.myapp.com" --json |
| Debugging a failed login | auth0 logs tail --filter "type:f" --json-compact |
| Testing a login flow | auth0 test login <client-id> |
| Exporting config as Terraform | auth0 terraform generate --output-dir ./terraform |
| Managing connections, grants, hooks | auth0 api get <path> |
| Scripting / parsing output | Add --json or --json-compact to any command |
| Security hardening | auth0 protection brute-force-protection update --enabled true |
| Routing logs externally | auth0 logs streams create datadog|http|splunk |
| Bulk importing users | auth0 users import --connection-name ... --users '...' --json |
Create or inspect Auth0 applications (client ID, secret, callback URLs, app type). Alias: auth0 clients.
App types: spa, regular, m2m, native, resource_server
Full details: Apps Reference [blocked]
Register backend APIs (Resource Servers) to protect with Auth0 tokens. Alias: auth0 resource-servers.
Key distinction: apps = the client requesting tokens. apis = the resource accepting tokens.
Full details: APIs Reference [blocked]
Create, search, inspect, import, and manage users in your tenant.
Full details: Users Reference [blocked]
Create roles, assign permissions, and assign roles to users. The CLI has dedicated commands for all role operations.
Full details: Roles Reference [blocked]
Manage organizations for B2B SaaS scenarios. Alias: auth0 orgs.
Full details: Organizations Reference [blocked]
Create and deploy serverless functions at auth pipeline trigger points. Replaces deprecated Rules.
Triggers: post-login, credentials-exchange, pre-user-registration, post-user-registration, post-change-password, send-phone-message
Important: You must deploy after creating or updating for changes to take effect.
Full details: Actions Reference [blocked]
Common codes: s (success), f (failed login), slo (logout), fs (silent auth failure)
Full details: Logs Reference [blocked]
Full details: Domains Reference [blocked]
Full details: Universal Login Reference [blocked]
Full details: Terraform Reference [blocked]
Full details: Test Reference [blocked]
Full details: Attack Protection Reference [blocked]
Supported: eventbridge, eventgrid, http, datadog, splunk, sumo
Full details: Log Streams Reference [blocked]
When a dedicated command doesn't exist, auth0 api calls Management API v2 endpoints directly.
Full details: Raw API Reference [blocked]
Always use --json or --json-compact for machine-readable output. Three modes (mutually exclusive):
| Flag | When to use |
|---|---|
--json | Human inspection, debugging — pretty-printed with indentation |
--json-compact | Piping to jq, scripting, pipelines — compact single-line |
--csv | Spreadsheets and tabular export |
Full details: Output Formatting Reference [blocked]
Complete CLI reference with all flags, examples, and usage patterns:
auth0-quickstart — Initial Auth0 setup, framework detectionauth0-migration — Migrate from other auth providersauth0-mfa — Multi-Factor Authentication setupauth0 apps create --name "My SPA" --type spa \
--auth-method None \
--callbacks "http://localhost:3000" \
--logout-urls "http://localhost:3000" \
--origins "http://localhost:3000" --json
auth0 apps list --json-compact
auth0 apps show <client-id> --json
auth0 apps update <client-id> --callbacks "http://localhost:3000,https://myapp.com" --json
auth0 apps delete <client-id> --forceauth0 apis create --name "My API" --identifier "https://api.myapp.com" \
--scopes "read:data,write:data" --token-lifetime 3600 --json
auth0 apis list --json-compact
auth0 apis scopes list <api-id> --jsonauth0 users search --query "email:user@example.com" --json
auth0 users search-by-email user@example.com --json-compact
auth0 users create --connection-name "Username-Password-Authentication" \
--email "test@example.com" --password "$USER_PASSWORD" --json
auth0 users show <user-id> --json
auth0 users blocks list <email> --json
auth0 users blocks unblock <email>
auth0 users import --connection-name "Username-Password-Authentication" \
--users '[...]' --upsert --jsonauth0 roles create --name "editor" --description "Can edit content" --json
auth0 roles permissions add <role-id> --api-id <api-id> --permissions "read:data,write:data" --json
auth0 users roles assign <user-id> --roles <role-id>
auth0 users roles show <user-id> --json-compactauth0 orgs create --name "acme-corp" --display "Acme Corporation" \
--logo "https://acme.com/logo.png" --accent "#FF6600" --json
auth0 orgs members list <org-id> --json
auth0 orgs invitations create --org-id <org-id> --invitee-email "new@acme.com" \
--inviter-name "Admin" --client-id <id> --jsonauth0 actions create --name "Add Claims" --trigger "post-login" \
--code 'exports.onExecutePostLogin = async (event, api) => { ... }' --json
auth0 actions deploy <action-id>auth0 logs tail --filter "type:f" --json-compact # real-time failed logins
auth0 logs list --filter "type:f" --number 20 --json-compact # historicalauth0 domains create --domain "auth.myapp.com" --type "auth0_managed_certs" --json
auth0 domains verify <domain-id> --jsonauth0 ul update --accent "#FF6600" --background "#FFFFFF" \
--logo "https://myapp.com/logo.png" --jsonauth0 terraform generate --output-dir ./terraform --resources "auth0_client,auth0_connection"auth0 test login <client-id>
auth0 test login <client-id> --audience "https://api.myapp.com" --scopes "openid profile email"auth0 protection brute-force-protection update --enabled true
auth0 protection breached-password-detection update --enabled true
auth0 protection bot-detection update --enabled trueauth0 logs streams create datadog # interactive setup
auth0 logs streams create http # custom webhook
auth0 logs streams list --jsonauth0 api get connections
auth0 api post client-grants --data '{"client_id":"...","audience":"...","scope":["read:data"]}'
auth0 api get stats/daily -q "from=20240101" -q "to=20240131"auth0 apps list --json-compact | jq '.[] | {client_id, name}'
auth0 users show <user-id> --json-compact | jq '{id: .user_id, email: .email}'
auth0 roles list --json-compact | jq '.[].name'