Skip to main content

Clerk CLI

The Clerk CLI is a command-line tool for you and your agents to set up and manage Clerk authentication directly from the terminal. It supports 10+ frameworks.

Installation

Install the CLI globally, or run it directly without installing using npx clerk or bunx clerk.

terminal
npm install -g clerk
terminal
pnpm install -g clerk
terminal
yarn global add clerk
terminal
bun add -g clerk
terminal
brew install clerk/stable/clerk
terminal
curl -fsSL https://clerk.com/install | bash

Get started

Run clerk init in your project directory to get started:

terminal
clerk init

This command auto-detects your framework, installs the appropriate Clerk SDK, and applies framework-specific setup such as auth pages, middleware, and providers. If you're authenticated with clerk auth login, it also links your project to a Clerk application and pulls your environment variables automatically.

You can also use clerk init --starter to bootstrap a brand new project from a starter template, or run clerk init without an account to get started immediately with temporary development keys.

Note

clerk init doesn't currently support scaffolding for this SDK. You can still use the CLI for app and environment management.

  • Set up authenticationclerk init detects your framework, installs the SDK, and scaffolds your project with Clerk's authentication setup.
  • Manage your account and project linkclerk auth login and clerk auth logout manage your CLI session, clerk whoami shows the current account and linked application, and clerk link / clerk unlink connect or disconnect a project.
  • Manage environment variablesclerk env pull pulls your Clerk API keys into your project's env file.
  • Configure your instanceclerk config pull and clerk config patch let you manage your Clerk instance's auth settings as code.
  • Deploy to productionclerk deploy walks you through promoting a Clerk app from development to production: registering your domain, configuring DNS, and gathering OAuth credentials. Use clerk deploy status to verify deploy completeness.
  • Access the Clerk APIclerk api is an authenticated client for Clerk's Backend API. Target the Platform API with --platform, or query the public, unauthenticated Frontend API with --fapi. Run clerk api ls to explore available endpoints.
  • Run diagnosticsclerk doctor validates your project's Clerk integration and flags common issues. Pass --fix to attempt automatic fixes.
  • Manage applicationsclerk apps list and clerk apps create let you view and create Clerk applications from the terminal.
  • Manage usersclerk users list, clerk users create, and clerk users open work with Clerk users directly. For anything the curated commands don't cover, use clerk api /users.
  • Impersonate a userclerk impersonate (alias clerk imp) mints a short-lived sign-in link so you can sign in as one of your users to reproduce an issue. Every session is traceable to your logged-in account, and you can revoke a pending token with clerk imp revoke.
  • Test webhooks locallyclerk webhooks listen opens a relay tunnel that forwards Clerk webhook deliveries to your local server, and clerk webhooks verify checks a delivery's signature offline. Neither requires a linked project.
  • Toggle featuresclerk enable and clerk disable turn features like organizations and billing on or off for your instance.
  • Open the Dashboardclerk open launches the Clerk Dashboard in your browser from the terminal.
  • Maintain the CLIclerk update updates the CLI to the latest version, and clerk completion generates shell autocompletion for bash, zsh, fish, and PowerShell.

Run clerk --help for a full list of commands.

AI agent integration

The CLI is designed to work seamlessly with AI coding agents:

  • Automatic agent detection — The CLI auto-detects agent vs. human mode. Non-TTY environments default to agent mode, or you can set it explicitly with --mode agent.
  • Agent-friendly setupclerk init -y runs the full setup non-interactively, skipping all confirmation prompts, which is ideal for AI agents.
  • Structured input — Pass command options as a JSON string with --input-json (inline, @file.json, or - for stdin) instead of individual flags.
  • Read-only production statusclerk deploy --mode agent returns a JSON snapshot of your production instance's configuration state so your AI agent can inspect progress and recommend next steps.
  • Clerk Skills — Accept the optional prompt during clerk init (which installs Clerk's agent skills, including clerk-cli), or run npx skills add clerk/skills anytime, to install Clerk Skills — giving your AI agent deeper knowledge about Clerk's SDKs and patterns.

Frequently asked questions (FAQ)

What can't the CLI do?

The CLI's curated commands don't cover every Clerk feature, but clerk api can reach any Backend API or Platform API endpoint. A few things are only available in the Clerk Dashboard: analytics and usage metrics, application and email logs, managing your Clerk workspace (team members, plan, and billing for your Clerk subscription), Account Portal branding and customization, and Clerk Protect security settings.

Which frameworks are supported?

The CLI supports frameworks such as Next.js, React, Vue, Nuxt, Astro, React Router, TanStack Start, and more. Some frameworks like Expo, Express, and Fastify are supported for SDK installation but don't yet include full scaffolding. Run clerk init --help for the current list.

Is it open source?

Yes. The CLI is open source and available on GitHub.

How do I report a bug?

Open an issue on the GitHub repo or contact support.

How do I request a feature?

Submit feature requests on Clerk's public roadmap.

Feedback

What did you think of this content?

Last updated on