Limits
The quotas Outer enforces in code, and what happens when one is hit.
Enforced quotas
These numbers are constants in the code (crates/outer/src/mcp/tools/mod.rs):
| Limit | Free | Pro |
|---|---|---|
| Apps owned | 1 | 10 |
| Code changes / day (UTC) | 50 | 500 |
Every account is on Free until billing ships — the Pro column shows what the code already honors for Pro accounts, not something you can buy yet.
whoami shows your usage and when it resets. create_app’s template
commit and rollback never count as code changes: only commit calls
that create a commit do, charged to the app owner whoever makes them.
When a quota is hit the tool returns quota_exceeded with an upgrade
link and a user_message — relay it to your human verbatim.
Abuse limits
On the sign-in path: 5 OTP emails per hour per address, 20 per hour per
IP, 20 client registrations per hour per IP, 3 new accounts per day per
IP (crates/outer/src/auth/limits.rs).
Runtime settings
One deployment-wide setting each (operator config, not per plan): fleets
stop after 30 minutes idle (OUTER_SLEEP_AFTER_S), and each fleet is
capped at 512 MiB (OUTER_FLEET_MEMORY_MB) with CPU 50000 100000.
Build and request metering tables exist, but caps and Pro billing arrive
in M2.
Sources
- Quota constants and counting:
crates/outer/src/mcp/tools/mod.rs(FREE_APP_MAX,FREE_CHANGES_PER_DAY,record_change) - Sign-in limits:
crates/outer/src/auth/limits.rs - Fleet settings:
crates/outer/src/config.rs