License Revoked
Symptoms
Section titled “Symptoms”- Forge degrades to Community Mode unexpectedly.
forge serveorforge licenseshows a “license revoked” message.- Tools that previously worked (workflow tools, graph queries, semantic search) now return upgrade prompts.
forge config heartbeat showshowslast_status: revoked.
How Revocation Works
Section titled “How Revocation Works”Forge performs a weekly heartbeat to verify your license is still active. The heartbeat POST sends only a hash of your license key. The Cloudflare Worker responds with a status: active, revoked, expired, or unknown.
When the status returns revoked, Forge caches that result and degrades to Community Mode on the next forge serve startup. The degradation is not immediate — it takes effect after the cached result is applied.
Revocation is triggered by:
- Subscription cancellation (via Stripe Customer Portal or by contacting support)
- Payment failure (Stripe retries 3 times over 1 week, then marks the subscription as cancelled)
- A filed payment dispute/chargeback
Step-by-Step Fix
Section titled “Step-by-Step Fix”Step 1: Check your Stripe subscription status
Section titled “Step 1: Check your Stripe subscription status”Go to the Stripe Customer Portal (link in your purchase confirmation email) or visit https://forge.ironpinelabs.com/pricing and sign in. Look for:
- Subscription status (active, past due, cancelled)
- Most recent payment date and amount
- Any failed payment attempts
Step 2: Identify the cause
Section titled “Step 2: Identify the cause”| Stripe status | Cause | Action |
|---|---|---|
| Active, payment current | Revocation may be an error — escalate | Contact support |
| Past due | Recent payment failed | Update payment method in Stripe portal |
| Cancelled | Subscription was cancelled | Resubscribe |
| Disputed | A chargeback was filed | Resolve dispute; contact support |
Step 3: Resolve payment issues
Section titled “Step 3: Resolve payment issues”If a payment failed, update your payment method in the Stripe Customer Portal. Stripe will retry the payment. Once payment succeeds, the subscription returns to active status.
Step 4: Resubscribe if cancelled
Section titled “Step 4: Resubscribe if cancelled”If your subscription was cancelled (intentionally or by payment failure after retries), resubscribe at https://forge.ironpinelabs.com/pricing. You will receive a new license key. Activate it:
forge activate <new-license-key>Step 5: Force a heartbeat to restore access
Section titled “Step 5: Force a heartbeat to restore access”After the subscription is restored, force an immediate heartbeat to update the local cache:
forge config heartbeat nowExpected output:
Heartbeat sent.Status: activeCached until: 2026-05-01Then restart forge serve. The Pro/Solo/Team tools should be available again.
Step 6: Verify
Section titled “Step 6: Verify”forge licenseShould show your tier and features restored:
License: SoloEmail: p***[email protected]Status: ActiveExpires: 2027-04-15When to Escalate
Section titled “When to Escalate”Contact support at [email protected] if:
- Your Stripe subscription shows Active but Forge still shows revoked after running
forge config heartbeat now. - You believe the revocation was an error (no cancellation, no failed payments, no disputes).
- You filed a dispute and have resolved it but access has not been restored.
Include the output of:
forge config heartbeat showforge license