Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Nuclear

Plugin-driven desktop music player that streams from the sources you install, without ads or tracking

Visit website Save

Nuclear is a free AGPL-3.0 music player for Windows, macOS and Linux. Plugins supply search, streams, lyrics and dashboards, and a local MCP server, HTTP API and MPD server let agents and scripts control it.

Pricing
Open source
Deployment
Windows / macOS / Linux app
Platforms
Windows, macOS, Linux
18,888stars1,359forks
1views
Updated

What is Nuclear?

Nuclear is a free, open-source desktop music player for Windows, macOS and Linux, started by the developer nukeop in 2016 and maintained in the public nukeop/nuclear repository. It has no built-in music catalog and no account system. A fresh installation contains no content providers: you install plugins from a built-in store, and those plugins decide where search results, metadata, audio streams, lyrics and dashboard content come from. The player itself owns the interface, playback engine, queue, playlists, favorites, listening history, settings and themes.

The current codebase is a pnpm and Turborepo monorepo. The desktop application is built with Tauri, which pairs a Rust shell with a React 18 and TypeScript interface, styled with Tailwind v4 and routed with TanStack Router. Shared packages cover the UI kit, the theming system, the data model, an HTML5 audio engine called hifi, internationalization and the @nuclearplayer/plugin-sdk used by plugin authors. The How Nuclear works page explains the split between the player and its providers.

Releases are published on GitHub Releases as a per-user Windows setup EXE and an MSI, macOS DMGs for Apple Silicon and Intel, and Linux AppImage, DEB, RPM, Flatpak and Snap packages. The installation guide also lists winget, a Homebrew tap, Flathub and two AUR packages. The latest release is 1.54.2, published November 6, 2026, which fixes queue panel virtualization for large queues. Version 1.54.1 fixed YouTube searches that returned nothing, tracks longer than about 90 minutes that failed with an unsupported format error, and slow favorites views on large libraries. Version 1.54.0 added a View API that lets plugins, the HTTP API and MCP clients register custom sidebar views.

Earlier releases in the same cycle added playlist folders and direct play buttons on cards (1.53.0), signature verification of yt-dlp before installation (1.53.0), verification of plugins installed from the store and manual playlist reordering (1.52.0), lyrics in the Nuclear Jam phone remote (1.51.0) and plain, line-synced and word-synced lyrics with furigana, translations and romanization (1.50.0). Releases arrive frequently, often several per week, so pin a version if you need a stable baseline for a managed desktop.

Nuclear is licensed under AGPL-3.0. It does not host music, and what you can play depends entirely on the plugins you enable and the services they reach. The macOS builds are not signed with an Apple Developer certificate, so Gatekeeper blocks the first launch unless you use the Homebrew cask or clear the quarantine attribute. Library browsing and stored playlists are not part of the MPD server, and the project offers no paid tier, hosted service or support contract. The official site is nuclearplayer.com.

Inside the application

Nuclear screenshots

Explore the interface. Open a screenshot to view it at full size.

Nuclear dashboard with top playlists, top artists, queue panel and player bar
Nuclear screenshot 1

Official documentation screenshot of the Nuclear dashboard, populated by a dashboard plugin with sample content, with the queue and stream verification bar on the right.

Nuclear album page with cover art, genre, year, track count and tracklist
Album page

Album page with genre, year and track count badges, play and add-to-queue buttons and the tracklist, from the official documentation.

Nuclear stream candidates popover listing live, official, cover and slowed versions of a queued track
Stream candidates

Stream candidates for a queued track, with bitrate and format, used to switch to the right version before verifying it.

Nuclear plugin store with category filters and plugin cards with install buttons
Plugin store

The Plugins store in Settings, filtered by category, as shown in the official documentation with sample plugin entries.

Nuclear Lyrics view with word-synced lyrics, highlighted current line and auto-scroll controls
Synced lyrics

Lyrics view with word-synced highlighting, source picker, font size, auto-scroll and offset controls.

Nuclear Jam remote on a phone showing now playing, playback controls and the Up Next queue
Nuclear Jam remote

Nuclear Jam browser remote on a phone, connected over the local network, with search, controls and queue.

Source: official Nuclear project page.

