The same focused Minecraft Java launcher — clone it, build it, fork it. Zero telemetry, zero paywalls, zero black boxes. Just source code.
Philosophy
A launcher touches your Microsoft account, your files, and your game. You deserve to see exactly what it does.
Every network call, every file write, every auth step is visible in plain JavaScript. Nothing is compiled away or hidden behind closed builds.
MIT license — no attribution requirements beyond keeping the copyright. Build your own launcher on top, strip features, add features, redistribute.
Pull requests, issues, and forks are welcome. The more eyes on the code, the better the launcher gets for everyone.
What's included
The open-source build is functionally identical to the signed release. Two things differ — that's it.
Create, edit, and switch isolated profiles per version and loader. All data stays local.
MSAL-powered auth. No passwords ever touch Keyverse — sign in via microsoft.com/devicelogin.
Fetches the right JRE from Adoptium automatically. No manual path configuration.
Install any supported loader and version directly from the launcher UI.
Optional, toggleable per profile. Shows version and world. Off by default in OSS builds.
You build and optionally sign your own binary. No update channel — ship it yourself.
Three commands
Node.js 18+ is the only prerequisite. No global tools, no build servers, no accounts.
Fork on GitHub or clone directly. Dev data writes to ~/.keyverse-dev — never touches your real profiles.
npm install pulls Electron, MSAL, electron-builder, and discord-rpc. That's the full dependency tree.
npm run dev launches with hot-reload and DevTools on port 9229. npm run build packages for your OS.
npm run build:win · build:mac · build:linux — each produces a native installer or AppImage.
# clone $ git clone https://github.com/ahtilol/keyverse.git $ cd keyverse # install $ npm install # dev mode (hot-reload + devtools) $ npm run dev # production builds $ npm run build:win # → .exe installer $ npm run build:mac # → universal .dmg $ npm run build:linux # → .AppImage + .deb
Unsigned binaries: Windows SmartScreen will warn; macOS requires right-click → Open on first launch unless you sign with your own certificate.
Codebase
Plain Electron + Node.js. No custom bundler, no framework magic. If you know JavaScript, you can read the entire codebase in an afternoon.
The Electron main process. Handles all privileged operations — file system, child processes, credential storage (keytar), and IPC event registration. Never imports from renderer/.
Pure UI layer. No direct Node.js access — all communication goes through window.kv.* exposed by preload. If you want to restyle or redesign the UI, this is the only folder you need.
The security boundary. Exposes a typed window.kv API via contextBridge. nodeIntegration is disabled — no raw Node access from the renderer, ever.
MSAL device-code flow only. No passwords stored, no tokens logged. Credentials saved to the OS keychain via keytar. Removing this file disables Microsoft login entirely — everything else keeps working.
Get involved
Pick what fits your time. All of it helps.
Issues
Found something broken? Open an issue with your OS, launcher version, and steps to reproduce. Screenshots and logs welcome.
Open an issuePull Requests
Fork, branch off main, make focused commits, and open a PR. Bug fixes are merged fast. New features need an issue discussion first.
Discussions
Have a feature in mind? Start a GitHub Discussion. We try to respond to every thoughtful proposal, even if the answer is "not right now."
Start a discussionReady?
MIT licensed. Three commands to a working launcher. No account, no email, no waiting.