# project (/docs/cli/project)

Create, link, and inspect projects; manage project environment variables.

Location: CLI > project

Use `project` commands to create, link, and inspect projects, and to manage project environment variables.

## Usage

#### bun

```bash
bunx prisma project list
bunx prisma project show
```

#### pnpm

```bash
pnpm prisma project list
pnpm prisma project show
```

#### yarn

```bash
yarn prisma project list
yarn prisma project show
```

#### npm

```bash
npx prisma project list
npx prisma project show
```

## Commands

| Command                         | Description                                                                                                                         |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `project list`                  | List all projects in your workspace                                                                                                 |
| `project show [id-or-name]`     | Show a project (defaults to the one this directory is linked to)                                                                    |
| `project create <name>`         | Create a project and link the directory to it (`--region <region>` sets the Prisma Compute region)                                  |
| `project link [id-or-name]`     | Link the directory to an existing project                                                                                           |
| `project rename <name>`         | Rename the linked project                                                                                                           |
| `project delete <id-or-name>`   | Permanently delete a project, after exact id confirmation                                                                           |
| `project transfer <id-or-name>` | Transfer a project to another workspace (`--to-workspace <id-or-name>` or `--recipient-token <token>`), after exact id confirmation |

When you link a project, Prisma writes the selected workspace and project to `.prisma/local.json`. This file is gitignored and only stores your local link, so it should not be treated as committed configuration. It is the only directory context commands read; everything else is targeted explicitly with arguments and flags. Commands find the link by walking up from the current directory to the nearest directory containing `.prisma/`, so a repository linked at its root works from any subdirectory. The nearest link wins: a subdirectory linked to a different project takes precedence over the root's.

## project env

Use `project env` commands to manage environment variables for the linked project. Every write requires an explicit scope: pass exactly one of `--role <production|preview>` or `--branch <git-name>`. A write without a scope fails with `PROJECT.USAGE_ERROR`, so a write targets production only when you ask for it. See [Environment variables](/guides/features-2-compute-environment-variables).

| Command                               | Description                                                                                                          |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `project env add [KEY=value\|KEY]`    | Create a variable. Pass just `KEY` to read the value from your environment, or omit the assignment and pass `--file` |
| `project env update [KEY=value\|KEY]` | Replace an existing variable's value. A bare `KEY` also reads from your environment                                  |
| `project env list`                    | List variable names and metadata for a scope, never values                                                           |
| `project env delete <key>`            | Delete a variable from a scope                                                                                       |

`add` and `update` also accept `--file <path>` to read `KEY=VALUE` assignments from a dotenv file, and every `project env` command takes `--project <id-or-name>`.

Values are write-only: they are encrypted at rest and cannot be read back. A deployment picks up the values at deploy time. Redeploy to apply changes.

## Related pages

- [`auth`](/guides/platform-auth): Sign in to your Prisma account from the CLI, sign out, and manage workspace sessions.
- [`branch`](/guides/platform-branch): List platform branches for a project.
- [`bucket`](/guides/platform-bucket): Create and manage object-store buckets.
- [`Configuration`](/guides/introduction-6-configuration): Configure Prisma ORM CLI commands with prisma.config.ts and global flags.
- [`contract emit`](/guides/orm-contract-emit): Emit Prisma ORM contract artifacts.

## Related pages

- [Authentication & Tools](./authentication-tools-index.md)
- [Build](./build-index.md)
- [Changelog](../changelog.md)
- [Concepts](./concepts-index.md)
- [Console commands](./console-commands-index.md)
- [Contract Authoring](./contract-authoring-index.md)
- [Core Concepts](./core-concepts-index.md)
- [Data Modeling](./data-modeling-index.md)
- [Database](./database-index.md)
- [DB commands](./db-commands-index.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
