License Activation Failed
Symptoms
Section titled “Symptoms”forge activate <key>returns an error message.- Common error messages:
invalid license key format — expected <payload>.<signature>signature verification failed — key may be tampered or forgedlicense expired on <date>machine limit reached — deactivate an existing machine first
Likely Causes
Section titled “Likely Causes”| Cause | Indicator |
|---|---|
| Key was truncated or wrapped during copy-paste | InvalidFormat error |
| Key has extra spaces, newlines, or quotes | InvalidFormat error |
| Key was corrupted during transit | InvalidSignature error |
| Key is a dev/test key used with a production binary | InvalidSignature error |
| Subscription has expired | Expired error with a date |
| Machine limit reached (Solo: 1, Pro: 3, Team: seat count) | machine limit reached error |
Team invite token used without --team flag | InvalidFormat error |
Step-by-Step Fix
Section titled “Step-by-Step Fix”Step 1: Verify the key format
Section titled “Step 1: Verify the key format”The license key is a single string with exactly one . separator. It looks like:
eyJrZXki...(many characters).....<base64signature>Open your purchase email and copy the key exactly. Do not add quotes, spaces, or line breaks.
Step 2: Paste and activate cleanly
Section titled “Step 2: Paste and activate cleanly”On macOS or Linux:
forge activate "$(pbpaste)" # macOSforge activate "$(xclip -o)" # Linux with xclipOr paste directly — the key should be one unbroken string:
forge activate eyJrZXki....<signature>Step 3: Check the specific error
Section titled “Step 3: Check the specific error”InvalidFormat: Your key is missing the . separator or has been truncated. Re-copy from the email. If you received the key in a link, there may be URL encoding (%2B for +, %3D for =). Decode before activating.
InvalidSignature: The key bytes do not match the signature. This means the key was modified during transit. Contact support to request a key reissue.
Expired: Your subscription has lapsed. Renew at https://forge.ironpinelabs.com/pricing and activate the new key you receive.
machine limit reached: You are on Solo (1 machine), Pro (3 machines), or Team (seat count). To activate on a new machine, first deactivate on an old one:
# On the old machineforge deactivate
# Then activate on the new machineforge activate <key>If you no longer have access to the old machine, contact support to release the slot.
Step 4: Activating a team invite token
Section titled “Step 4: Activating a team invite token”Team invite tokens use a different flag:
forge activate --team <invite-token>Not the positional argument. Using the positional argument with an invite token produces an InvalidFormat error because the token format differs from a license key.
Step 5: Verify activation succeeded
Section titled “Step 5: Verify activation succeeded”forge licenseExpected output shows your tier, masked email, features, and expiration date:
License: SoloEmail: p***[email protected]Expires: 2027-04-15Features: dashboard, plugins, semantic_search, workflow_toolsWhen to Escalate
Section titled “When to Escalate”Contact support at [email protected] if:
- Activation continues to fail after a key reissue.
- You receive
InvalidSignatureon a freshly copied key. - You need a machine slot released and no longer have access to the old machine.
- Your purchase email never arrived (check spam first).
Include the output of:
forge licenseforge --version