Skip to main content

Global Options

These options work with all commands: Use para commands --json to print the agent-readable command catalog. It includes command paths, arguments, options, examples, interactivity, JSON support, and side effects.

Authentication

The full command paths are para auth login, para auth logout, and para auth status. para login and para logout are top-level shortcuts.

para login

Authenticate with your Para developer account. Opens your browser for a secure OAuth flow with PKCE verification.
After login, the CLI automatically selects your first organization and project if none are configured. Sessions are stored at ~/.config/para/credentials.json. The session is validated server-side on each CLI invocation.
Sessions are shared across key environments — logging in once gives you access to both beta and prod keys.

para logout

Clear stored authentication credentials.
The CLI sends a best-effort server-side session invalidation.

para auth status

Check whether your current session is valid. This performs a server-side validation, not just a local check.
Output
With --json:

para whoami

Show the current authenticated user and active context — organization, project, and environment.
Output
Organization shows the name and your role. Project shows the raw project ID. If the organization ID can’t be resolved to a name, the raw ID is shown instead.

Configuration

Configuration resolves from multiple sources: CLI flags, environment variables (PARA_ENVIRONMENT, PARA_ORG_ID, PARA_PROJECT_ID), .pararc, global config, then defaults. See Installation for the full resolution chain.

para config get

Read configuration values. Without a key, shows all values from both global and project config with their source.
Output
Read a specific key:
Project config (.pararc) takes precedence over global config (~/.config/para/config.json).

para config set

Set a configuration value.

Valid Keys

Examples

para config set --local accepts either global key names such as defaultEnvironment or project key names such as environment, then writes the .pararc key form.

para config unset

Remove a configuration value.

para init

Create a .pararc configuration file in the current directory. This pins the organization, project, and environment for anyone working in this directory.
In interactive mode, you’ll be prompted to select a key environment (beta or prod). With --yes, the current resolved key environment is used. The resulting .pararc file:
The .pararc writer rejects keys that contain sensitive terms (session, token, secret, credential, password, apikey, api_key) to prevent accidental credential storage in version-controlled files.

Organizations

para orgs list

List all organizations you belong to.
Output
The (active) indicator shows which organization is currently selected. With --json, returns an array of organization objects.

para orgs switch

Set the active organization. This updates your global config so subsequent commands use this org.
Without an org-id, an interactive selector is shown:
Output
With a specific ID:
After switching organizations, your previous project ID remains in the config but may point to a project in the old org. Run para projects switch to select a project in the new organization.

Projects

All project commands require an active organization. Set one with para orgs switch if you haven’t already.

para projects list

List projects in your active organization.
Output

para projects switch

Set the active project.
Without a project-id, an interactive selector shows all active projects in the current organization.

para projects create

Create a new project in the active organization.
Without flags, you’ll be prompted interactively for a name.

para projects update

Update a project’s name, description, or framework.
Uses the active project if no project-id is given. Without flags, prompts interactively.

para projects archive

Archive a project. Its API keys stop working immediately. This is reversible with restore.
Uses the active project if no project-id is given.
Archiving a project immediately disables all of its API keys. Active users will lose access.

para projects restore

Restore a previously archived project.
Use para projects list --include-archived to find the ID of archived projects.

API Keys

All key commands require an active organization and project. Set them with para orgs switch and para projects switch.

para keys list

List API keys for the active project.
Output

para keys get

Get details of an API key. Without a key ID, the CLI auto-resolves the key from your active project and key environment.

para keys create

Create a new API key in the active project.
The secret key is only shown once at creation time. Save it immediately.

para keys rotate

Rotate an API key. The old key stops working immediately. Without a key ID, the CLI auto-resolves the key from your active project and key environment.
Key rotation is irreversible. The old key stops working immediately after rotation.

para keys archive

Archive (revoke) an API key. The key stops working immediately. Without a key ID, the CLI auto-resolves the key from your active project and key environment.

para keys config

