# Limits

> Every Rootsy limit that's the same on all plans: computer names, request deadlines and sizes, ports, schedules, MCP, uploads, backups, domains and organizations.

This page lists the limits that are the same on every plan. How many computers and custom domains an account gets, and each computer's memory and storage, depend on the plan. [Billing](https://rootsy.io/docs/reference/billing.md#what-each-plan-includes) lists those numbers. Backup retention and counts per plan are on [Backups and Reset](https://rootsy.io/docs/reference/backups-and-reset.md#how-many-backups-you-keep).

## Computers

| Limit | Value |
|---|---|
| Address | `<name>.rtsy.dev`, where `<name>` is the computer's slug |
| Slug length | 3 to 32 characters |
| Slug characters | lowercase `a`–`z`, `0`–`9` and single `-`, not at the start or end |
| CPUs per computer | 8 vCPUs |
| Computers created per rolling 24 hours | twice the plan's computer count, and at least 10. Deleted computers count. A refused create says when you can try again. |

Some slugs are reserved and can't be used, including any slug that contains `rootsy`.

## Requests to your apps

These apply to requests that reach your computer at its address or at a custom domain.

| Limit | Value |
|---|---|
| Time to first response headers, `GET` and `HEAD` | 15 seconds, including any wake |
| Time to connect to your app | 5 seconds |
| Longest wait between two reads from your app | 90 seconds |
| Longest wait between two writes to your app | 90 seconds |
| Request body size | 1,048,576 bytes (1 MiB), counting multipart framing |
| WebSocket upgrades | not passed through |
| Paths `/_iw` and under `/_iw/` | always `404`. Your app never sees them. |

When a `GET` or `HEAD` gets no response headers within 15 seconds, the visitor gets a `503` page with `Retry-After: 60`. Other methods have no header deadline, but still hit the 90-second read limit. Your nginx's own default `proxy_read_timeout` is 60 seconds, so a proxied app gets 60 seconds unless its `location` sets `proxy_read_timeout 90s;`. A larger request body usually gets `413`, and a much larger one can fail as a dropped connection. When your app returns `502`, `503` or `504`, or isn't running, visitors get a Rootsy `503` page instead of your response. Rootsy never retries a request to your app.

Your apps sit behind your nginx on port `8090`. See [Serve an app](https://rootsy.io/docs/reference/serving.md).

## Ports inside a computer

These ports belong to Rootsy. Don't listen on them, stop what's on them, or change their configuration:

| Port | Use |
|---|---|
| `7681`–`7687` | terminal, platform auth, uploads, the Files window, preview control, the terminal relay and MCP commands |
| `8080` | the platform's web server that every request passes through |
| `8081` | the code editor |

Port `8090` is your nginx, the web server for your apps. Add config to it, but keep it on that port. Run your own app servers on any other port and proxy to them from `8090`. [Your computer](https://rootsy.io/docs/reference/computer.md) lists each port.

## Outbound network

| Limit | Value |
|---|---|
| TCP port 25 (SMTP) | blocked, for the computer and its Docker containers, over IPv4 and IPv6 |
| Other outbound connections | open |

## Scheduled tasks

| Limit | Value |
|---|---|
| Schedules per computer | 20 |
| Shortest interval | 1 minute |
| Methods | `GET`, `POST` |
| Path length | 512 characters, starting with `/`, with no query string |
| Payload | 64 KiB of valid JSON, `POST` only |
| Name length | 100 characters |
| When value length | 500 characters |
| Response deadline | 90 seconds. Your nginx stops at 60 unless the server block sets `proxy_read_timeout 90s;`. |
| Retries | none |
| Run now | 1 per minute and 10 per hour, per computer |
| Changes | 60 per minute, per computer |
| History kept | 30 days, up to 10,000 requests per schedule |
| Request ID reuse window | 24 hours |
| Signed request age | at most 120 seconds old, at most 5 seconds in the future |

When several runs are overdue, only the latest is sent, and only within 5 minutes of its time. See [Scheduled tasks](https://rootsy.io/docs/reference/scheduled-tasks.md).

## MCP

| Limit | Value |
|---|---|
| One MCP request | 524,288 bytes (512 KiB) |
| Page size for `list_accounts` and `list_computers` | 1 to 100, default 50 |
| Command script | 16,384 bytes |
| Working directory path | 4,096 bytes |
| Command time limit | default 300 seconds, at most 900 seconds |
| Commands running at once, per computer | 4. A command started past that never runs. |
| Command output returned | last 1,000 journal records, then at most 65,536 bytes |
| Finished command results kept | 24 hours. A computer holds at most 1,000 results, running ones included. Past that, new commands don't start. |
| File moved by `import_file` or `export_file` | 1 to 262,144 bytes |
| File path | 4,096 bytes |
| Time for one file call | 60 seconds |
| Imports in progress, per computer | 4 |
| Import receipts kept | 256 per computer, 2,048 per account |
| Time for one domain change | 75 seconds |

A command's time limit is also cut to what the account's Runtime Credits can fund. See [Connect with MCP](https://rootsy.io/docs/reference/mcp.md).

## Uploads and downloads

| Limit | Value |
|---|---|
| File dropped on the terminal | 100 MiB each, up to 20 files at a time |
| File uploaded in the **Files** window | 10 GiB each |
| Free disk space a **Files** upload must leave | 2 GiB |
| Unfinished **Files** uploads | deleted after 7 days without activity |
| Download size | no limit |
| Entries shown in one folder | 2,000 |
| Items in one **Download selection** | 2,000 |
| File or folder name | 255 bytes |

Files dropped on the terminal land in `~/uploads`.

## Backups

| Limit | Value |
|---|---|
| Manual backups | 1 per minute |
| Restores | 10 per 24 hours, at least 5 minutes apart, failed attempts included |
| Backup note | 200 characters |
| Return points | the newest 3 that can be restored |

How long backups are kept, and how many manual and pinned backups a computer can hold, depend on the plan. [Backups and Reset](https://rootsy.io/docs/reference/backups-and-reset.md#how-many-backups-you-keep) lists them.

## Custom domains

| Limit | Value |
|---|---|
| Hostname length | 253 characters |
| Labels in a hostname | 6 at most |
| Internationalized (`xn--`) names | not supported |
| Time to connect before a domain expires | 7 days |
| Time over the plan's domain limit before the newest domains detach | 24 hours |

A root domain and its `www` count as one custom domain. Domains are counted across the account. See [Domains](https://rootsy.io/docs/reference/domains.md).

## Storage

| Limit | Value |
|---|---|
| What counts | everything on the disk except the platform's first 4 GB |
| Over the plan's limit | Terminal, Editor, uploads and MCP commands pause until the computer is back under 95% of the limit |

See [Billing](https://rootsy.io/docs/reference/billing.md#over-the-storage-limit).

## Organizations

| Limit | Value |
|---|---|
| Organizations you can create | 3 |
| Organizations you can belong to | 10 |
| Organization name | 1 to 100 characters |
| Invitations | 10 per hour, per member, per organization |
| Invitation link | expires after 7 days |

See [Organizations](https://rootsy.io/docs/reference/organizations.md).

---
Page: https://rootsy.io/docs/reference/limits/ · Updated: 2026-10-21 · All docs: https://rootsy.io/llms.txt
