Reporting a Bug
What to check before you report a bug, how to collect logs and diagnostics, and what to include in the issue.
A good bug report helps the developers find the cause quickly. This page explains what to check first, how to collect logs, and what to write in the issue.
Report bugs here:
- Throne desktop: github.com/throneproj/Throne/issues
- Throne for Android: github.com/throneproj/ThroneForAndroid/issues
For questions about how to use Throne desktop, use the Q&A category of GitHub Discussions instead of an issue.
Before you report
- Update to the latest version with
Tools→Check For Update, or from the downloads page. Many bugs are already fixed. - Search the existing issues, open and closed, for your error message.
- Read the FAQ and Troubleshooting.
- Try a fresh configuration: exit Throne, rename the
configfolder, start Throne, and set up only what you need to show the problem. Write in the report whether the problem also happens there. To go back, exit Throne, delete the newconfigfolder and rename the old one back. - If you installed Throne from WinGet, Scoop, the AUR or Nix, test the official build too. The developers do not support these packages.
- If only one server fails, test it in another app. If it fails there too, contact your provider.
Collect logs
Desktop
Throne shows its log in the Logs tab at the bottom of the main window, and writes the same lines to logs/throne.log in the config folder (Settings → Open Config Folder).
To record a detailed log:
- Open
Settings→Basic Settings→Logging. - Set
Sing-box Log leveltodebug. ForVLESS (Xray)and other Xray profiles, also setXray Log leveltodebug. - Raise
Max log lines, for example to2000. Throne drops core log lines above this number per second, and theLogstab keeps only this many lines. - Click
OK, then restart Throne withProgram→Restart Program. - Reproduce the problem.
- Attach
logs/throne.logto the issue. You can also click in theLogstab, pressCtrl+A, thenCtrl+C, and paste the text. - When you are done, set the sing-box log level back to
infoand the Xray log level back towarning.
Good to know:
throne.logstarts again every time Throne starts, so copy it before you restart Throne. When it grows beyond 4 MB, the older parts are kept asthrone.log.1tothrone.log.3.- The first lines of
throne.logshow your Throne version, Qt version, operating system and CPU architecture. - After a crash, the next start keeps the log of the crashed session as
logs/crashed-<date>-<time>.logand writes "Throne did not shut down cleanly last time" to the log. The last five crash logs are kept. - Windows: when Throne crashes, it shows "Throne crashed" and saves a report in the
crashesfolder: a.txtfile and a.dmpfile namedThrone_<version>_<architecture>_<date>-<time>. Attach the.txtfile, and the.dmpfile if you can.
Android
- Open the drawer and tap
Logs. - Keep
Hide sensitive dataon. It is on by default and hides URLs, credentials, UUIDs, keys, public IP addresses and Wi-Fi names. Turn onHide destinationsto also hide the domains you visited. - Tap
Share logsorSave logs…and attach the file to the issue.
After a crash, the app offers a cleaned-up log. See Android Troubleshooting.
Diagnostics
For freezes, hangs and high CPU use, the developers may ask for a Diagnostics file. It records what the core does for 30 seconds.
- Bring Throne into the state with the problem, for example start the profile and wait until it hangs. Do not restart Throne.
- Open
Settings→Basic Settings→Diagnostics. - Tick the options the developer asked for:
Lock contention,Execution trace (larger file)orInclude Throne logs. - Click
Startand wait 30 seconds. - Click
Show in folderand attach thethrone-profile-<date>-<time>.zipfile. Throne saves these files in adiagnosticsfolder next to theconfigfolder, not inside it; see Data folder.
Start works only while the core is running. The recording contains no information about your configs, but it lists your Throne version, operating system and a few settings, such as whether TUN mode is on and the type of the running profile. Include Throne logs adds your logs, which contain visited domains and server addresses.
What to include
Use the issue template and fill in every field:
| Item | Where to find it |
|---|---|
| Throne version | Desktop: the window title, for example Throne 1.3.1, or the first lines of throne.log. Android: About. |
| Operating system and version | For example Windows 11 24H2, Ubuntu 24.04, macOS 15 or Android 14. |
| Installation type | ZIP, Windows installer, .deb, .rpm, Linux install script, or a package manager (WinGet, Scoop, AUR, Nix, RPM repository). |
| Mode | Tun Mode, System Proxy or both. For TUN mode, also the Stack from Tun Settings. |
| Profile type | The Type column of the profile list, for example VLESS (Xray). Not the link. |
| Steps to reproduce | Numbered steps that show the problem from the start. |
| Expected and actual result | What you expected, and what happened instead. Copy error messages as text. |
| Logs | A debug log, crash files or a Diagnostics file, as described above. |
For routing problems, choose the Routing Issue template. It asks for your routing profile: open Settings → Routing Settings → Route, select the profile and click Export. This copies a throne://route/… link. Check it for private domains or addresses before you post it.
If a developer asks for your configuration, right-click the profile → Share → Export Sing-box config. Replace passwords, UUIDs, keys and server addresses with xxxx before you post it.