Fix it now
These two codes are not the same finding. Microsoft publishes 0x803F8001 as no entitlement for the product, often because a different account is signed in, and 0x803F8003 as an entitlement that exists but is in an invalid state and cannot produce a licence. Check which one you have first.
dsregcmd /status
slmgr /dlv
slmgr /ato
- Confirm which identity the device is using. In the
dsregcmd /statusoutput, read the Device State and the user account it reports, and check it is the licensed work account rather than a personal account with the same address. - In the Microsoft 365 admin centre, open Users then Active users, select that user and read Licenses and Apps. No seat is the whole of 0x803F8001.
- If no seat is assigned, assign one there, or from Billing then Licenses, then the product, then Assign licenses. Assignment fails silently against an exhausted subscription, so buy seats first if none are free.
- For 0x803F8003, the seat is usually present. Look for an assignment error against the user in the admin centre or in Microsoft Entra ID before touching the machine.
- Have the user sign out of Windows and back in so a fresh token is issued, then run
slmgr /atoand readslmgr /dlv.
0x803F8190 in the same family is neither of these. Microsoft publishes it as the licence not allowing the product to be used in the current country or region of the device.
If that fixed it you can stop here. If not, the next section separates the four codes properly, because two of them have nothing to do with seat assignment.
Why it happens
With subscription activation there is no key to install. The device presents the signed-in user’s token, the licensing service looks up what that identity is entitled to, and the device applies what comes back. Every step is about the user, which is why two people can sign into the same laptop and get different answers. The machine is a bystander.
The two headline codes describe different states, and the v1 version of this article treated them as one. Microsoft publishes 0x803F8001 as: you do not have an entitlement for the product, and you might be using a different Microsoft account from the one used to purchase it. That second clause is doing real work – the commonest cause is the wrong identity, not a missing purchase. 0x803F8003 is published differently: your entitlement for the product is in an invalid state that prevents a licence from being created. The entitlement is there. Something about it cannot be turned into a licence, and buying another seat will not change that.
The other two codes in this record point somewhere else again. 0x803F8190 is published as the licence not allowing the product to be used in the current country or region of the device – a geography restriction, not an assignment problem. And 0xC004E015, which the v1 article filed under missing entitlements, is documented by Microsoft with a specific local cause: a corrupted tokens.dat file at C:\Windows\System32\spp\store\2.0\tokens.dat, resolved by rebuilding it. That is a repair on the machine, not a conversation with your reseller.
Two prerequisites sit underneath all of this and neither shows up in the error: the device has to be Microsoft Entra joined or hybrid joined, and the base edition has to be one with a documented step-up path. A Windows Home device with a perfectly assigned seat will still fail.
No seat is assigned to the user
You have this one if 0x803F8001, and the user’s Licenses and Apps tab is empty or shows a different product from the one the device is asking for.
- Assign the correct product in Users then Active users, then Licenses and Apps.
- If the tenant has no free seats, buy them first. Assignment against an exhausted subscription fails without a useful message.
- Give the assignment a few minutes, then sign out and back in on the device.
- Run
slmgr /atoand confirm withslmgr /dlv.
The device is signed in with a different identity
You have this one if 0x803F8001 on a machine where you are certain the licence exists, and the account in use is a personal Microsoft account or a second work account.
- Run
dsregcmd /statusand read which account and tenant the device reports. - Confirm the device is Entra joined or hybrid joined, not registered. A registered device does not carry the relationship this depends on.
- Sign in with the licensed work account. A personal account can carry the same address and still be a different identity.
- On a shared machine, remember every user gets their own answer from the licensing service.
Microsoft’s published text for 0x803F8001 names this explicitly: you might be using a different Microsoft account from the one that was used to purchase the product.
The entitlement exists but is in a state that cannot produce a licence
You have this one if 0x803F8003, with a seat visibly assigned to the user in the admin centre.
- Look for a licence assignment error recorded against the user in the admin centre or in Microsoft Entra ID, rather than reassigning blindly.
- Group-based assignment failures usually come from a missing prerequisite service plan, a conflicting plan assigned directly, or the subscription running out of seats part way through a group.
- Resolve the conflict, or assign the licence directly to the user as an interim measure and confirm the tab is clean.
- Only then sign the user out and back in on the device.
The device is in a country or region the licence does not cover
You have this one if 0x803F8190, often on a machine that has been shipped abroad or is behind a VPN egress in another country.
- Check the device’s region setting and the network path it is using to reach the licensing service.
- Confirm the subscription was bought in a tenant whose region covers where the device now is.
- Where a device has genuinely moved, this is a purchasing question for your reseller rather than a device repair.
The local licence store is damaged
You have this one if 0xC004E015, which Microsoft documents as a corrupted tokens.dat rather than a missing entitlement.
- Stop the Software Protection service:
net stop sppsvc. - Rename
tokens.datin%windir%\system32\spp\store\2.0– rename, do not delete. - Start the service again with
net start sppsvc, then runslmgr /rilcto reinstall the licence files. - Restart the computer twice, then reinstall the product key with
slmgr /ipk <key>and retry activation.
Microsoft’s guidance for this procedure is explicit that you should not use slmgr /upk to remove the old key. Install the intended key over the top with /ipk.
Full reference
What each code in this record actually says
| Code | Published text | Where the fix is |
|---|---|---|
0x803F8001 |
You do not have an entitlement for the product. You might be using a different Microsoft account than the one that was used to purchase the product | The tenant, or the identity signed in |
0x803F8003 |
Your entitlement for the product is in an invalid state that prevents a license from being created | The assignment itself, not the seat count |
0x803F8190 |
The license doesn’t allow the product to be used in the current country or region of your device | Geography, not assignment |
0xC004E015 |
Documented as caused by a corrupted tokens.dat file | The machine. Rebuild tokens.dat |
Rebuilding the licence store, as Microsoft documents it
- Stop the service:
net stop sppsvc. - Change to
%windir%\system32\spp\store\2.0on Windows 10, Windows 11 and Windows Server 2016 or later. - Rename the file:
ren tokens.dat tokens.bar. - Start the service:
net start sppsvc. - Reinstall the licence files:
cscript.exe %windir%\system32\slmgr.vbs /rilc. - Restart the computer twice, then install the product key with
cscript.exe %windir%\system32\slmgr.vbs /ipk <product key>.
Microsoft’s instruction with this procedure is not to use the /upk switch to uninstall a product key. Installing the intended key over the existing one with /ipk is the documented route, and it does not leave the machine unlicensed while you look for the replacement.
What subscription activation requires before any of this matters
- A Microsoft Entra joined or Microsoft Entra hybrid joined device. Entra registered and workgroup devices are not supported.
- An eligible base edition: Windows Pro stepping up to Windows Enterprise, or Windows Pro Education stepping up to Windows Education.
- An assigned Windows Enterprise E3 or E5 subscription, or an equivalent entitlement through a Microsoft 365 plan that carries one.
- Internet connectivity. Devices attempt to renew about every 30 days and must be online to acquire or renew.
- Up to five devices per user licence. On a sixth, the device that user has left alone longest reverts to Pro or Pro Education.
Reading dsregcmd output without guessing
| AzureAdJoined | EnterpriseJoined | DomainJoined | Device state |
|---|---|---|---|
| YES | NO | NO | Microsoft Entra joined |
| NO | NO | YES | Domain joined |
| YES | NO | YES | Microsoft Entra hybrid joined |
| NO | YES | YES | On-premises DRS joined |
The other line to read is AzureAdPrt in the SSO State block. YES means a primary refresh token is present for the signed-in user; NO means there is nothing for the device to present, and no amount of tenant work will change the result until the user signs in again and gets one.
Microsoft’s own text for any of these codes can be printed on the machine with slui.exe 0x2a followed by the code, for example slui.exe 0x2a 0x803F8003. Use it to check what your build reports rather than trusting anyone’s summary, including this one.
When a licence is the actual fix
When the tenant genuinely has no seat for the user, this is a purchasing question and no work on the device changes the answer. Windows 11 Enterprise E3 is a per-user subscription: assign a seat and eligible Pro devices that user signs into step up automatically. We supply Enterprise E3 seats, and we will check three things first, because each of them makes a purchase unnecessary – whether your existing agreement already covers these users, whether the devices are on an eligible base edition, and whether what you are actually looking at is 0x803F8003 or 0xC004E015, neither of which is solved by buying anything.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0x803F8001 |
You do not have an entitlement for the product. You might be using a different Microsoft account than the one that was used to purchase the product | Microsoft Learn |
0x803F8003 |
Your entitlement for the product is in an invalid state that prevents a licence from being created | Microsoft Learn |
0x803F8190 |
The licence does not allow the product to be used in the current country or region of the device | Microsoft Learn |
0xC004E015 |
SL_E_EUL_CONSUMPTION_FAILED. Microsoft documents the cause as a corrupted tokens.dat file, resolved by rebuilding it | Microsoft Learn |
Confirm the fix worked
- The user shows the expected product under Licenses and Apps in the admin centre, with no assignment error recorded.
dsregcmd /statusreports an Entra joined or hybrid joined device with AzureAdPrt YES for that user.slmgr /dlvreports the expected edition with a licence status of Licensed.- Settings, System, Activation reports the device as activated through the subscription.
- Sign out and back in once more and re-check, so the result is not simply cached from your test.
Questions people ask about this
Do I need to buy something?
Only for 0x803F8001 where the tenant has no free seat. An unassigned seat you already pay for is the most common cause and costs nothing to fix. 0x803F8003, 0x803F8190 and 0xC004E015 are not solved by buying anything at all.
Why does it work for my colleague on the same laptop?
Because the entitlement belongs to the user rather than the machine. Their identity has a seat and a valid token; yours does not. The hardware gives a different answer depending on who signs in.
What is the difference between 0x803F8001 and 0x803F8003 in practice?
0x803F8001 says there is no entitlement to find, so you go looking in the tenant or at the identity signed in. 0x803F8003 says the entitlement is there but cannot be turned into a licence, so you go looking at the assignment – a group-based assignment error, a missing prerequisite service plan, or a conflicting plan assigned directly.
Is a Microsoft Entra registered device good enough?
No. Microsoft documents Microsoft Entra joined and Microsoft Entra hybrid joined as supported for subscription activation, and workgroup and Entra registered devices as not supported. A registered device carries the user’s identity but not the device relationship this depends on.
How long does an assignment take to reach the device?
Usually minutes, but the device only acts on it at its next licence check. Signing out and back in forces a fresh token rather than waiting, which is faster and tells you sooner whether the assignment was the problem.
