Skip to content
This repository was archived by the owner on Oct 28, 2026. It is now read-only.
Cat-thingsPublic archive

About

A desktop version of the Suno app.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Suno Desktop icon

Suno Desktop

Suno, minus the browser tab.

An unofficial app for Windows and Linux that makes suno.com feel like it was built for your desktop.
Its own window, real media keys, a tray icon, and music that keeps playing when you close it.

Latest release Downloads CI Windows 10 and 11 Linux License: MIT

Download for Windows (x64 and ARM64) Download for Linux (x64 and ARM64) Watch the trailer on YouTube

Unofficial and open source · not affiliated with, sponsored by or endorsed by Suno, Inc.


The Suno Desktop settings window: Windows 11 style sidebar, cards and toggle switches

🎬 Watch the trailer

✨ Why?

Suno in a browser tab gets lost between 40 other tabs, stops when you close the wrong window, and your media keys end up pausing a YouTube video instead. Suno Desktop gives Suno its own home on your PC: a real window and taskbar entry, your system's media controls, a tray icon, and background playback. It's still the regular suno.com, so your account, songs and plan work exactly as they do in your browser.

🎛️ Features

🪟 Feels native

Custom title bar with back, forward, reload and home. On Windows 11: snap layouts on the maximize button and Mica on 22H2+. A Light, Dark or Auto theme you pick on first launch.

🎧 Media keys that just work

Keyboard media keys and the Windows media overlay control Suno's player, with previous / play-pause / next on the taskbar thumbnail too. On Linux, your desktop's media controls (MPRIS) do the same.

🎶 Keeps the music going

Close the window and Suno keeps playing in the tray. Play, pause and skip from the tray menu; quit from there when you're done.

🎮 Discord Rich Presence

Show what you're listening to with cover art, a progress bar and a Listen on Suno button. Off until you turn it on in Settings.

🔐 Signed in and locked down

Your login survives restarts. Suno runs sandboxed, gets only the permissions it needs (it asks before using your mic), and links to other sites open in your normal browser.

⬇️ Downloads that behave

Native save dialog or straight into a folder you pick, progress on the taskbar icon, and a Show in folder notification when it's done.

🔄 Updates itself

New versions download in the background and install when you quit (Linux packages install when you click Restart to update). Stable and beta channels.

📴 No white screen of nothing

Lost your connection? You get a proper offline page that retries on its own when you're back online.

🔗 Deep links

suno-desktop://open?path=/song/… opens a song straight in the app.

🧩 Plugins & themes, by the community

Turn on Suno++ in Settings → Plugins for community-made plugins and themes. They update themselves, and each one stays off until you turn it on.

📸 A closer look

The Suno Desktop title bar: app icon, back, forward, reload, home, page title, settings and Windows caption buttons

A title bar that belongs on Windows 11: navigation, settings, and real caption buttons with snap layouts

The main window showing the offline page with a Try again button

Offline? A real page with retry, not a blank window

The About page in settings

Settings → About

Settings, Plugins tab: Suno++ turned on and up to date, with the now-playing plugin and its settings

Suno++ plugins, kept up to date for you

Settings, Themes tab: the Neon accents theme picked, with color pickers

Community themes for suno.com, with your own colors

🚀 Install

🪟 Windows

  1. Download Suno-Desktop-Setup-<version>.exe from the latest release. One installer covers both x64 and ARM64 PCs.
  2. Run it and pick where to install.
  3. A quick welcome lets you pick Light, Dark or Auto. Then sign in to Suno like you normally would. That's it: you stay signed in, and the app keeps itself up to date.

Warning

Builds aren't code-signed yet, so Windows SmartScreen will say "Windows protected your PC". Click More info → Run anyway. Signing is on the roadmap.

Tip

Rather not install anything? Grab Suno-Desktop-Portable-<version>-x64.exe (or -arm64.exe for ARM PCs) and just run it. Portable builds don't auto-update.

🐧 Linux

Grab the file for your distro from the latest release. Every format comes for x64 and ARM64.

