MusicBot logo MusicBot

This is a table of common issues and solutions for the bot. Please check here before leaving an issue on GitHub or asking for help in our support server.


MusicBot was not installed using Git.

This can happen if you did not use git clone ... to download MusicBot.
The fix in this case is simply follow one of the guides or use the install scripts to get set up.

This may also happen if you mess up file permissions in some way.
The fix for this depends on the system you use, but typically you want to examine ownership and read/write access permissions and make sure they don’t deny access from the user who launches MusicBot.


Failed environment check, …

These checks may fail if you have moved files around, broken file permissions, or have tried to start the bot outside of its cloned directory.
It is recommended to use the bundled run.bat or run.sh as these will automatically change directory.
Double check your file permissions are correct and if all else fails, re-install using a guide on this site.


Lagging while playing music

This can happen for a number of reasons, usually involving network quality and/or CPU load.
Newer versions of MusicBot make use of newer methods in discord.py which should help reduce CPU load.
If your version is new enough, you can use the options UseOpusProbe or UseOpusAudio to adjust how audio is processed and reduce CPU load.


Bot can’t login, bad credentials

Check you copied the correct token from your bot application page into your config file. It is called Token, not Client Secret.


WebSocket connection is closed

The bot tries to handle websocket disconnects, but sometimes there can be a problem, for example if Discord’s voice servers go down. Try restarting the bot or switching server region if this error is persistent.


./run.sh: command not found

While Git should preserve file permissions, you may need to set run.sh to be executable by running chmod a+x run.sh.


Your config file is missing some options.

This typically shows up after you update the bot.
The warning just indicates your current options file is missing newly available options. Default settings are used for all missing options.

Updates will usually include changes in example_options.ini file, so you can copy the new options from that file. Alternatively, in newer versions, you can use the config command to manage missing options.


NameError: name ‘everything’ is not defined

Caused by using Python 3.13 with older versions of MusicBot. To fix this you can either downgrade Python, or upgrade MusicBot. At time of writing this issue is resolved in the dev branch.
Please note Python 3.13 “free-threaded” is not currently supported.


Download failed due to …

As MusicBot depends almost entirely on yt-dlp, these errors can cover a broad range of causes.
To deal with these, you’ll want to make sure you have yt-dlp up-to-date, first and foremost.

If the service you are using requires authorization of some sort, be sure to set that up or update it following the guides/docs provided by yt-dlp.
In some cases, modifications to MusicBot may be required to enable new or existing options in yt-dlp. Feel free to bring those to our attention or contribute your changes to add the option for everyone.