Configure settings for an API key. Without a sub-category, opens an interactive menu to browse all categories.
The CLI auto-resolves the key from your active project and key environment (-e beta or -e prod). If multiple keys exist for the same environment, you’ll be prompted to choose one.

Show Configuration

View the current configuration for an API key without entering an edit flow. Shows all settings organized by category.
Example output
Use para keys config show --json to pipe configuration into other tools or audit scripts. The JSON output uses raw values (arrays, booleans, null) rather than display strings.

Security

Configure auth methods, origins, session length, and IP restrictions.

Branding

Configure colors, fonts, social links, and email settings.

Authentication

Configure login methods, OAuth providers, 2FA, and guest mode.

Custom OIDC

Configure your own OpenID Connect provider as a login method. See Set up Custom OIDC for the full walkthrough.
Enable Custom OIDC once configured with para keys config auth --oauth-methods "...,CUSTOM_OIDC".
Configure modal UI behavior for an API key.

External Wallets

Configure external wallet support for an API key.
Configure partner social and support links.

App

Configure app-level settings.

Setup / Networks

Configure wallet types and native passkey settings.

On/Off Ramps

Configure buy, receive, and withdraw settings.

Webhooks

Configure webhook endpoints, events, and signing secrets.
See for event type details and signature verification.

Users

para users list

List users for the active project API key. The CLI resolves the API key from the active project and key environment unless you pass --key.

Scaffold a Project

para create

Scaffold a new application with Para SDK pre-configured. The interactive wizard walks you through template, network, auth, and wallet selection.

Interactive Flow

Without flags, para create walks you through each step:
  1. App name — lowercase, numbers, and hyphens only
  2. Template — Next.js or Expo
  3. Networks — EVM, Solana, Cosmos (Expo is EVM-only)
  4. Auth methods — Email, Phone/SMS, OAuth
  5. OAuth providers — Google, Apple, Twitter, Discord, Facebook, Farcaster (Expo supports Google and Apple only)
  6. External wallets — Varies by network:
    • EVM: MetaMask, Coinbase, WalletConnect, Rainbow, Zerion, Rabby
    • Solana: Phantom, Backpack, Solflare, Glow
    • Cosmos: Keplr, Leap
  7. Expo-specific — Bundle identifier (e.g., com.mycompany.myapp)

Non-Interactive Mode

Non-interactive mode activates when an app name is provided with --networks for Next.js or with -t expo --bundle-id for Expo. Email auth is enabled by default if no other auth method is specified.

API Key Connection

If you’re authenticated, the CLI offers to connect a Para project after scaffolding. This creates or selects an organization, project, and API key, then writes the key to the app’s .env file.

Package Manager Detection

The CLI detects your package manager automatically:
  1. --package-manager flag (highest priority)
  2. How you invoked the CLI (npx, yarn dlx, pnpm dlx, bunx)
  3. Lock files in the current directory
  4. Falls back to npm

Example


Diagnostics

para doctor

Scan your project for common Para SDK integration issues. Checks configuration, dependencies, setup patterns, and best practices.

What It Checks

Example Output

Filtering

Run only dependency checks:
Show only errors (skip warnings and info):

JSON Output

Use --json for CI/CD pipelines:
The command exits with code 1 if any error-severity checks fail, making it suitable for CI gates.

Migrations

para migrate v3

Plan or apply a Para v2 to v3 app migration. The command inspects local project files and can include API key configuration updates when you pass --key.
Review the migration plan before using --apply. Applying a migration can change local project files and API key configuration.

para migrate rollback

Roll back a Para v3 migration manifest.

Command Catalog

para commands

Print the CLI command catalog. Use --json for deterministic metadata that agents and scripts can inspect without scraping help text.
The JSON catalog includes command paths, arguments, options, examples, requirements, read/write side effects, interactivity, JSON support, output shape, and related Developer Portal area. See for Claude, Codex, and automation workflows that use the catalog.

Updating the CLI

para update

Check for and explicitly update the Para CLI.
The CLI also performs a notice-only update check during normal human-readable commands. Set PARA_DISABLE_UPDATE_CHECK=1 to disable update checks and explicit update installs.