Reference
Limits
Plan-level and technical limits across the Harbor surface.
Per-plan quotas
(Hobby / Individual / Team / Enterprise — see Billing for current pricing.)
| Resource | Hobby | Individual | Team | Enterprise |
|---|---|---|---|---|
| Workspaces | 1 | 3 | 10 | Unlimited |
| Members per workspace | 1 | 1 | 25 | Unlimited |
| Plugin connections | 5 | 25 | 100 | Unlimited |
| Functions deployed | 3 | 25 | 200 | Unlimited |
| Apps deployed | 1 | 10 | 50 | Unlimited |
| Exec runs / month | 1,000 | 10,000 | 100,000 | Custom |
orbit.storage total | 100 MB | 5 GB | 50 GB | Custom |
orbit.db rows | 10,000 | 100,000 | 5,000,000 | Custom |
| Trace retention | 7 days | 30 days | 90 days | 1 year |
| Workflow max duration | 30 min | 6 hours | 24 hours | Custom |
Technical limits (all plans)
| Constraint | Limit |
|---|---|
Synchronous hrbr exec wall time | 30 s (then auto-route to Workflows lane if step.* is present) |
| Isolate memory | 128 MB |
| Run input / output payload | 1 MB |
Single orbit.storage object | 100 MB |
orbit.cache value size | 1 MB |
| Tool input schema size | 100 KB |
| MCP frame size | 1 MB |
| Plugin tools indexed per source | 1,000 |
| Concurrent runs per workspace | 50 (sync) + 200 (Workflows) |
step.sleep max duration | 30 days |
| App route response | 4 MB |
Rate limits
| Surface | Default |
|---|---|
Dashboard /api/hrbr/* | 60 req/min/user |
Public MCP /mcp | 120 req/min/session |
Public App route (auth: public) | 60 req/min/IP |
hrbr CLI exec | No client cap; subject to workspace exec quota |
| OAuth callback | 30 req/min/IP |
Rate limit responses are 429 Too Many Requests with Retry-After.
What counts as one "exec run"
- One
hrbr execcall = 1 run (whether 1 ms or 30 s) - One scheduled Function trigger = 1 run
- One App route hit = 1 run for the App, plus 1 run for the backing Function
- One Workflow trigger = 1 run, regardless of step count (each step billed separately for compute)
What's not limited
- Number of skills in a workspace (storage-bound only)
- Number of plugin tools discovered (the cap is on plugin sources)
- Number of workspace members invited (the cap is on accepted members)
- Trace viewing (only retention is plan-bound; viewing within the retention window is free)
How to know you're hitting a limit
The dashboard's Settings → Billing page shows current usage vs
quota. The API returns 402 Payment Required with a
X-Harbor-Limit-Reason header when you cross a hard cap. Soft caps (rate
limits) return 429.
Enterprise customers can get usage alerts via webhook.
Pricing — coming soon
Free for now
We haven't published a pricing model yet. Until we do, Harbor is free to use across every feature.