shebang!

Rate limits and quotas

Email's 10-per-day cap, and the device-login flow's polling backoff.

Rate limits and quotas

Most shebang calls have no fixed quota beyond ordinary abuse protection. Two limits are worth knowing about by name.

Email: 10 per account per day

email_send is capped at 10 sends per account per rolling 24 hours, counted from the actual send log — not a flat "resets at midnight." It's also master-key only; an app key gets 403 insufficient_scope regardless of what apps it holds, since there's no email scope to grant.

Exceeding the quota returns 429 {error: "email_quota_exceeded", retry_after_hours}, where the hours count down to when the oldest send in the current 24-hour window ages out — not a flat "come back tomorrow."

Device login: polling backoff

Polling /api/agent-login/token faster than the server's advertised interval (starting at 3 seconds) gets 400 {error: "slow_down", interval} with a larger interval each time, capped at 30 seconds. A well-behaved CLI — including shebang-mcp login — honors this automatically; you'd only see it directly if you were scripting the flow yourself.

The device code itself expires after 10 minutes (expires_in: 600) whether or not you've been polling correctly.

Everything else

Individual API routes carry their own IP-based rate limits — for example, the device-flow endpoints cap unauthenticated attempts per client IP — as abuse protection, not as a per-account budget you're expected to plan around. If you hit one, the response's error names it, and backing off briefly resolves it.