Limitations (/docs/composer/limitations)
For the complete Prisma documentation index, see llms.txt. A markdown version of any docs page is available by appending
.mdto its URL.
What Prisma Composer does not do yet, so you can name the gap instead of working around it blind.
Location: Composer > Limitations
Prisma Composer is in Early Access. This page lists what it does not do yet, so you can plan around a gap instead of discovering it mid-build. If something you need is missing here and below, check the examples and design docs in the Composer repository, then file an issue there rather than guessing at an API.
Contracts and communication
Section titled “Contracts and communication”- RPC over HTTP is the only contract kind. No gRPC, WebSocket, or streaming contracts.
- No in-memory contract bindings. A dependency cannot yet be wired to a co-located handler without HTTP; use
bootstrapServicewith a loopback fake in tests.
Deploys and auth
Section titled “Deploys and auth”- No interactive login for deploys. Deploys authenticate only via a static
PRISMA_SERVICE_TOKEN; there is no browser flow. - Deploys do not build.
deployassembles your built output; the build is always yours to run first. - The
effectfamily must be pinned in your app'spackage.jsonuntil an upstream dependency fixes its version ranges; see Getting started. Every Composer command checks this and stops with a fix-naming error when the pin is missing.
Platforms
Section titled “Platforms”- Windows is not supported yet for local development (
dev). - Node.js 22.18 or newer is required. Composer hands your TypeScript entry file straight to Node, and earlier versions cannot run
.tsfiles directly.
Runtime behavior to design around
Section titled “Runtime behavior to design around”These are properties of running on Prisma Compute rather than missing features; Deploying covers each with the fix:
- Compute scales to zero, so idle database connections get closed and cold calls can see
ECONNRESET. - A deployed RPC endpoint answers only its wired consumers; hand-rolled probes get
401. - Environment variables prefixed
COMPOSER_*belong to the deploy and are rewritten on every deploy. - Streaming responses are delivered as your service sends them, but the service has 60 seconds to send the first bytes before the ingress returns
504 Gateway Time-out; see Request timeout.
Next steps
Section titled “Next steps”- Deploying: operational behavior in full.
- Building blocks: what ships today, and how extensions arrive.
Related pages
Section titled “Related pages”Apps and Modules: How services, resources, and Modules compose into a Prisma App, and how provision() wires them together.Building blocks: Compose the ready-made cron, storage, and streams Modules instead of building scheduled jobs, blob storage, or event streams yourself.Core concepts: The ideas every Composer declaration and command builds on: services, resources, Modules, ports, contracts, stages, and the deploy model.Databases: Give a service a Postgres database, either as a plain connection or typed by a Prisma ORM contract with managed migrations.Deploying: Deploy a Prisma App to production or an isolated stage, run it in CI, and tear environments down safely.