Skip to main content
Unlike music, which plays in a voice channel, this controls your Spotify — on your phone, desktop or any other device you’re signed in on. Requires Spotify Premium, because Spotify’s API doesn’t allow playback control on free accounts.
Setup takes about two minutes and involves making a free Spotify developer app. It’s a four-box form, not a coding exercise — the walkthrough below covers every click.

Connecting

Aliases: auth, login, link. Spotify doesn’t let our application control other people’s playback on their behalf, so each person makes their own free developer app and hands mira its two keys. It sounds far worse than it is — it’s a form with four boxes and it takes about two minutes. Follow the steps below and you’ll be done before you’ve finished reading this paragraph twice.
You only ever do this once. After it’s connected, every Spotify command just works, in every server.

Making your app

Open the dashboard

Go to the Spotify Developer Dashboard and log in with your normal Spotify account. There’s nothing to sign up for and nothing to pay.The first time you visit, Spotify asks you to accept its Developer Terms of Service. Accept it and you’ll land on an empty dashboard.
The empty Spotify developer dashboard

Click Create app

The button is on the right-hand side of the dashboard.
The Create app button on the dashboard

Fill in the form

Four things matter, and only one of them has a correct answer:For the redirect URI, copy the exact URL that mira showed you in the !spotify connect message. It’s in a code block near the bottom, ending in /spotify.
Paste it, then click the Add button next to the box. Typing the URL without clicking Add means it isn’t actually saved, and the connection will fail later with a redirect_uri error. This is by far the most common mistake.
The create app form with the redirect URI added

Tick “Web API”

Under Which API/SDKs are you planning to use?, tick Web API. Leave the others alone.
The Web API checkbox selected

Agree and save

Tick the Developer Terms of Service box and click Save. Your app is created.

Copy your two keys

You’re now on the app’s page. Click Settings in the top right.
  • Client ID is shown directly on that page
  • Client secret is hidden behind a View client secret link — click it to reveal
The app settings page showing the Client ID and the View client secret link

Give them to mira

Back in Discord, click Connect Application on the message mira sent you, and paste the two values into the form.
The Connect Application modal in Discord asking for Client ID and Client Secret
Then approve the Spotify authorisation page it sends you to. That’s it.
Treat the client secret like a password — anyone who has both keys can act on your Spotify account. Never paste them into a public channel. mira only ever asks for them inside a private form, and the !spotify connect message is sent to your DMs for exactly this reason.If you think they’ve leaked, hit Rotate on the app’s settings page and reconnect.

If something goes wrong

The single most common failure, and it’s almost always one of two things:
  1. You typed the redirect URI but never clicked Add, so it was never saved
  2. It doesn’t match what mira expects, exactly — no trailing slash, no http where it should be https
Re-open your app’s settings, delete what’s there, paste the URL from mira’s message again, click Add, then Save.
That’s expected and completely fine. Development Mode apps work normally for the person who owns them — you don’t need to request an extension or fill in any review form.Two things to know about it, both changed by Spotify in February 2026:
  • The app owner needs an active Spotify Premium subscription. You already need Premium for playback control, so this changes nothing in practice — but if your Premium lapses, the app stops working until you resubscribe.
  • New apps are limited to 5 users each. Since you made this app for yourself, that’s irrelevant.
Spotify briefly limited new accounts to a single Client ID in early 2026, then raised it to 25 in July 2026. If you hit a limit, reuse an app you already have — nothing stops you pointing an existing app at mira’s redirect URI, as long as you add it rather than replacing what’s there.
You approved the authorisation page but unticked something, or you’re reconnecting an app that was previously authorised with fewer permissions.Run !spotify disconnect, then !spotify connect again and accept everything on the Spotify page.

Disconnecting

Aliases: unlink, logout, dc. Removes your keys from mira. You can also revoke access at any time from your Spotify account’s apps page, and delete the developer app entirely from the dashboard.

The now-playing panel

Aliases: np, nowplaying, current. An interactive panel with playback controls — the most useful command in the group, because everything else is one button away.
Toggles whether those controls appear on other Spotify responses too.

Playback

Queue and library

spotify addto (aliases save, addplaylist) opens a dropdown of your playlists — no track argument needed if you want the current one.

Devices

Aliases: devices, dev, transfer. Lists your active Spotify devices and lets you move playback between them. Useful when playback commands appear to do nothing — usually it’s targeting a device you’re not listening on.

Searching

Aliases: al, ar, pl, mpl.

Lyrics

Lyrics for whatever’s currently playing. Aliases: lyric, lyr. Standalone lyric search is !lyrics <query>, which uses Genius.

Common problems

Spotify needs an active device. Play something in the Spotify app first, then use !spotify device to confirm mira is targeting the right one.
Playback control requires Premium. Free accounts can still use the search, now-playing and lyrics commands.
Run !spotify connect again — you already have the app, so it’s just a matter of pasting the same two keys back in.If it’s been failing since February 2026, check your Premium is still active: Spotify now requires the owner of a Development Mode app to be a Premium subscriber, and the app stops working the moment that lapses.
Redirect URI errors, Development Mode questions and missing scopes are all covered under If something goes wrong.
  • Last.fm — scrobbles, charts, and who-knows leaderboards
  • Music — a shared queue in a voice channel
  • !play presence — queue what you’re listening to into the voice channel

Command reference