Use this command to install Onyx Launcher with WinGet:
winget install --id=Lonestill.OnyxLauncher -e
Onyx Launcher is a modern Minecraft launcher for Windows and Linux. It manages isolated game instances, Vanilla and popular mod loaders, Modrinth modpacks and mods, automatic Eclipse Temurin runtimes, crash diagnostics, world snapshots, backups, and per-instance performance settings.
README
Onyx Launcher
A modern, English-only Minecraft launcher for Windows and Linux, built with Electron, React, and TypeScript. Onyx keeps game instances isolated, installs official Minecraft files and popular mod loaders, integrates with Modrinth, and launches every instance with its own Java and performance settings.
SHA256SUMS-windows.txt and SHA256SUMS-linux.txt are attached to every automated release.
Windows builds are unsigned unless a maintainer configures a code-signing certificate, so SmartScreen may display a warning.
Development
Requirements:
Node.js 22 or newer.
Windows 10/11 x64 or a modern x64 Linux distribution.
npm ci
npm run dev
Run the complete local verification suite:
npm run check
Individual commands are also available:
npm run typecheck
npm run lint
npm test
npm run build:renderer
Regenerate every README screenshot from a deterministic local fixture:
npm run capture:screenshots
Automated releases
The repository uses two GitHub Actions workflows:
CI validates pull requests and pushes to non-release branches.
Automatic release runs after every push to main or master.
A successful release workflow:
installs locked dependencies with npm ci and runs npm run check;
increments the patch version in package.json and package-lock.json;
commits the version as chore(release): vX.Y.Z and creates the matching Git tag;
builds Windows and Linux x64 packages on native runners;
generates SHA-256 checksum files and publishes a GitHub Release with generated notes.
For the first GitHub push, set Settings → Actions → General → Workflow permissions to Read and write permissions. If the release branch is protected, allow github-actions[bot] to push the release commit and tag. The workflow-created commit does not start another release, preventing a version-bump loop.
Local packaging
# Windows NSIS installer and portable executable
npm run dist:windows
# Linux AppImage
npm run dist:linux
# Linux portable tar.gz
npm run dist:linux:archive
Build output is written to release/ and is intentionally excluded from Git.
shared assets and libraries: %APPDATA%\.onyx\shared;
Java runtimes: %APPDATA%\.onyx\runtimes;
modpack cache: %APPDATA%\.onyx\packs;
update backups: %APPDATA%\.onyx\backups.
On Linux, launcher state follows XDG under ~/.config/onyx-launcher, while game data is stored in ~/.local/share/onyx. A legacy ~/.config/.onyx data directory is detected automatically.
Architecture and security
src/ is an isolated React renderer without Node.js access.
electron/preload.cjs exposes a narrow IPC bridge.
electron/main.cjs owns windows, state, filesystem access, and system operations.
The renderer uses contextIsolation, Electron sandboxing, and disabled nodeIntegration. Navigation, webviews, and browser permissions are restricted. Network and filesystem operations stay in the main process.
Diagnostic exports redact tokens, personal paths, email addresses, and server IPs. Please review SECURITY.md before reporting a vulnerability.
Microsoft OAuth
Onyx currently defaults to the public Prism Launcher Microsoft OAuth client ID and its consumer device-code flow. A custom client ID can be supplied for development:
$env:ONYX_MICROSOFT_CLIENT_ID="your-client-id"
npm run dev
Refresh tokens are tied to the client ID. Accounts must be added again after changing it.
Contributing
See CONTRIBUTING.md for the development and pull-request workflow.
Legal
Onyx does not distribute Minecraft or bypass its license. Game files are downloaded directly from Mojang, and third-party content is downloaded from URLs provided by Modrinth APIs and manifests. A licensed Microsoft account is required for the full Minecraft: Java Edition experience.
Onyx Launcher is an independent project and is not affiliated with Microsoft, Mojang Studios, or Modrinth. Minecraft is a trademark of Microsoft.