Skip to content
Basalt logo

Basalt

A polished Minecraft launcher that puts form and function on equal footing.

Status Platform Tauri

Basalt play screen showing a Minecraft world banner

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.

Screenshots

Basalt instance library
Instance library — keep every setup separate and easy to find.
Discovering Minecraft mods in Basalt
Content discovery — search, filter, and install compatible content.
Importing instances from other launchers
Launcher imports — bring instances over without modifying the originals.
Managing installed mods in an instance
Per-instance content — manage files, updates, and enabled state in one place.
Managing Minecraft worlds in an instance
World management — view and manage worlds alongside their instance.
Managing Minecraft accounts, skins, and capes
Accounts and appearance — manage profiles, skins, and capes together.

Features

  • 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.

Project status

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.

Install

GitHub Releases provide installers for every supported desktop platform:

  • Windows: .exe and .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-launcher

To build the latest development source with development-only features enabled:

nix run github:MegalithOfficial/basalt-launcher#dev

Launching an instance directly

Use -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 SMP

To 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.

Running from source

To run it locally, install Rust, Bun, and the native dependencies required by Tauri. Then, from the repository root:

bun install
bun run tauri dev

CurseForge

Modrinth 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.

Contributing

Read CONTRIBUTING.md before opening a pull request. It covers the project architecture, code expectations, validation commands, and review process.

Disclaimer

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.

Support

Use GitHub Issues to report a reproducible bug or propose a feature. Include the launcher logs, operating system, Minecraft version, and loader when relevant.

About

A open source Minecraft launcher written in rust. Modrinth and CurseForge, mod loaders, and imports from other launchers.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

83 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages