> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.16.0/deployment/licensing/common-license-errors.md).

# Common license errors

{% stepper %}
{% step %}

#### Confirm what you’re doing

* Are you activating a license right now?
* Which OS are you on (Windows / Linux / Docker)?
* Are you using **automatic** or **manual** activation?

If you’re not sure, check the activation guides:

* [License activation on Windows](/v6.16.0/deployment/licensing/license-activation-on-windows.md)
* [License activation on Linux](/v6.16.0/deployment/licensing/license-activation-on-linux.md)
  {% endstep %}

{% step %}

#### Collect the basics

* Copy the **full error text**.
* Note the **timestamp** when it happened.
* Grab **AppServer logs** (folder: `AppServer/Logs`).
* If the service is running, [license status](/v6.16.0/api-reference/auxiliary-api-commands/license-status.md) returns the exact reason in the `message` field.

To verify the current license status in logs, use:

* [License verification](/v6.16.0/deployment/licensing/license-verification.md)
* [Main AppServer commands](/v6.16.0/deployment/configuration/application-server/main-appserver-commands.md) (status/version checks)
  {% endstep %}

{% step %}

#### If you use automatic activation, verify outbound connectivity

Automatic activation requires outbound access to WebSpellChecker licensing API.

* Make sure your server can reach the Internet.
* Check firewall / proxy rules.
* See the exact endpoint and allowlist notes in:
  * [Internet connectivity requirements](/v6.16.0/deployment/installation-requirements/internet-connectivity-requirements.md)

If you activate through a proxy:

* [License activation through proxy server](/v6.16.0/deployment/licensing/license-activation-through-proxy-server.md)
  {% endstep %}
  {% endstepper %}

### Activation error messages

Open the exact message you see and follow the steps.

<details>

<summary><strong>Error. The License Ticket ID that you have entered is incorrect or invalid. Please recheck your Ticket and try again.</strong></summary>

**What it means**

The License Ticket ID was not accepted by the licensing server.

**Fix**

* Re-copy the License Ticket ID.
* Avoid leading/trailing spaces and line breaks.
* Make sure you’re using the ticket for the correct product/environment.
* If you upgraded from very old versions, confirm you’re not using a legacy license type.

**If it still fails**

Email <support@webspellchecker.net> and include:

* the License Ticket ID you used
* the exact error message
* OS and WebSpellChecker version

</details>

<details>

<summary><strong>Error. Unable to connect to the remote license server. The automatic license activation has failed. Check your Internet connection or try to activate your license manually.</strong></summary>

**What it means**

Your server can’t reach the licensing endpoint during **automatic** activation.

**Fix**

* Verify outbound access from the server.
* Check firewall rules, proxy, DNS, and SSL inspection.
* Allowlist the licensing endpoint mentioned in:
  * [Internet connectivity requirements](/v6.16.0/deployment/installation-requirements/internet-connectivity-requirements.md)
* If the server has no Internet access, switch to **manual** activation:
  * [License activation on Windows](/v6.16.0/deployment/licensing/license-activation-on-windows.md)
  * [License activation on Linux](/v6.16.0/deployment/licensing/license-activation-on-linux.md)

**If you’re behind a proxy**

* [License activation through proxy server](/v6.16.0/deployment/licensing/license-activation-through-proxy-server.md)

</details>

<details>

<summary><strong>Error. License decoding failed. Invalid or corrupted license string. Verify and retry.</strong></summary>

**What it means**

This is a **manual activation** issue. The License Response string is incomplete or altered.

**Fix**

* Re-copy the **entire** License Response string.
* Don’t remove URL-encoded characters.
* Avoid leading/trailing spaces and line breaks.
* Make sure you didn’t paste only part of the string.

{% hint style="warning" %}
If you’re copy/pasting through terminals, disable “smart” formatting tools.
{% endhint %}

</details>

<details>

<summary><strong>Error. License activation failed. Maximum activation attempts exceeded. Contact support@webspellchecker.net.</strong></summary>

**What it means**

There is a fixed limit for activation attempts per License Ticket ID.

**Fix**

* Contact support to increase attempts.
* If you’re using Docker, activate during the image build or persist the license in the image.

**Send to support**

* License Ticket ID
* Number of installations/activations you already ran

</details>

<details>

<summary><strong>Error. License activation failed. License expired on 2026-07-14. Contact support@webspellchecker.net to renew.</strong></summary>

**What it means**

The License Ticket ID is no longer valid.

**Fix**

* Check if your team has a newer License Ticket ID.
* If not, contact <support@webspellchecker.net> to renew.

**Send to support**

* License Ticket ID

</details>

<details>

<summary><strong>This license can't be activated with version 6.16.0.0. It is valid for versions up to 6.15.0.0. To use version 6.16.0.0, please contact support@webspellchecker.net to upgrade your license.</strong></summary>

**What it means**

Your License Ticket ID has a maximum version limit, and the version you are activating is above it. The second version in the message is the highest your ticket allows. This most often appears when you re-activate a license after an upgrade.

**Fix**

Contact <support@webspellchecker.net> to upgrade your license. Once it is upgraded, run the activation again.

