# project (/docs/cli/project)

> For the complete Prisma documentation index, see [llms.txt](https://www.prisma.io/docs/llms.txt). A markdown version of any docs page is available by appending `.md` to its URL.

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 [#usage]

  

#### bun

```bash
bunx prisma@latest project list
bunx prisma@latest project show
```

#### pnpm

```bash
pnpm dlx prisma@latest project list
pnpm dlx prisma@latest project show
```

#### yarn

```bash
yarn dlx prisma@latest project list
yarn dlx prisma@latest project show
```

#### npm

```bash
npx prisma@latest project list
npx prisma@latest project show
```

## Commands [#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 [#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](https://www.prisma.io/docs/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`](https://www.prisma.io/docs/cli/auth): Sign in to your Prisma account from the CLI, sign out, and manage workspace sessions.
- [`branch`](https://www.prisma.io/docs/cli/branch): List platform branches for a project.
- [`bucket`](https://www.prisma.io/docs/cli/bucket): Create and manage object-store buckets.
- [`Configuration`](https://www.prisma.io/docs/cli/configuration): Configure Prisma 8 CLI commands with prisma.config.ts and global flags.
- [`contract emit`](https://www.prisma.io/docs/cli/contract-emit): Emit Prisma 8 contract artifacts.