# Limits

Cursor can limit how many deployments a team keeps and how often that team deploys. The limits apply only to a team for which Cursor has turned them on. A team without that switch deploys with no cap.

When the switch is on, these are the default values. Cursor can set a different value for a team, or clear a cap.

| Limit | `limit` id | Default when on | What counts |
| --- | --- | --- | --- |
| Deployments | `owner.deployments` | 20 | Each deployment slug the team owns, running or stopped, and each new slug whose first build is still running or ready and not installed yet. A redeploy of an existing slug does not count. Installs of Cursor multi-tenant apps do not count. A ready build that has not been installed still holds its slot. |
| Deploys | `owner.deploysPerDay` | 100 in the last 24 hours | Each accepted deploy, including redeploys and deploys that are still building. Deleting a deployment does not give its deploys back. A deploy that fails before it is accepted does not count. |
| Persistent deployments | `owner.persistentSlots` | 1 | Deployments with `persistent: true`. |

## When a deploy reaches a limit

`agent-sdk deploy` and [Deployed Agents](https://cursor.com/dashboard/deployed-agents) show the `error` sentence. The HTTP API returns this body:

```json
{
  "error": "Your team has 20 of 20 deployments. Delete one with `agent-sdk deployment delete <slug>`, or contact support to raise the limit. Redeploying an existing slug doesn't count.",
  "code": "limit_exceeded",
  "limit": "owner.deployments",
  "max": 20,
  "current": 20,
  "docsUrl": "https://cursor.com/docs/bdk/reference/limits"
}
```

- The deployment and persistent deployment limits answer `403`. Delete a deployment with `agent-sdk deployment delete <slug>` to free a slot.
- The deploy limit answers `429` with a `Retry-After` header, in seconds. Retry after the oldest counted deploy is more than 24 hours old.
- If Cursor pauses deploys for your team, every deploy answers `403`, a redeploy too. Contact Cursor support to resume deploys.
- A deploy that waits on another deploy for the same team can answer `503` with `Retry-After: 2`. Retry that request.

[Deployed Agents](https://cursor.com/dashboard/deployed-agents) shows `Deployments (N/max)` only when Cursor has turned the caps on for the team and the team has a deployment cap. Otherwise the heading is `Deployments`.

## Raise a limit

Contact Cursor support with your team and the limit you need.
