---
title: CLI overview
description: Run the c15t CLI from @c15t/cli to add c15t to an app, migrate v2
  code, manage Inth projects and migrate a self-hosted database.
group: cli
lastModified: "2026-10-10T16:01:45+01:00"
---
## Run the CLI

The CLI ships as `@c15t/cli`. Its v3 release uses the `alpha` dist-tag, like the
other c15t packages. Run it without installing:

```bash
npx @c15t/cli@alpha --help
```

`bunx @c15t/cli@alpha`, `pnpm dlx @c15t/cli@alpha` and `yarn dlx @c15t/cli@alpha`
work the same way. Keep `@alpha`; without it, npm resolves the v2 CLI.

To pin the version in your repository, install it as a development dependency
and run the `c15t` executable:

|Package manager|Command|
|:--|:--|
|npm|`npm install -D @c15t/cli@alpha`|
|pnpm|`pnpm add -D @c15t/cli@alpha`|
|yarn|`yarn add -D @c15t/cli@alpha`|
|bun|`bun add -D @c15t/cli@alpha`|

```bash
npx c15t --help
```

The package also installs the executable under its older name, `cli`.

## Commands

|Command|Purpose|
|--|--|
|`setup`|Add c15t to a Next.js or React app, or generate framework files for any supported framework. `generate` is an alias.|
|`codemods`|Rewrite `useConsentManager()` calls for v3, or run the v1 to v2 transforms.|
|`login`, `logout`, `status`|Sign in to Inth in a browser or by email approval, sign out of the shared Inth session, and check local session status. See [hosted projects](/docs/cli/commands/hosted).|
|`projects list`, `projects select`, `projects create`|Manage Inth projects and the application project preference used by setup. `instances` is an alias.|
|`self-host migrate`|Plan and apply database migrations for a self-hosted backend.|
|`skills`|Install c15t agent skills through the external skills CLI.|
|`docs`, `changelog`, `github`|Open the URL in a browser, or print it when there is no terminal.|

`setup --codex` hands frontend integration to your installed Codex CLI.
`generate` keeps deterministic file generation.

Run `npx @c15t/cli@alpha <command> --help` for a command's options.

## Pick the right command for your framework

`setup` edits an existing app layout for Next.js App Router, Next.js Pages Router
and React apps with a recognizable root component. It also writes configuration
for plain JavaScript. See [setup](/docs/cli/commands/setup).

For TanStack Start, Vue, Nuxt, Svelte, SvelteKit, Solid and Astro, `setup` with
`--framework` writes integration files and wiring instructions, and leaves your
entry point unchanged. See [framework boilerplate](/docs/cli/commands/boilerplate).

Remix and Gatsby have no CLI support. Follow the
[React guide](/docs/frameworks/react/quickstart); see
[Choose your setup](/docs/concepts/choose-your-setup) for the rendering mode.

## Next steps

* [Quickstart](/docs/cli/quickstart): plan and apply setup in an existing app.
* [Codemods](/docs/cli/commands/codemods): migrate `useConsentManager()` to v3 hooks.
* [Agents and automation](/docs/cli/automation): JSON results and calling the CLI from code.
