Skip to main content
Manage Projects from the CLI and scope other commands to a specific project.

Scoping commands to a project

Use the global --project flag (or the KERNEL_PROJECT environment variable) to scope any kernel command to a project. The flag value is forwarded verbatim as the X-Kernel-Project-Id header on every authenticated API request, so it must be a project ID — the CLI does not look up names for this flag.
# Scope a single command
kernel browsers list --project proj_abc123

# Scope via environment variable
export KERNEL_PROJECT=proj_abc123
kernel apps list
Run kernel projects list to find the ID for a project by name. OAuth-based logins (kernel login) remain org-wide by default, so this is the recommended way to target a single project when logged in with OAuth.
Project-scoped API keys are already bound to a project server-side, so you don’t need --project when using them — but if you do pass it, it must match the key’s project or the request is rejected.
Name resolution is supported on the projects subcommand positional arguments (kernel projects get <id-or-name>, delete, limits get, limits set) — those commands list your projects and match case-insensitively before issuing the request.

Commands

kernel projects list

List all projects in the authenticated organization.

kernel projects create <name>

Create a new project with the given name.
kernel projects create staging

kernel projects get <id-or-name>

Show details for a project by ID or name.

kernel projects delete <id-or-name>

Delete a project. The project must be empty, and it can’t be the last active project in the org.

Project limits

Each project can have its own concurrency limit overrides that cap resource use below the org-wide limits.

kernel projects limits get <id-or-name>

Show the per-project limit overrides. Fields show unlimited when no project-level cap is set (the org limit applies).
FlagDescription
--output json, -o jsonOutput raw JSON object.

kernel projects limits set <id-or-name>

Update per-project limit overrides. Pass 0 to a limit to remove the cap for that field.
FlagDescription
--max-concurrent-sessions <n>Maximum concurrent browser sessions (0 to remove cap).
--max-concurrent-invocations <n>Maximum concurrent app invocations (0 to remove cap).
--max-pooled-sessions <n>Maximum pooled sessions capacity (0 to remove cap).
--output json, -o jsonOutput raw JSON object.
# Cap staging to 5 concurrent browser sessions
kernel projects limits set staging --max-concurrent-sessions 5

# Remove the cap
kernel projects limits set staging --max-concurrent-sessions 0