**Send to support**

* License Ticket ID
* The version you are trying to activate

</details>

<details>

<summary><strong>Warning. Failed to update information in the license file. System exception.</strong></summary>

**What it means**

AppServer couldn’t update the local license file on disk.

**Fix**

* Check write permissions for the license storage directory:
  * Windows: `C:\ProgramData\WebSpellChecker`
  * Linux: `/var/lib/WebSpellChecker`
* If you run as a service, verify the service user has access.
* On Docker, make sure the mounted volume is writable.

{% hint style="info" %}
This warning often doesn’t break the already activated license.\
Still fix it to avoid issues on reactivation/renewal.
{% endhint %}

</details>

### License validation error messages

These messages are returned in the API response and written to `AppServer/Logs` when a license is present but cannot be used. While one of them applies, AppServer rejects proofreading requests. The health check keeps responding, with `license.valid` set to `false`.

<details>

<summary><strong>License does not match the current product version. Please re-activate the license.</strong></summary>

**What it means**

The license was issued for a different version of WebSpellChecker Server. Starting from version 6.16.0.0, a license is tied to the product version it was activated for, so upgrading the application invalidates the existing license until it is re-activated.

**Fix**

* Re-activate the license with the same License Ticket ID. See [Upgrade application version](/v6.16.0/deployment/installation/upgrade-application-version.md).
* If activation is refused because of a version limit, your ticket does not cover the new version. Contact <support@webspellchecker.net> to upgrade the license.

{% hint style="info" %}
This applies to any change of the version, including a maintenance release. Plan a re-activation as part of every upgrade.
{% endhint %}

</details>

<details>

<summary><strong>License has expired. Renew the license to resume the service.</strong></summary>

**What it means**

The license term is over.

**Fix**

* Contact <support@webspellchecker.net> to renew the license.
* Once it is renewed, run the activation again. See [License activation on Windows](/v6.16.0/deployment/licensing/license-activation-on-windows.md) or [License activation on Linux](/v6.16.0/deployment/licensing/license-activation-on-linux.md).

{% hint style="info" %}
Before a license expires, AppServer writes a warning to the log when 30, 14, 7, 1 and 0 days are left:

`License expires in 7 days 2 hours 15 minutes 40 seconds. Renew the license to keep the service uninterruptible.`

To track the remaining time programmatically, use the [health check command](/v6.16.0/api-reference/auxiliary-api-commands/health-check.md), which returns `license.remaining_seconds`.

The service keeps working until the license actually expires.
{% endhint %}

</details>

<details>

<summary><strong>License is absent. The license activation is required.</strong></summary>

**What it means**

No license has been activated on this installation yet. A new installation stays in this state until you activate.

**Fix**

* Activate the license. See [License activation on Windows](/v6.16.0/deployment/licensing/license-activation-on-windows.md) or [License activation on Linux](/v6.16.0/deployment/licensing/license-activation-on-linux.md).
* In Docker, pass the License Ticket ID at container startup or activate at image build time. See [License activation in Docker](/v6.16.0/deployment/licensing/license-activation-in-docker.md).

</details>

<details>

<summary><strong>License is invalid. Something went wrong. Try to reactivate a license again.</strong></summary>

**What it means**

The license file exists but cannot be accepted. Common causes are a damaged or manually edited license file, a license file copied from another installation, and a license produced by an older version of the application.

**Fix**

* Re-activate the license with your License Ticket ID.
* Do not copy the license file between servers. To move an installation, deactivate the license first, then activate it on the new server. See [License deactivation on Windows](/v6.16.0/deployment/licensing/license-deactivation-on-windows.md) and [License deactivation on Linux](/v6.16.0/deployment/licensing/license-deactivation-on-linux.md).

**If it still fails**

Email <support@webspellchecker.net> and attach `AppServer/Logs`.

</details>

### Still stuck?

Email <support@webspellchecker.net>.

Include:

* The exact error message
* OS and WebSpellChecker version
* Activation mode (automatic/manual)
* `AppServer/Logs` (zipped)

### Related topics

* **Connectivity / proxy**
  * [Internet connectivity requirements](/v6.16.0/deployment/installation-requirements/internet-connectivity-requirements.md)
  * [License activation through proxy server](/v6.16.0/deployment/licensing/license-activation-through-proxy-server.md)
* **License files and lifecycle**
  * [Custom path to the license file](/v6.16.0/deployment/licensing/custom-path-to-the-license-file.md)
  * [Disable license auto-reactivation](/v6.16.0/deployment/licensing/disable-license-auto-reactivation.md)
  * [License deactivation on Windows](/v6.16.0/deployment/licensing/license-deactivation-on-windows.md)
  * [License deactivation on Linux](/v6.16.0/deployment/licensing/license-deactivation-on-linux.md)
* **General backend troubleshooting**
  * [How-to troubleshoot the service issues](/v6.16.0/troubleshooting/server-side-backend/how-to-troubleshoot-the-service-issues.md)
* **Contact support**
  * [How do I contact support?](/v6.16.0/faq/general/support/how-do-i-contact-support.md)
