Enabling JAX
JAX ships disabled by default. This is intentional: the install step is deliberately separated from the LLM-provider-choice step so that data never flows to an unauthorized provider before an administrator has made a decision. When JAX is disabled, the JAMS Web Client UI hides the icon and the chat endpoint returns a "503 JAX_disabled" error.
To enable JAX, ensure you complete all sections in this article.
Before You Begin
Before you start, confirm the following:
-
JAMS Web Client is installed with the JAX Windows service present on the server. The service is installed alongside JAMS Web Client. See Installing the JAMS Web Client with the Installer. Select both the JAX and JAMS MCP components. JAX relies on JAMS MCP to reach your JAMS data, so without JAMS MCP it has no tools to call.
-
You have administrator access to the machine. This is required to set a machine-scoped environment variable and restart the service.
-
Access to one of the supported LLM providers and a method to set an environment variable on the JAMS Web Client machine. This is required for storing the API key securely.
-
You have an API key for a supported LLM provider (such as OpenAI), or you are running a local model. You need the following information:
- API Key
- Provider Endpoint
- Provider Model, such as claude-haiku-4-5 or claude-sonnet-4-6
-
Network reachability from the JAMS Web Client to the chosen LLM provider endpoint, if you are using an external provider. Local models eliminate this requirement.
-
A JAMS user account. JAX uses your identity end-to-end. Every JAMS read or write JAX performs runs as you, with your permissions.
-
Your JAMS gateway URL, such as https://jams.example.com.
1. Setting the API Key as an Environment Variable
The LLM API key must be stored as a machine-scoped environment variable on the JAMS server. Never put it in the settings.json file or any other JSON configuration file. A machine-scoped environment variable keeps the key isolated to the running services on the JAMS server.
Local and loopback providers (Ollama, LM Studio, vLLM, and llama.cpp) do not require an API key. Skip this section if you are using one of these providers.
You need to set the following environment variable:
- JAX__PROVIDER__APIKEY
The double-underscore convention in the variable name (JAX__PROVIDER__APIKEY) is the .NET configuration standard for nested keys. It maps to the JAX:Provider:ApiKey path in the settings.json file at C:\Program Files\JAMS\Shared\JAX by default.
Adding the API Key
To add the API key, you can use PowerShell as noted below, or you can open the Environment Variables options from the Windows search menu on your machine.
- Open PowerShell as administrator.
- Run the command below and insert your key.
[Environment]::SetEnvironmentVariable("JAX__PROVIDER__APIKEY", "\<your-key\>", "Machine")
- Open a new PowerShell session to verify the variable is set:
[Environment]::GetEnvironmentVariable('JAX__PROVIDER__APIKEY', 'Machine')
2. Updating the Settings File
By default, JAX is disabled. You need to manually enable it in the settings.json and add information for your LLM endpoint and model.
- Go to <JAMS install root>\Shared\JAX\. The default is: C:\Program Files\JAMS\Shared\JAX.
- Open the settings.json file.
- Replace the existing {} by pasting the configuration for your provider. Below are several examples.
Example - Anthropic:
{
"JAX": {
"Enabled": true,
"Provider": {
"Endpoint": "https://api.anthropic.com/v1",
"Model": "claude-haiku-4-5"
}
}
}
Example - OpenAI:
{
"JAX": {
"Enabled": true,
"Provider": {
"Endpoint": "https://api.openai.com/v1",
"Model": "gpt-4o-mini"
}
}
}
Example - Ollama (local, no key required):
{
"JAX": {
"Enabled": true,
"Provider": {
"Endpoint": "http://localhost:11434/v1",
"Model": "llama3.3"
}
}
}
- Ensure you set JAX:Enabled to true.
- Save and close the file.
The Endpoint and Model fields are required when JAX is enabled. If either is missing, the service will not start. There are optional configuration items that you can specify. See JAX Overview for more information.
3. Restarting the Service
- Open the Windows Services application.
- Restart the JAX service.
Changes to the settings.json file alone take effect on the next chat turn without a restart. A restart is only required after changing environment variables or toggling JAX:Enabled.
4. Verifying the Changes
-
Open the service log at: <JAMS install root>\JAX\logs\web-JAX-log-.txt*
-
Look for this line near the most recent startup:
JAX is ENABLED. Chat endpoint will accept requests; provider configuration validated at startup. -
For a deeper check, call the diagnostic endpoint as an authenticated user:
GET https://<gateway>/api/JAX/whoami
A successful response looks like: { "sub": "<your-user-id>", "enabled": true }
-
If you see JAX is DISABLED in the log, confirm that JAX:Enabled is set to true in the settings.json file and that the file is saved to the correct path.