Skip to main content
In August 2026, we fixed an issue that caused permission errors (HTTP 401) when resetting player data by XUID, even for accounts that had been granted the correct Partner Center permissions. This fix was made in the XBOX services back end, so it applies automatically. You don’t need to install a new version of the GDK, the XBOX services Tools package, or the tool itself. If you previously hit this error and worked around it, or were advised that your Partner Center permissions were misconfigured, you can retry the tool using the steps below. The “Tools Access” permission described in Reset by XUID is still required.
The Player Data Reset tool can be used to reset a player or a group of players’ data in test sandboxes. You can reset data such as achievements, leaderboards, stats and title history. An individual account can be reset by its email address or XUID. To reset by XUID, you must first run the XblDevAccount.exe tool to sign in to the Partner Center account that owns the account to be reset. To reset by the test account’s email address, you will need to know the test account’s password. The tool doesn’t reset a player’s connected storage (game saves). To manage connected storage, see Connected Storage tool (XblConnectedStorage.exe). This command-line tool is part of the GDK and, separately, the XBOX services Tools package. To learn how to get the XblPlayerDataReset.exe tool, see Development tools for XBOX services. The --xuid, --user, and --file options are mutually exclusive. Specify exactly one of them, along with --scid and --sandbox.

Reset by XUID

To use the Player Data Reset tool to reset a user by their XUID, the developer account used to sign in (with XblDevAccount.exe) must have proper permission for the specific product. Note “Tools Access” is not an account level permission, it is a product level permission. So, you must grant the “Tools Access” permission for every single product you want to reset the player data for.
  1. Sign in to Partner Center with a developer account that has administrative privileges.
  2. Navigate to the Account setting => Users page.
  3. Click on the user or group that needs the “Tools Access” permission.
  4. If the user or group is currently assigned to a standard role (such as Developer), you need to switch to “Customize permissions”.
  5. On the next page, move to “Product-level” permissions table, expand the “XBOX Live” table header, and find the “Tools access” column.
  6. Explicitly check that box for the products or product groups you want to grant the “Tools Access” permission for.
When permissions are setup, the test account data can then be reset as follows:

Reset by email address

To reset by test account email addresses, you will need to know the password for each test account. Use the command below, which will pop up a window for you to sign in as the test user:

Reset by file

To reset by file, you can pass the file location of either a delimited file of XUIDs, a delimited file of emails, or a Partner Center account export.
For a delimited file, the tool inspects the first line to decide how to read the file. If that line contains an @ character, the whole file is treated as a list of email addresses; otherwise it’s treated as a list of XUIDs. Don’t include a header row in a delimited file, because it’s parsed as an account. A Partner Center account export is detected automatically, but only when the original header row is present and unmodified:
If you open the export in a spreadsheet application and save it with reordered or renamed columns, the header is no longer recognized and the file is read as an ordinary delimited file instead.
Sign in with XblDevAccount.exe before you reset from a Partner Center account export. When a Partner Center account is signed in, the tool reads the Xuid column and resets the accounts without further prompting. When no account is signed in, it falls back to the Email column and prompts you for the password of every account in the file.

Delimiter option

You can optionally set a custom delimiter for the --xuid and --user options, and for delimited files passed to --file. The default delimiter is a comma (,).
Only the first character of the value is used. If you pass a value longer than one character, the remaining characters are ignored rather than treated as a multi-character delimiter. The delimiter is ignored when the file passed to --file is a Partner Center account export, because that format is always comma-separated.

How accounts are processed

The way accounts are processed depends on which option you use. When you reset by XUID, or from a file that resolves to XUIDs, accounts are processed in batches of up to 10. The accounts within a batch are reset in parallel, and the batches run one after another. When you reset by email address, accounts are processed one at a time, because each account has to be signed in individually. If any test account fails to sign in, the tool stops immediately and the remaining accounts in the list aren’t attempted. Each account is retried automatically up to five times before it’s reported as failed, and the tool waits for the service to finish each reset before moving on. A single account can therefore take up to about a minute to report a final result. Allow the tool to finish rather than cancelling it, especially when you’re resetting a large list.

Output

If the command succeeds or fails, you will see output similar to what is listed below. Success
Error
A reset can also time out. A timeout means the tool stopped waiting for a result, not that the reset definitely failed. The job may still complete in the service.

Exit codes

The tool returns 0 when it succeeds and -1 when it fails. When you call the tool from a script or an automated test pass, check the exit code rather than relying on the console text.
The tool also returns 0 in two cases where nothing is reset: when none of --xuid, --user, or --file is specified, and when the file passed to --file can’t be read. If your automation only checks the exit code, these cases can look like a successful run. Confirm that the output includes a result line for every account you expected to reset.

Troubleshooting

Unable to authorize the account with XBOX Live

This message accompanies an HTTP 401 error. Before August 2026, a service-side issue caused this error for all developers resetting by XUID, including developers whose Partner Center permissions were configured correctly. That issue has been fixed, and the fix didn’t require a tool or GDK update. If you still see this error, confirm that the signed-in account has the “Tools Access” permission for the product, as described in Reset by XUID, and that the SCID and sandbox match the product you’re targeting. If you changed permissions in Partner Center recently, sign out and sign in again with XblDevAccount.exe so that a new token is issued.

Your account doesn’t have access to perform the operation

This message accompanies an HTTP 403 error. Grant the “Tools Access” permission for the product, as described in Reset by XUID.

Resetting by XUID requires a signed in Partner Center account

Run XblDevAccount.exe signin before resetting by XUID, or before resetting from a Partner Center account export.

Failed to log in to test account

The tool couldn’t sign in to the test account. Verify the email address and password, and confirm that the account belongs to the sandbox you passed to --sandbox. The tool stops when this happens, so any remaining accounts in your list aren’t reset.
Last modified on August 31, 2026