Basalt combines an artwork-led interface with the practical tools expected from a modern Minecraft launcher. It is designed to feel cohesive and visually considered without giving up control over instances, loaders, content, accounts, or launch settings.
- Instance management. Keep saves, mods, resource packs, shaders, settings, and launch options separate for every instance.
- Loader support. Install and switch between Fabric, Quilt, NeoForge, and Forge.
- Content discovery. Browse Modrinth and CurseForge with compatibility filtering, dependency resolution, changelogs, and update checks.
- Modpack installation. Create an instance directly from a Modrinth modpack.
- Microsoft accounts. Manage multiple accounts with device-code sign-in and silent token refresh.
- Skins and capes. Import, preview, save, and apply skins, then manage capes from the same interface.
- Java detection. Find compatible runtimes from the system and common version managers, with global and per-instance overrides.
- Visible background work. Follow downloads and installs, cancel active tasks, and recover interrupted operations.
- Useful diagnostics. Keep launcher logs separate from game output, change log levels, and preview final launch arguments.
Basalt is cross-platform software for Linux, Windows, and macOS. Testing coverage still varies between platforms, so platform-specific bug reports are especially useful during the beta.
GitHub Releases provide installers for every supported desktop platform:
- Windows:
.exeand.msi - macOS:
.dmg - Linux: AppImage and Debian package
Arch users can install basalt-launcher-bin from the AUR for stable releases, or
basalt-launcher-dev-bin for the latest development prerelease.
Nix and NixOS users can build and run Basalt directly from source:
nix run github:MegalithOfficial/basalt-launcherTo build the latest development source with development-only features enabled:
nix run github:MegalithOfficial/basalt-launcher#devUse -l or --launch to start an instance without opening the launcher first:
basalt-launcher -l 4f9c2a81
basalt-launcher --launch "My instance"Names work when they are unique. ID prefixes are unambiguous and must be at least eight characters; Basalt accepts the full instance ID too.
-L or --list prints every instance next to the selector that launches it, then
exits without opening a window:
$ basalt-launcher --list
d241539f Fabulously Optimized 1.21.11
36e80ff1 Just Create SMPTo skip the lookup entirely, open an instance's menu and choose Copy launch argument. Paste it into a desktop shortcut, a Steam launch option, or anything else that runs a command.
To run it locally, install Rust, Bun, and the native dependencies required by Tauri. Then, from the repository root:
bun install
bun run tauri devModrinth works without additional configuration. Release builds ship with a CurseForge key, so CurseForge search and modpack installs work out of the box.
Building from source is the case that needs your own key, because the key is
compiled in from BASALT_CURSEFORGE_API_KEY at build time. Set that variable
before building, or paste a key under Settings → Integrations, which takes
precedence over the compiled one.
Getting a key takes longer than the console suggests. Sign in at
console.curseforge.com and open the
API KEYS tab, but the key shown there answers 403 until CurseForge approves
an application request for it, which is a manual review on their side.
Never commit an API key or include one in a bug report.
Read CONTRIBUTING.md before opening a pull request. It covers the project architecture, code expectations, validation commands, and review process.
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.
Basalt downloads game files from Mojang's own servers and never redistributes them. Minecraft is a trademark of Mojang AB.
Use GitHub Issues to report a reproducible bug or propose a feature. Include the launcher logs, operating system, Minecraft version, and loader when relevant.







