| Symptom | Cause and action |
|---|---|
Enter an Azure application client ID, or switch to the built-in Microsoft sign-in. | The custom sign-in method is selected but no client ID is configured. Set microsoft.clientId or CT_MICROSOFT_CLIENT_ID, or set microsoft.loginMode to builtIn. |
This Microsoft account does not own Minecraft Java Edition. | The profile endpoint returned 404 for the signed-in account. |
This Microsoft account has no Xbox profile. | The XSTS error map reports this. Sign in at xbox.com once, then retry. |
Official metadata failed its SHA-1 verification. | A proxy or mirror altered the response. CT refuses to continue. |
Refusing a non-HTTPS download URL. | Metadata contained a non-HTTPS source. |
Official metadata requested an unsupported launch value: ${...} | The version metadata uses a placeholder CT does not implement. Add it to GameLauncher instead of ignoring it. |
The official Java runtime is missing its executable. | The runtime install was interrupted. Delete runtimes/<component> and install again. |
| Installation stops partway | Re-run the same command. Verified files are kept, so the install resumes rather than restarting. |
FAQ & Troubleshooting.
Every launcher error message with its cause and the exact action to take, the current limitations, the on-disk layout, and quick answers to the most common questions.
Error messages explained
CT reports problems with actionable messages. Each one below names the cause and what to do about it.
Current limitations
Four limitations are known in CT v4.3.0.
- Some desktop window fields do not feed the launch. The desktop launcher persists the Microsoft sign-in method, the Microsoft client ID, and the offline player name. The memory, resolution, game directory, and Java executable fields are read from
settings.propertieswhen the window opens, and the launch reads the settings file again, so edits to those four fields in the window do not change the next launch. Set them insettings.properties, or use the command line flags. - Command line mode has no Microsoft sign-in and no offline name persistence. The CLI always uses an offline profile, and it is not remembered between runs.
- The launcher version passed to the game is fixed. It is
4.3.0, matching the Maven version inpom.xml. - Offline profiles cannot join online-mode servers. The launcher does not retry the
player/attributesor Realms endpoints, which reject offline profiles with HTTP 401.
Where everything lives
All CT files sit under one hidden application directory, ~/.ct-client.
~/.ct-client/
settings.properties Non-secret launcher settings
game/
versions/<id>/<id>.json Verified official version metadata
versions/<id>/<id>.jar Verified client jar
versions/<id>/natives/ Natives subdirectories referenced by the metadata
libraries/ Rule-matched libraries, including natives classifiers
assets/indexes/ Asset index
assets/objects/ Asset objects, stored under their SHA-1 prefix
assets/log_configs/ Official log4j configuration
runtimes/ Official Java runtime, with the completion marker
logs/ct-client-launch.log Streamed game output, appended per launch
Mod JARs go one level further, in ~/.ct-client/game/mods/ — see how to open the mods folder.
Frequently asked
Where do Fabric mods go?
Fabric mods go in the same mods/ folder — CT detects fabric.mod.json and hands off to the matching Fabric profile automatically.
Can offline profiles join servers?
Only servers that explicitly disable authentication. Online-mode servers reject offline profiles with HTTP 401.
Where are my settings?
In ~/.ct-client/settings.properties. Tokens are never written there — a sign-in lasts for the current session only.
Why did my window edits not apply?
The memory, resolution, game directory, and Java executable fields in the window are read-only for the launch. Edit the settings file instead.