Move Forge to a New Machine
The normal path for moving to a new laptop takes two commands: forge deactivate on the old machine, then forge activate on the new one. Your license key does not change.
Before you start
Section titled “Before you start”- Your old machine must be powered on and reachable.
- You need your license key. Run
forge licenseon the old machine to display it. - If your old machine is lost, broken, or wiped, skip to Recover from a dead machine instead.
On your old machine
Section titled “On your old machine”Step 1. Confirm which license is active:
forge licenseExpected output:
tier: soloexpires: 2027-04-17seats: 1/1 usedmachine: this machineStep 2. Deactivate this machine:
forge deactivateExpected output:
forge: license deactivated. This machine's binding has been released.Your license key is unchanged. The seat is now free for activation on your new machine.
On your new machine
Section titled “On your new machine”Step 1. Install Forge. See Install Forge if you have not done this yet.
Step 2. Activate with your license key:
forge activate <your-license-key>Expected output:
forge: license activated (tier: solo, expires: 2027-04-17)forge: machine fingerprint registered (1/1 slots used)forge: all 21 MCP tools unlockedStep 3. Index your repo:
forge index /path/to/your/repoThat is the entire process. Your new machine is now the active binding for your license.
Troubleshooting
Section titled “Troubleshooting”forge deactivate fails or hangs
Section titled “forge deactivate fails or hangs”If the old machine cannot reach the license server (no network, corporate proxy blocking the endpoint), deactivation may time out.
Check connectivity:
curl -I https://heartbeat.forge.ironpinelabs.com/health# Expected: HTTP/2 200If the request times out or returns an error, the server is not reachable from that machine. Use the portal self-service path instead — see Recover from a dead machine.
Check connectivity in PowerShell:
Invoke-WebRequest -Uri "https://heartbeat.forge.ironpinelabs.com/health" -Method Head# Expected: StatusCode 200If this fails, use the portal self-service path instead — see Recover from a dead machine.
forge activate says “seat limit reached”
Section titled “forge activate says “seat limit reached””This means the old machine’s binding was not fully released. Two recovery paths:
- Go back to the old machine and run
forge deactivateagain, then retry activation on the new machine. - Use the portal at
https://forge.ironpinelabs.com/portal/loginto manually revoke the old binding. See Recover from a dead machine.
forge activate says “invalid key”
Section titled “forge activate says “invalid key””The license key may have been re-issued during an eviction on another machine. Check your original purchase confirmation email for the key, or retrieve the currently stored key from the old machine before deactivating:
forge license --show-key