Clarification on License Override Behavior in Development

Hi folks,

According to the documentation referenced below, it’s suggested that different license states can be tested in development environments or when running locally via a tunnel by overriding environment variables.
Documentation link → https://developer.atlassian.com/platform/marketplace/listing-forge-apps/#testing-your-app-with-different-license-states

However, after several attempts—specifically using the FORGE_USER_VAR_LICENSE_OVERRIDE=inactive variable during tunneling—I haven’t been able to simulate the expected license state.

Question:

Is it expected that setting the environment variable (e.g. FORGE_USER_VAR_LICENSE_OVERRIDE) should result in context.license reflecting the overridden state?

As it stands, our application logic checks context.license directly, not the environment variable itself.

These steps or attempts highlighted bellow definitely didn’t worked for me

So, printing the environment variable FORGE_USER_VAR_LICENSE_OVERRIDE and context.license at runtime resulted in this output

context.license

{
"isActive": true,
"billingPeriod": "MONTHLY",
"capabilitySet": null,
"ccpEntitlementId": null,
"ccpEntitlementSlug": null,
"isEvaluation": null,
"subscriptionEndDate": null,
"supportEntitlementNumber": null,
"trialEndDate": "2025-08-16T08:14:49.141Z",
"type": "commercial",
"modes": null
 }

environment variable

LICENSE_OVERRIDE: 'inactive'

Really really strange …

Any insights would be appreciated—thanks!

Hi @IonScorobogaci,

That documentation is out of date. I’m following up with engineering but the only way to test for a license object is with using –license active when installing from the command line.

James.

1 Like

Perfect, yeah this looks like the only way.
So, when you need to test various states, like inactive (for example), you need to completely uninstall the app and install it after again with desired state (not ideal for sure).

Anyway, just highlighting that not up to date documentation is often more dangerous than a bug in the product itself :blush:

Hey everyone,

The documentation has been updated to remove the use of

FORGE_USER_VAR_LICENSE_OVERRIDE=inactive

Regards,
James.

1 Like

It is still referenced here: https://developer.atlassian.com/platform/marketplace/listing-forge-apps/#testing-your-app-with-different-license-states
Which drove both my AI and me nuts, when it tried to check the variable in addition to the license object in production code, just to test basic functionality.

Why is there a discrepancy between “development” (no license object without the uninstall→install workaround) and “production” (license object) in the first place? Any paid forge app becomes a nightmare to test this way.

3 Likes

Can an Atlassian staff member please provide authoritative clarification on the correct way to set license states when using forge tunnel?

The current ambiguity and inaccuracies in the official documentation are infuriating and are hindering our team’s progress. A definitive answer is needed.

1 Like

I am also having problems getting this to work. Neither LICENSE_OVERRIDE nor forge install --environment development --upgrade --license active has any effect. Does anyone know how this actually works?