Discord crashes or Unbound won’t load
On iOS, open the toolbox and work through the fixes in it. On Android, match the error dialog against the Android error messages. Unbound itself is a single JavaScript file called the bundle. The loader downloads it and runs it inside Discord. Most of these fixes replace or reset that file.Open the toolbox on iOS
Use either gesture. Both are on by default, and both give a short haptic tap when they fire.- Shake the device continuously for 0.5 to 2 seconds, then stop. A shake shorter than half a second does nothing. A shake longer than two seconds is ignored, so ordinary jostling in a pocket or a car doesn’t open the menu.
- Hold three fingers anywhere on screen for 0.5 seconds. The toolbox opens as soon as the half second is up. You don’t need to lift your fingers.
Fix it from the toolbox
Work through these in order and stop once the app works again.1
Refetch the Bundle
In the Bundle section, tap Refetch Bundle. It checks the current source, downloads the bundle only if it changed, and restarts the app. Try this first when Unbound loads but misbehaves.
2
Turn On Recovery Mode
In the Utilities section, tap Enable Recovery Mode. The app restarts. This only helps if the bundle itself runs, as the warning below explains.While recovery mode is on, the label reads Disable Recovery Mode. Tap it again to turn recovery mode off.
3
Go Back to the Official Bundle
If you loaded a custom bundle, tap Delete Bundle in the Bundle section. It deletes the downloaded bundle and clears your custom bundle source, which puts you back on the official bundle.
4
Remove Your Addons
If an addon is still breaking the app, wipe it with the actions in An addon keeps breaking the app.
Bundle actions
The toolbox’s Bundle section has these actions.Checks the currently configured source, downloads the bundle only if it changed, and restarts. It won’t replace a damaged copy if the source hasn’t changed; use Delete Bundle for that.
Destructive. Deletes the downloaded bundle and clears your custom
loader.update.url and loader.update.force settings, which puts you back on the official bundle. Use this to undo a bad custom bundle.Lists the branches of Unbound’s builds repository. After you pick a branch, it lists that branch’s last 10 commits by short commit hash and date. Pick a commit to pin that exact build.
Asks for a URL, downloads the bundle from it, and pins you to that source. Mainly used to test your own builds. Use Delete Bundle to go back to the official bundle.
Toolbox settings
The toolbox’s own Settings section has these switches.Turns the shake gesture on or off.
Turns the three finger press gesture on or off.
Replaces the app icon with Unbound’s. Only shown when the app was not installed from the App Store or TestFlight, because alternate icons aren’t available there.
You can turn off either gesture, but not both. Turning one off automatically turns the other back on, so you can’t lock yourself out of the toolbox.
Android shows an Unbound error dialog
Find the message in the table below. When a message asks you to report it, tap Discord Server or follow Report a bug. The Android loader doesn’t have a toolbox yet. When something goes wrong while loading the bundle, it shows a dialog titled Unbound with an Okay button and a Discord Server button that opens Unbound’s Discord invite.An addon keeps breaking the app
On iOS, the toolbox’s Addons section deletes every addon of one type at once. To remove only one addon, see Remove a single addon on iOS.Destructive. Deletes every installed plugin.
Destructive. Deletes every installed theme.
Destructive. Deletes every installed font pack.
Destructive. Deletes every installed icon pack.
Destructive. Deletes the entire
Unbound folder: every addon, your settings.json, and the bundle. Use it only as a last resort, since nothing is kept.Remove a single addon on iOS
1
Open the Unbound Folder
In the toolbox’s Utilities section, tap Open App Folder.On a jailbroken device with Filza installed, the folder opens in Filza. Otherwise it opens in the Files app, under
On My iPhone -> <App Name> -> Unbound.2
Delete the Addon
Plugins are in
Plugins, themes in Themes, and icon packs in Icons, each in a folder named after the addon’s id. Delete that folder.Fonts are stored directly in Fonts, so delete the font file itself.3
Restart the App
Unbound only looks for addons when the app starts, so the change takes effect after a restart.
On Android, addons are stored in Discord’s private data folder. You need root access to browse it.
Report a bug
Include logs from the moment the problem happened. Neither loader writes a log file, so you need a computer to read the logs.- iOS
- Android
You need a Mac. The iOS loader sends its logs to Apple’s unified logging system under the subsystem
app.unbound, and you read them with Console.app.1
Connect the Device to a Mac
Connect your device to the Mac.
2
Start Streaming in Console.app
Open Console.app, select your device in the sidebar, and press Start streaming.
3
Filter for Unbound
Filter on the subsystem
app.unbound.Each message also has a category that shows which part of the loader logged it: plugins, themes, settings, filesystem, updater, utilities, toolbox, fonts, chatui, pluginapi, or default.4
Reproduce the Problem
Trigger the problem while the stream is running, then copy out the relevant messages.
5
Open a New Issue
In the toolbox’s Utilities section, tap Open GitHub Issue. It opens a new issue on the loader repository in an in-app browser, already filled in with:
- Device model
- iOS version
- App version and build
- App source
- Whether the app is registered as a system or user app
- The app’s entitlements
6
Fill In the Issue
Add a title, paste the logs, and describe what happened.