ForgeAI's Free, Pro, and Ultra plans: what each includes, where limits are enforced, and how to upgrade through the organization billing settings and Stripe.
ForgeAI is billed per organization. Every organization starts on the Free plan, and paid plans raise the limits on projects, members, CLI connections, and storage. Payments and subscriptions are handled by Stripe.
Beta note: billing is currently inactive. During the public beta everything is free while plans and pricing are finalized. The plans below are what ships in the product, but paid checkout is not active on the hosted beta.
| Free | Pro | Ultra | |
|---|---|---|---|
| Price | $0 | $49/month or $400/year | $100/month or $1000/year |
| Free trial | — | 14 days | 14 days |
| Projects | 5 | 20 | 100 |
| Members | 3 | 10 | 100 |
| CLI connections | 1 | 5 | 20 |
| Storage | 10 GB | 50 GB | 1000 GB |
Prices are in USD. Plans are flat prices per organization — you are not billed per member. Each plan instead caps how many members the organization can have.
The Free plan is not a feature-limited demo: it includes the full cockpit — BMAD workflows, the live task board, releases, organizations with roles and invitations, and one connected CLI. The limits in the table above are the only difference between plans.
There are also no AI usage charges on any plan: agents run on your own machine through the CLI, using your own AI subscription and tokens. See Security for how that works.
Limits are checked server-side at three points:
| Limit | Enforced when | Details |
|---|---|---|
| Members | Inviting a member | The server-side check counts existing members plus pending invitations. The Invite button is replaced by an upgrade dialog only once the member count itself reaches the limit — an invitation that would exceed the limit because of pending invites still opens the form and is rejected on submit. See Organizations & members. |
| Projects | Creating a project | See Projects. |
| CLI connections | Registering a CLI device | Registration is attempted during CLI authentication and again when you run forge connect. A limit rejection is only reported by forge connect, which suggests upgrading or removing a device with forge org unlink. |
When the project or CLI limit is hit, the error follows this format:
You've reached your plan limit of 5 projects. Current usage: 5/5. Upgrade your plan to add more.
A rejected invitation returns a different message:
Cannot invite member: organization has reached its member limit (3/3). Upgrade your plan to invite more members.
Storage is part of the plan definition but is not measured or enforced yet.
Two honest caveats during the beta:
Billing lives at Settings → Billing (/orgs/[orgSlug]/settings/billing), for example:
https://forgeai-production-382c.up.railway.app/orgs/your-org/settings/billing
It has four tabs:
| Tab | Contents |
|---|---|
| Overview | Current plan usage, upcoming invoice, billing information, payment methods |
| Usage | Usage meters against your plan limits |
| Payment | Payment details — only shown when a Stripe subscription exists |
| Plan | Plan comparison with upgrade and downgrade actions |
On the Usage tab, only the member meter is computed today (members plus pending invitations against the limit); the Projects, Storage, and CLI meters display "Coming soon".
Only the organization owner can manage the subscription by default — billing pages are gated on the subscription-management permission, which admins do not have. The sidebar shows the Billing link to admins, but a non-owner admin clicking it is denied access. Custom roles can be granted the subscription permission at Settings → Roles; see Organizations & members.
There is no in-app checkout. The Upgrade and Downgrade buttons on the Plan tab open the Stripe Billing Portal, where the actual plan change happens; you are then returned to /orgs/[orgSlug]/settings/billing. Subscription state is synced back into the cockpit through Stripe webhooks.
A few mechanics worth knowing:
Cancellation starts at /orgs/[orgSlug]/settings/billing/cancel — a short feedback form — and completes in the Stripe Billing Portal. The subscription status shown in the cockpit can be Trial, Active, Canceled, Past Due, Unpaid, or Incomplete.
Note that deleting an organization (owner-only, Settings → Danger Zone) permanently removes its billing data, and no refund is provided — see Organizations & members.