Key capabilities

  • Download Nuclear for Windows Two x64 installers are published per release: Nuclear_x.y.z_x64-setup.exe installs per user without administrator rights, and Nuclear_x.y.z_x64_en-US.msi is intended for system-wide or managed deployment, for example through Group Policy. Nuclear can also be installed with winget install nukeop.nuclear. Both installers ship with a signature file used by the built-in updater.
  • Download Nuclear for macOS Separate DMGs exist for Apple Silicon (aarch64) and Intel (x64) Macs; drag the app to Applications. The app is not signed with an Apple Developer certificate, so the first launch needs a right-click Open or removing the quarantine attribute with xattr. The Homebrew cask nuclearplayer/tap/nuclear removes that attribute automatically.
  • Download Nuclear for Linux Each release includes an amd64 AppImage, a DEB for Debian and Ubuntu derivatives, an x86_64 RPM for Fedora and openSUSE, a Flatpak and a Snap. The docs recommend Flathub where available, while noting that the Flatpak sandbox can block some features. Arch users can choose nuclear-player-bin or nuclear-player-git from the AUR. Published Linux builds target x86_64 only.
  • Plugin store and provider model The Store tab lists plugins from the official plugin registry; installing one downloads the latest release from that plugin's own GitHub repository. Plugins register metadata, streaming, dashboard, discovery, playlists and lyrics providers. Since 1.52.0, store installs are verified before installation, and store plugins update automatically on startup unless you turn that off.
  • Sources view and provider pairing When several plugins offer metadata, streaming or discovery, the Sources view lets you pick the active one from a dropdown. Dashboard, playlists and lyrics providers are all active at once. Some metadata providers are paired with a specific streaming provider; selecting one locks the streaming choice, and a warning appears if the paired plugin is missing.
  • Search, artist and album pages The active metadata provider powers search with Albums, Artists and Tracks tabs, plus artist pages with biographies, top tracks, discographies and related artists, and album pages with tracklists. Sections only appear when the provider declares the matching capability, so an artist page without a biography usually means the provider does not supply one.
  • Queue with stream candidates The queue persists across restarts and supports shuffle, repeat, drag-and-drop reordering and saving the queue as a playlist. Right-clicking a queued track shows the stream candidates the streaming provider found, with bitrate and format, so you can switch from a live version or cover to the intended recording. Queue rendering was reworked in 1.54.2 for large queues.
  • Stream verification Clicking Verify stores the chosen stream locally so Nuclear always plays it for that track. With Online verification on, Nuclear also votes on a shared verification service and prefers streams with the most votes; it sends artist, title, streaming source and a random ID, and the service sees your IP address. Both switches are under Settings, Playback, and turning off Online verification keeps everything on your computer.
  • Favorites, playlists and folders Tracks, albums and artists can be saved to favorites. Playlists can be created, reordered manually, imported and exported as JSON, or imported by URL through playlist plugins. Since 1.53.0 playlists can be grouped into one level of folders by drag and drop or through a menu; folders cannot contain other folders.
  • Listening history and stats History is recorded in a local database and shown by day, with pagination at 10, 25 or 50 entries. The Stats tab shows top artists, albums and tracks, listening time by hour and weekday, and a 12-month activity calendar. Multi-artist tracks credit each artist with the full duration. Recording can be switched off without deleting existing entries.
  • Lyrics Installing at least one lyrics plugin enables the Lyrics view. Nuclear queries every lyrics plugin and prefers word-synced, then line-synced, then plain lyrics, with a source picker for the alternatives. Synced lines are highlighted and clickable, and furigana, translations and romanization are supported when the provider returns them.
  • Discovery With a discovery plugin installed and the boombox button switched on, Nuclear sends the last 10 queued tracks to the discovery provider when you reach the end of the queue and appends its recommendations. Without such a plugin the button does not appear.
  • Themes and the theme store Built-in themes cover light and dark modes. Advanced themes are JSON files that control colors, accents, fonts, corner radii, borders and shadows, with live preview while you edit. Community themes can be installed from the in-app theme store.
  • Nuclear Jam remote control Enabling Nuclear Jam starts a small web server on your LAN address, on a port between 4120 and 4129, and shows a QR code. Any browser on the same network gets now playing, controls, the queue, search and lyrics, and several devices stay in sync. Connections from outside the local network are refused, but every device on the same Wi-Fi can control playback and settings, so the docs advise against public networks.
  • Local HTTP API with server-sent events When Jam is on, the same server exposes a REST-style API documented in the HTTP API reference: playback, volume, queue, favorites, playlists, search, settings, lyrics and navigation, plus an /api/events SSE stream for queue and playback changes. The /api/views endpoints run code inside Nuclear, so they only accept requests from the local machine.
  • Built-in MCP server Settings, Integrations has an Enable MCP Server toggle that starts a Streamable HTTP endpoint on http://127.0.0.1:8800/mcp, falling back to ports 8801 to 8809. It exposes four tools (list_methods, method_details, describe_type, call) across domains such as Queue, Playback, Playlists, Lyrics and Views. The docs give setup lines for Claude Code, Codex CLI, OpenCode, Claude Desktop, Cursor and Windsurf, plus a downloadable agent skill.
  • MPD-compatible server An optional MPD server listens on 127.0.0.1:6600 (or up to 6609) so clients such as mpc, ncmpcpp and mpDris2 can control playback and the queue and receive notifications. Only the subset of the protocol needed for playback control is implemented; library browsing and stored playlists are not supported yet.
  • Plugin SDK and custom views Plugins are written in TypeScript against @nuclearplayer/plugin-sdk, with APIs for queue, playback, favorites, playlists, settings, events, HTTP, logging, navigation, views and yt-dlp. Local folders can be loaded as dev plugins with a reload button. Publishing to the store means a GitHub release with a plugin.zip asset and a pull request to the registry, as described in the plugin getting-started guide.
  • Updates, shortcuts and diagnostics Nuclear checks for application updates on startup and can install them automatically; the toggle is under General, Updates. Keyboard shortcuts are configurable, the interface is localized in several languages, and Settings includes a log viewer and a What's New page for the installed version.