Distro File Install
Ubuntu, Debian, Linux Mint, Pop!_OS Suno-Desktop-<version>-amd64.deb (ARM: -arm64.deb) sudo apt install ./Suno-Desktop-*-amd64.deb
Fedora, openSUSE, RHEL Suno-Desktop-<version>-x86_64.rpm (ARM: -aarch64.rpm) sudo dnf install ./Suno-Desktop-*-x86_64.rpm
Arch Linux, Manjaro, EndeavourOS Suno-Desktop-<version>-x64.pacman (ARM: -aarch64.pacman) sudo pacman -U ./Suno-Desktop-*-x64.pacman
NixOS The flake in this repo See below
Anything else Suno-Desktop-<version>-x86_64.AppImage (ARM: -arm64) chmod +x Suno-Desktop-*.AppImage, then run it

The deb, rpm, pacman and AppImage builds update themselves. Packages ask for your password to install an update, so that only happens when you click Restart to update.

NixOS / Nix. Try it without installing:

nix run github:Cat-things/suno-desktop

Or add it to your system flake:

{
  inputs.suno-desktop.url = "github:Cat-things/suno-desktop";
  inputs.suno-desktop.inputs.nixpkgs.follows = "nixpkgs";

  outputs = { nixpkgs, suno-desktop, ... }: {
    nixosConfigurations.my-pc = nixpkgs.lib.nixosSystem {
      modules = [
        ({ pkgs, ... }: {
          environment.systemPackages = [
            suno-desktop.packages.${pkgs.stdenv.hostPlatform.system}.default
          ];
        })
      ];
    };
  };
}

There's also suno-desktop.overlays.default (adds pkgs.suno-desktop) and a default.nix for setups without flakes. The Nix package follows each release on its own; update it with nix flake update suno-desktop.

🔑 Signing in

Every login option on suno.com opens inside the app, in its own window when the provider wants a popup:

Provider In the app
Google ⚠️ Opens, but Google sometimes refuses sign-ins from desktop apps
Apple ✅
Discord ✅
Microsoft ✅
Facebook ✅
LINE ✅
Phone (SMS) ✅

If Google shows "This browser or app may not be secure", use another option. If your Suno account only has Google login, add another sign-in method to it on suno.com in your normal browser first.

⌨️ Keyboard shortcuts

Keys Does
Ctrl + R or F5 Reload
Ctrl + Shift + R Reload without cache
Alt + ← / → Back / forward (mouse side buttons work too)
Ctrl + + / - / 0 Zoom in / out / reset (or Ctrl + wheel)
Ctrl + , Settings
F11 Full screen
F12 or Ctrl + Shift + I Developer tools (turn on in Settings → Advanced)

❓ FAQ

Is this made by Suno?
No. Suno Desktop is an independent, open-source project. It isn't affiliated with, sponsored by or endorsed by Suno, Inc. It shows the regular suno.com website in a desktop window.
Can the app see my password?
Signing in happens on Suno's and your provider's own pages, loaded as they are. The app injects nothing into those pages and never reads or stores passwords. Your session cookies stay on your PC in %APPDATA%\Suno Desktop (Linux: ~/.config/Suno Desktop).
Does it unlock free credits or skip limits?
Nope. It's the same website, so plans, credits and limits work exactly like in your browser.
Why is the installer around 200 MB?
It carries complete x64 and ARM64 builds (each with its own Chromium) so that one installer and one update feed work on every PC. Only the build your PC needs gets installed. The portable exes are per-architecture and about half the size.
How do I sign out or start fresh?
Settings → Advanced has two buttons. Reset app settings puts every app setting back to default and shows the welcome screen again, but keeps you signed in to Suno. Clear session and log out signs you out and deletes Suno's cookies and cache. To wipe everything, uninstall the app and delete %APPDATA%\Suno Desktop (Linux: ~/.config/Suno Desktop).
Something's broken. Where are the logs?
%APPDATA%\Suno Desktop\logs\main.log on Windows, ~/.config/Suno Desktop/logs/main.log on Linux. Attach it to an issue along with your Windows version or Linux distro.
Can I make my own plugins or themes?
Yes! Plugins and themes live in Suno++, which anyone can contribute to (how). Once yours is merged, it reaches Suno Desktop by itself in the next Suno++ release, no app update needed, and it works in the Suno++ browser extension too. Not a coder? Share ideas in Discussions. How the app loads Suno++: docs/PLUGIN_HOOKS.md.
What about Mac?
Windows and Linux for now. It may run from source on a Mac, but it isn't built or tested there.

