The gates
Real-time human chat on escalate is available on every plan and is
deliberately not gated.
remove_branding is the one entitlement a plan upgrade cannot grant. It comes
only from the purchased add-on, so it resolves from a workspace flag rather
than from the tier — which is why the highest plan alone does not remove the
badge.The one that catches people out
Effective plan
Your workspace’s plan string is resolved to an entitlement tier before any check:
Resolution fails closed. An unknown plan string never grants a feature by
accident.
Active entitlement
A tier check is not the whole story. A workspace must also be entitled to serve at all, and three things independently revoke that:- the kill switch is on;
- the trial has expired;
- the subscription has lapsed.
What a non-entitled workspace does
The behaviour is chosen per surface, so a lapse degrades rather than breaks.The widget does not mount
The widget is told on load, before the cursor shows — no cursor, no crawl, no agent calls.
The agent goes quiet
The agent returns an empty, completed plan rather than an error, so a widget
already on the page stops acting instead of throwing into it.
MCP stops answering
Both endpoints return “Agent channel not available for this workspace.”
Artifacts stop serving
404 with “Agent access is not enabled for this workspace.”Credits, separately
Distinct from plan gating, a workspace consumes credits. When the pool is exhausted:- the widget does not start a new session;
- a new conversation is refused before any model spend, while conversations already in progress continue;
- narration stops and the widget runs text-only.