Advertisements

Where Nuclear fits

Setting up a first working source

After installation the Dashboard asks you to install plugins, because nothing plays without them. Open Settings, Plugins, Store and install at least one metadata provider and one streaming provider, or a plugin that supplies both, then confirm the active choices in the Sources view. Check each plugin's repository and description before installing: a plugin decides which external service is queried and what that service learns about your listening. The getting-started guide walks through this path.

Correcting wrong streams

Streaming providers match on artist and title, so the first result can be a live recording, cover or remix. Right-click the queued track, pick the correct candidate and click Verify. Decide deliberately whether Online verification should stay on: it improves defaults through shared votes, but it contacts the verification service for each unverified track. The stream verification page documents the lookup order and the data sent.

Controlling playback from a phone

Turn on Nuclear Jam in Settings, Integrations and scan the QR code from the top bar with a phone on the same network. Test search, queue removal and lyrics from the phone, and check that your firewall allows the 4120 to 4129 port range. Keep Jam off on shared or public networks, because any device that can reach the port can change playback and settings.

Letting an AI agent drive the player

Enable the MCP server, copy the URL shown in Settings and register it in your agent, for example with claude mcp add nuclear --transport http http://127.0.0.1:8800/mcp. The agent discovers methods through list_methods and method_details before calling them. Views registered by MCP clients live under the plugin ID bridge and disappear on restart. Review what the agent may change, since the API covers the queue, playlists and settings. The MCP server docs list the domains and tools.

Scripting and terminal control

Use the HTTP API for scripts, status bars or alternative remotes, and subscribe to /api/events for state changes instead of polling. Linux users who already rely on MPD clients can enable the MPD server and point mpc or ncmpcpp at the bound port. Test the commands you depend on, because the MPD server implements only playback, queue and notification commands.

Deploying on several desktops

Use the MSI for managed Windows machines and the per-user EXE elsewhere; on Linux choose Flatpak for automatic updates, or DEB, RPM or AppImage if the sandbox blocks a feature you need. Application data lives under com.nuclearplayer in the platform app-data folder, which is the path to back up for playlists, history and plugins. Decide whether automatic app and plugin updates fit your change policy before rollout.

Install

flatpak install flathub com.nuclearplayer.Nuclear

Reviews of Nuclear

No reviews yet

Be the first to share your experience with Nuclear.

Loading review form…

Alternatives to Nuclear

Compare Nuclear with these tools →