🐛 Known issues

  • Google sign-in can be blocked by Google (see Signing in).
  • SmartScreen warns on first launch until releases are signed.
  • Next / previous buttons light up only when suno.com offers next and previous track controls to the browser.
  • The "Listen on Suno" button in Discord shows for your friends, not for you. That's how Discord displays buttons.
  • Mica needs Windows 11 22H2 or newer. Older versions get a solid title bar.
  • No tray icon on GNOME? GNOME hides tray icons unless you add the AppIndicator extension. Without it, closing the window leaves the app running in the background; open Suno Desktop again to bring it back, or turn off Close to tray in Settings.
  • AppImages on Ubuntu 24.04 and newer run without Chromium's sandbox, because Ubuntu blocks the user namespaces it needs. The .deb installs the AppArmor profile that allows them, so prefer it there.

🧭 Roadmap

  • Native window, media keys, tray, downloads, offline page
  • Auto-updates with stable and beta channels
  • Automatic releases
  • Discord Rich Presence (opt-in)
  • First-launch welcome with Light, Dark and Auto themes
  • Code signing (no more SmartScreen warning)
  • A proper app icon
  • Suno++: community-made plugins and themes, built in and updating themselves
  • A Suno++ marketplace page and smarter style recommendations for the Create page
  • Linux: deb, rpm, pacman and AppImage builds, plus a Nix flake

🛠️ Build it yourself

Run from source

You need Node.js 22.12+ and pnpm 10 (corepack enable picks up the pinned version).

pnpm install
pnpm dev              # run with hot reload
pnpm test             # unit tests
pnpm build            # bundle main, preloads and UI into out/
pnpm test:e2e         # end-to-end tests against the built app (Linux: xvfb-run -a pnpm test:e2e)
pnpm lint && pnpm typecheck

Package for Windows (run on Windows):

pnpm dist:win         # NSIS installer (x64 + arm64) and portable exes in dist/
pnpm dist:dir         # unpacked app only, the quickest way to try a packaged build

Package for Linux (run on Linux; the rpm and pacman targets need rpmbuild and bsdtar, e.g. sudo apt install rpm libarchive-tools):

pnpm dist:linux       # AppImage, deb, rpm and pacman (x64 + arm64) in dist/
How builds and releases work
  • Test builds: every push to any branch runs Build Windows (the unsigned installer and both portable exes) and Build Linux (AppImage, deb, rpm, pacman), and attaches the files to the run as artifacts for 14 days. You can also start them by hand from the Actions tab.
  • Releases: Release publishes a GitHub release automatically after every 3 commits on main. It bumps the patch version (0.1.0 → 0.1.1 → …), builds Windows and Linux side by side, tags the commit it built, uploads everything plus the auto-update feeds (latest.yml, latest-linux.yml, latest-linux-arm64.yml), and writes release notes from the commit list. Then it points the Nix package at the new AppImages by committing nix/release.json to main (that commit doesn't count toward the next release).
  • Release now: Actions → Release → Run workflow, or push a vX.Y.Z tag. Prereleases like v0.2.0-beta.1 go to the beta channel.
  • New minor or major version: set it in package.json; the next release uses it.
Configuration
  • Discord Rich Presence uses the Discord application ID in config/app.config.json. Forks can point it at their own application from the Discord Developer Portal (its name is what shows after "Listening to"); upload an art asset named logo there for songs without a cover. For local testing you can set SUNO_DESKTOP_DISCORD_CLIENT_ID instead. It stays off until the user turns it on.
  • Icons are placeholders. Replace build/icon.svg and resources/tray.svg, then run pnpm icons.

📚 Docs

🤝 Community

  • 💬 Questions, ideas, plugin or theme wishes? Head to Discussions.
  • 🐛 Found a bug? Open an issue; the form asks for what we need.
  • 🔒 Security problem? Report it privately, see SECURITY.md. Please don't open a public issue.
  • 🛠️ Want to contribute? Pull requests are welcome. Before you push, run pnpm lint && pnpm typecheck && pnpm test; CI runs those plus end-to-end tests on Linux and Windows.

More on where to go in SUPPORT.md.

⚖️ License

MIT. "Suno" is a trademark of Suno, Inc. This project ships none of Suno's logos or assets.

About

A desktop version of the Suno app.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages