Settings
Customize every aspect of Kable Launcher to match your preferences.
The Settings panel is your control center for customizing Kable Launcher. All settings are automatically saved and persist across launcher restarts. Access settings by clicking the gear icon in the navigation sidebar.
Settings are stored in JSON format and can be exported/imported for backup or sharing between computers. Look for the import/export buttons in the settings panel.
General Settings
These settings control the fundamental behavior of Kable Launcher, including Java configuration, file paths, update behavior, and what happens when you launch, close, or crash Minecraft.
| Setting | Type | Default | Description |
|---|---|---|---|
java_path | String (path) | Auto-detect | Path to Java executable. Leave empty for auto-detection. Required: Java 8+ for old versions, Java 25+ for modern Minecraft. |
game_directory | String (path) | Auto-detect | Root directory for Minecraft files. Each installation can override this. Default: %APPDATA%\.minecraft (Windows). |
auto_update_launcher | Boolean | true | Automatically check for and download launcher updates. Requires update_mode to control when updates apply. |
update_mode | Enum | on_confirm | instant: Apply immediately | on_restart: Next launch | on_confirm: Ask user each time |
on_game_launch | Enum | open_logs | Action when starting Minecraft: keep_open | exit | minimize | open_logs | ask |
on_game_close | Enum | open_home | Action when Minecraft closes normally: open_logs | open_home | exit | minimize | ask |
on_game_crash | Enum | open_logs | Action when Minecraft crashes: restart | open_logs | open_home | exit | minimize | ask |
show_ads | Boolean | false | Display advertisements in the launcher. Ads support development while keeping Kable free. |
The ask option for launch behaviors will prompt you each time, perfect for users who want flexibility based on context.
Appearance Settings
Make Kable look exactly how you want. These settings control colors, spacing, sidebar width, icons, and more. Changes apply instantly without restarting the launcher.
| Setting | Type | Default | Description |
|---|---|---|---|
theme | Enum | dark | light | dark | system (matches OS theme) |
selected_css_theme | String | default | Name of active CSS theme file. Use "default" for built-in theme or specify custom CSS filename. |
language | String | en | Interface language code (e.g., "en", "de", "fr", "es"). Contribute translations on GitHub! |
extra_spacing | Number | 0 | Additional UI padding in pixels. Increase for touch-friendly spacing, decrease for compact layouts. Range: -10 to 50. |
sidebar_width | Number | 250 | Navigation sidebar width in pixels. Wider shows full names, narrower saves space. Range: 150-400. |
selected_icon_template | String | emoji | Icon pack name for installation icons. "emoji" is built-in, others can be downloaded. |
icon_settings | JSON Object | {} | Advanced JSON configuration for icon appearance. Edit directly for pixel-perfect customization. |
Community themes and icon packs can be found on GitHub. Drop CSS files into the themes folder and icon zips into the icons folder!
Sound Settings
Kable features a rich audio experience with UI sound effects and background music. All sound settings are nested under appearance.sound in the configuration.
| Setting | Type | Default | Description |
|---|---|---|---|
enabled | Boolean | true | Master toggle for all UI sound effects. Music is controlled separately. |
music_enabled | Boolean | true | Enable or disable background music while using the launcher. |
master_volume | Number | 50 | Overall volume for all launcher audio (0-100). Affects both sounds and music. |
sound_volume | Number | 50 | Volume for UI sound effects only (0-100). Plays on button clicks, hovers, notifications. |
music_volume | Number | 50 | Volume for background music only (0-100). Independent from sound effects. |
selected_soundpack | String | default | Name of active soundpack. "default" uses built-in sounds. Import custom packs as ZIP files. |
Create custom soundpacks by organizing audio files in the correct structure. Check the soundpacks folder for examples!
Logging Settings
Logging settings determine how Kable saves, displays, and manages diagnostic logs. Essential for troubleshooting crashes or reporting bugs to developers.
| Setting | Type | Default | Description |
|---|---|---|---|
show_logs_page_in_nav | Boolean | true | Show the Logs page in sidebar navigation. Hide to declutter if you rarely use logs. |
enable_persistent_logging | Boolean | false | Save logs to disk for later review. Stored in launcher data directory. |
enable_log_compression | Boolean | true | GZIP-compress old log files to save disk space. Compressed logs remain readable. |
log_file_size_limit_mb | Number | "disabled" | 10 | Maximum log file size in MB before rotation. Set to "disabled" for unlimited. |
log_retention_days | Number | "disabled" | 30 | Auto-delete logs older than this many days. "disabled" keeps logs forever. |
merge_log_tabs | Boolean | false | Combine launcher and game logs into single view instead of separate tabs. |
default_log_levels | Array<String> | ["error"] | Visible log levels: debug, info, warn, error. Example: ["info", "warn", "error"] |
max_memory_logs | Number | 5000 | Maximum log entries kept in RAM. Higher = scroll further back but use more memory. |
enable_dedupe | Boolean | true | Remove consecutive duplicate log messages. Reduces spam from repeated errors. |
dedupe_window_size | Number | 50 | Number of recent log entries to check for duplicates. Higher catches more but uses slightly more CPU. |
Unlimited log retention can fill your disk over time! Set reasonable limits or periodically clean the logs folder manually.
Network Settings
Network settings control how Kable downloads mods, resource packs, game files, and other content from the internet. Tune these for your connection speed.
| Setting | Type | Default | Description |
|---|---|---|---|
parallel_downloads | Number | 3 | Number of simultaneous downloads. Fast connections: 6-8. Slow connections: 2-4. Range: 1-16. |
connection_timeout | Number | 30 | Network request timeout in seconds. Increase for slow connections, decrease for faster failure detection. |
download_speed_limit | Number | "unlimited" | "unlimited" | Bandwidth throttle in MB/s. Set a number to limit or "unlimited" for max speed. |
If downloads fail frequently, try increasing connection_timeout to 60 seconds and reducing parallel_downloads to 2.
Content Settings
Content settings control automatic world backups and whether to use shared or per-installation folders for mods and resource packs. These settings affect how content is organized on disk.
| Setting | Type | Default | Description |
|---|---|---|---|
auto_backup_worlds | Boolean | false | Automatically create world backups before launching Minecraft. Backups stored in backups/ folder. |
max_world_backups | Number | "disabled" | 5 | Maximum backup copies per world. Oldest deleted when limit reached. "disabled" keeps all backups. |
use_per_installation_mods_folder | Boolean | false | Each installation gets its own mods/ folder instead of sharing the global one. |
use_per_installation_resource_packs | Boolean | false | Each installation gets its own resourcepacks/ folder instead of sharing the global one. |
Per-installation folders prevent mod conflicts but use more disk space. Shared folders save space but require manual mod management for different Minecraft versions.
Advanced Settings
Advanced settings unlock experimental features, debugging tools, and fine-grained control over launcher internals. Only modify these if you know what you're doing!
| Setting | Type | Default | Description |
|---|---|---|---|
enable_experimental_features | Boolean | false | Enable beta/experimental functionality. May be unstable. Great for testing and providing feedback! |
check_nightly_updates | Boolean | false | Check for pre-release nightly builds instead of stable releases. Get newest features first (with potential bugs). |
default_memory | Number | 2048 | Default RAM allocation in MB for new installations. Can be overridden per-installation. Modern modpacks: 4096-8192 MB. |
separate_logs_window | Boolean | false | Open game logs in separate window instead of integrated tab. Useful for multi-monitor setups. |
auto_save_interval | Number | 30 | Auto-save launcher state every N seconds. 0 disables auto-save. Prevents data loss on crashes. |
show_advanced_page | Boolean | false | Show the Advanced page in sidebar navigation. Contains symlink management and debug tools. |
extra | JSON Object | {} | Free-form JSON object for custom key-value pairs. Used by plugins and extensions. |
Experimental features can break at any time! Always keep stable backups of your installations before enabling experimental mode.
Miscellaneous Settings
Miscellaneous settings control window chrome and authentication preferences. These are less commonly modified but still important for specific use cases.
| Setting | Type | Default | Description |
|---|---|---|---|
use_titlebar | Boolean | true | Use native OS window titlebar. Disable for frameless window (custom titlebar). Tauri-specific setting. |
auth_preference | Enum | code | code: Browser-based OAuth flow | device_code: Device code flow for headless systems |
Device code authentication is useful for servers or systems without a browser. You'll get a code to enter on another device.