# Troubleshooting AI model downloads and configuration

Use this page when AppServer fails to start, or AI suggestions don't work.

### Missing model files (model wasn’t downloaded)

#### Symptoms

You may see one of these errors in logs:

```
04/03/26:16:06:15.635	#21644:0	Subsystem_General	Error	Failed to load config for model 'en'. The model is disabled until the application is restarted. Failed to open AI config file: '<Installation_path>/AppServer/grammar/neural/en/config.json'. Reason: file doesn't exist.
```

#### Cause

The AI model directory exists in config, but the model files are missing.

This usually happens when:

* the host had no outbound internet during installation
* files were copied partially during a manual/offline install

#### Fix

Pick one:

* Re-run installation and select the needed AI models.
* Install resources manually using the offline package.

Use: [Manually downloading resources (offline installation)](/v6.12.0/deployment/installation/manually-downloading-resources-offline-installation.md)

### “Unknown AI model” after disabling the model

#### Symptom

```
04/03/26:15:53:53.640	#12024:8	Subsystem_General	Error	Unhandled exception in handleRequest(): Unknown AI model id 'en'.
```

#### Cause

The model is disabled in `AppServerX.xml` under `<AIModels>`, but it is still referenced by an enabled language configuration.

Common sources of that dependency:

* an enabled check kit that includes `<Neural Enabled="true" .../>`
* an enabled `<Autocomplete Enabled="true">` block

#### Fix options

**Option A: Re-enable the model**

If you still want AI features, re-enable the model in `<AIModels>` and ensure the model files exist.

**Option B: Disable AI usage in language configuration (recommended)**

If your goal is to **turn off AI features**, disable them where they are used:

1. Back up `AppServerX.xml`.
2. In `AppServerX.xml`, for each affected `<Language ...>`:
   * disable all check kits that include `<Neural Enabled="true" .../>`
   * make a non-AI check kit the default (for example, `lt_hs`)
   * to disable autocomplete, set `<Autocomplete Enabled="false">` or remove the block
3. Disable the related model in `<AIModels>` (`Enabled="false"`).
4. Restart the application

Restart AppServer to apply changes in `AppServerX.xml`.

To restart: [stop](https://docs.wproofreader.com/v6.12.0/deployment/configuration/ai-engine-setup/pages/IA2KNQLXDh85TwDivL4y#mainappservercommands-stopappserverwindowslinux2.stopappserver) the application, then [start](https://docs.wproofreader.com/v6.12.0/deployment/configuration/ai-engine-setup/pages/IA2KNQLXDh85TwDivL4y#mainappservercommands-startappserverwindowslinux1.startappserver) it again.

Use [Main AppServer commands](/v6.12.0/deployment/configuration/application-server/main-appserver-commands.md).

<details>

<summary>Example: why disabling a model can break a language</summary>

A language can reference AI features in its check kits and autocomplete settings. If these are enabled, AppServer will expect the matching model to be available.

```xml
<Language Id="en_US" Enabled="true">
  ...
  <SupportedCheckKits>
    <CheckKit Name="ai_lt_hs1" Default="true" Enabled="true" Parent="lt_hs">
      <Neural Enabled="true" Priority="3" Locale="en"/>
      ...
    </CheckKit>
  </SupportedCheckKits>

  <Autocomplete Enabled="true">
    <Locale>en</Locale>
  </Autocomplete>
</Language>
```

</details>

{% hint style="info" %}
You can keep model files on disk after disabling AI. Remove model directories only after restart and log verification.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wproofreader.com/v6.12.0/deployment/configuration/ai-engine-setup/troubleshooting-ai-model-downloads-and-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
