Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

Known limitations (/docs/compute/limitations)

For the complete Prisma documentation index, see llms.txt. A markdown version of any docs page is available by appending .md to its URL.

What Prisma Compute can and can't do.

Location: Compute > Known limitations

This page lists what Prisma Compute can and can't do.

  • The quickest way to run the CLI is npx prisma <command> (or bunx/pnpm dlx), with Node.js 22.18 or newer.
  • The platform command groups are auth, project (including project env), postgres, bucket, branch, git, service (including service version and service domain), and agent, plus the root-level dev and deploy verbs for Composer apps. The same binary also carries the Prisma ORM data commands (contract, db, migration). There is no compute namespace: Compute is managed through the resource groups above.
  • Commands are targeted by parameters, not ambient state: the subject resource is the first positional argument, and there is no interactive picker. A missing target fails with a structured error (exit 2) before any network call.
  • There is no committed compute config file. A Composer app describes itself, including each service's build, in its module. .prisma/local.json is gitignored and only stores your local link to the workspace and project. In CI, set PRISMA_PROJECT_ID / PRISMA_SERVICE_ID to override the linked project and service.
  • Project setup is explicit: --yes won't create or choose a project for you.
  • The first branch in a project is production; the rest are preview by default.
  • branch list inspects branches; it doesn't create remote state.
  • Deleting a branch on GitHub can tear down the matching platform branch, but production and default branches are always left alone.
  • A Prisma Composer app declares its build explicitly per service (the node and nextjs build adapters). Neither deploy nor the deploy action detects your framework or builds for you: you run the build before deploy, and the action runs your build-command verbatim.
  • The framework guides cover Next.js, Nuxt, Astro, Hono, NestJS, TanStack Start, Elysia, and Bun, each deployed as a Composer app.
  • Values are write-only: once saved, they are never returned by any surface, and there is no command to pull them into a local .env.
  • project env list returns keys and metadata only.
  • Values resolve at deploy time; changing one does not mutate existing versions or trigger a redeploy.
  • Production variables can't be branch-scoped.
  • Keys must match [A-Z_][A-Z0-9_]*; values are non-empty, up to 8 KB.
  • GitHub is the only supported provider, and a project connects to one repository.
  • Pushes deploy only through a workflow in your repository, such as one that runs prisma/cloud-deploy-action; see Deploy on push. Any other CI can deploy with a service token and deploy.
  • The connection reacts only to branch created and deleted events. There are no PR comments or PR status automation.
  • Custom domains are production-only and CNAME-based: they attach to the default (production) branch, and the service needs a promoted version first.
  • Up to 3 custom domains per service.
  • There is no workspace-wide domain list in the CLI.
  • service logs <service> reads a version's logs (--version-id <id> selects one); build output for a deploy is available in the Console.
  • It returns FEATURE_UNAVAILABLE when the platform can't serve logs for the resolved version.
  • Logs stream in time-bounded segments, so direct API clients should expect to reconnect.
  • This release focuses on HTTP services. Background work between requests is supported through the @prisma/compute keep-awake primitives; see Keeping instances awake. Cron scheduling, a persistent filesystem, and edge runtimes are not part of it.
  • Your service has 60 seconds to start responding to a request. If it sends nothing in that time, the client gets 504 Gateway Time-out and Compute cancels the request, which surfaces in your handler as the request's abort signal rather than an error. The deadline covers the wait for the first bytes, so a response that has started streaming is not cut off. Move longer work out of the request; see Request timeout.
  • WebSocket servers are not currently supported. waitUntil and KeepAwakeGuard only prevent an instance from scaling to zero; they do not change connection-lifetime limits or guarantee continuity through restarts or deployments.
  • No multi-region deployments. Each service lives in one region, chosen at creation (service create --region): us-east-1, us-west-1, eu-west-3, eu-central-1, ap-northeast-1, or ap-southeast-1. When you do not choose one, the service takes its project's region, and a project created without a region is in us-east-1.
  • These docs cover deployment and runtime config only: not schema migrations or data cloning. Databases are managed with the postgres commands.
  • Don't assume production data is copied into preview branches.
  • Don't assume production migrations run automatically on deploy.
  • Pass database URLs and other runtime config through environment variables.
  • Alchemy: Provision Prisma Postgres and deploy applications to Prisma Compute in one TypeScript stack.
  • Branching: Branches are isolated environments that map to your Git branches, so preview work never touches production.
  • Deploy Button: Add a Deploy with Prisma button that copies a public Composer repository and starts a Composer-managed deployment.
  • Deploy on push: Graduate a Composer app from manual deploys to a Git workflow, with production deploys on push and an isolated preview environment per branch.
  • Deployments: How deploys create service versions on Prisma Compute, and how to inspect, promote, roll back, start, and stop them.
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu