Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

Limitations (/docs/composer/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 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.

  • 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 bootstrapService with a loopback fake in tests.
  • No interactive login for deploys. Deploys authenticate only via a static PRISMA_SERVICE_TOKEN; there is no browser flow.
  • Deploys do not build. deploy assembles your built output; the build is always yours to run first.
  • The effect family must be pinned in your app's package.json until 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.
  • 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 .ts files directly.

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.
  • 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.
Suggest an edit

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

Export
Documentation menu