> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Remote recovery (xbremoterecovery.exe)

> Remote recovery (xbremoterecovery.exe)

Use this tool to initiate a system update on XBOX One family consoles and XBOX Series consoles. This tool allows for acquiring system updates from a local PC destination, XBOX services or a custom CDN. This tool provides the following subcommands and functions.

| Command | Description |
| - | - |
| [xbremoterecovery install](#xbremoterecovery_install) | Installs a Live system update by downloading data from the PC. XBOX services must authorize the console to install the update. |
| [xbremoterecovery live](#xbremoterecovery_live) | Installs a Live system update by downloading data from the cloud. Requires that XBOX services authorizes the console to install the update. |
| [xbremoterecovery getversion](#xbremoterecovery_getversion) | Retrieves the version number that's associated with the system software that's currently running on the console. |
| [xbremoterecovery getversionid](#xbremoterecovery_getversionid) | Retrieves the version ID that's associated with the system software that's currently running on the console. |
| [xbremoterecovery resetresume](#xbremoterecovery_resetresume) | Clears in-progress updates so that the next attempt starts a new update. |

## xbremoterecovery install

Installs a Live system update by downloading data from the PC. XBOX services must authorize the console to install the update.

| Column 1 |
| - |
| \*\*xbremoterecovery install \*\**update\_path* \[/factoryreset\[:VALUE] ] \[/log] \[/noidletimeout] \[/xblsandbox:VALUE] \[/provision:\<path to xbProvision manifest>] \[/savehostname] \[/sethostname:NAME] \[/X\[:]*address\[+\<accesskey>]*] |

| Option | Description |
| - | - |
| *update\_path* | The path to a directory that contains the data files for the system update. For example, system.xvd, host.xvd, updater.xvd, and update.ini. |
| /factoryreset\[:VALUE] | Force a reset of all settings and internal storage. **No value** - Performs a full reset of all settings and content to their default state. **savesettings** - Preserves settings during the factory reset. |
| /log | Generates content that's suitable for a log file. |
| /noidletimeout | Disables the idle shutdown timer. This is useful for testing a scenario where the user would never want the console to turn itself off due to inactivity. |
| /xblsandbox:VALUE | Overrides the default sandbox. This is especially useful the first time that a console is set up because every console starts in the RETAIL sandbox, which isn't practical for Development Kits. This switch must be used the first time that a dev kit is recovered to ensure that it goes to the correct sandbox. |
| /savehostname | Use this option when downgrading a build and you want to preserve the hostname of the console. Using this option with /factoryreset will preserve the hostname. |
| /sethostname:NAME | Similar to /savehostname, but will overwrite the hostname with the provided NAME. |
| /X\[:]*address\[+\<accesskey>]* | - Use this option to specify the host name or address (shown as **Tools IP** on the console) of a targeted console without changing the default console. For details about setting a host name for a console, see [Setting a host name for the console IP address](/home/setup-install/dev-kit-settings/setting-a-hostname.md). - If you don't use this option, the default console (previously set by [Connect (xbconnect.exe)](/tools/tools-console/commandlinetools/xbconnect.md)) is used. - Use the *accesskey* string to provide console access only to those people who have the access key. - Set the access key by using the command **xbconfig** **accesskey=your-key**, and then restart your console to make the access key effective. - To access a console that's configured with an access key, include a plus sign (+) and the access key after the IP address or host name of the console. - If an access key is provided when the default console is set by [xbconnect](/tools/tools-console/commandlinetools/xbconnect.md), the access key is stored as part of the default console's address. - For more information about access keys, see [xbconfig accesskey](/tools/tools-console/commandlinetools/xbconfig.md). |

[Return to the top of this topic.](/tools/tools-console/commandlinetools/xbremoterecovery.md)

## xbremoterecovery live

Installs a Live system update by downloading data from the cloud. Requires that XBOX services authorizes the console to install the update.

| Column 1 |
| - |
| **xbremoterecovery live \[VERSIONID] \[/cdnoverride:VALUE]** |

| Option | Description |
| - | - |
| VERSIONID | Exact version ID to install, in the form x.x.xxxx.x.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. If a developer console is configured for manual updates, then VERSIONID is a required parameter. Otherwise, omitting this parameter will update to the most recent version available for its System Update Group. The VERSIONID value can be determined in one of the following ways: 1. Inspect the update.ini file in a recovery .zip that you have downloaded from [https://aka.ms/gdkdl](https://aka.ms/gdkdl). For example, this is the version ID for the March 2021 QFE 1 recovery update: `VersionId=10.0.19041.6737.31cedb80-46ab-407b-b277-1c67bd056f4c` 2. Running `xbremoterecovery.exe` with the `getversionid` command line switch. |
| /cdnoverride:VALUE | Override the CDN value returned by XBOX services, with a custom CDN endpoint. Supplying the VERSIONID parameter is encouraged when using this option. The full path to all update files will need to be as follows: `\|----- CDN override value ----\|-------------- Version ID of the build -------------\| Flat directory of update files \|` `http://example.com/xboxupdates/10.0.19041.6288.afaf9289-dc86-45ab-9515-02554081a1e8/*` |

[Return to the top of this topic.](/tools/tools-console/commandlinetools/xbremoterecovery.md)

## xbremoterecovery getversion

Retrieves the version number that's associated with the system software that's currently running on the console.

| Column 1 |
| - |
| \*\*xbremoterecovery getversion \*\* |

[Return to the top of this topic.](/tools/tools-console/commandlinetools/xbremoterecovery.md)

## xbremoterecovery getversionid

Retrieves the version ID that's associated with the system software that's currently running on the console. This ID can be used as the VERSIONID value when running the [xbremoterecovery live](#xbremoterecovery_live) command.

| Column 1 |
| - |
| \*\*xbremoterecovery getversionid \*\* |

[Return to the top of this topic.](/tools/tools-console/commandlinetools/xbremoterecovery.md)

## xbremoterecovery resetresume

Clears in-progress updates so that the next attempt starts a new update.

| Column 1 |
| - |
| \*\*xbremoterecovery resetresume \*\* |

In some cases, recovery fails but leaves this flag set to indicate that an update is in progress. This switch clears this flag so that subsequent updates are allowed to proceed. Optionally, restart the console to clear this flag.

[Return to the top of this topic.](/tools/tools-console/commandlinetools/xbremoterecovery.md)

## See also

[Command-line tools](/tools/tools-console/commandlinetools/commandlinetools.md)

[XTF transport errors](/tools/tools-console/commandlinetools/xtf-transport-errors.md)

[Connect (xbconnect.exe)](/tools/tools-console/commandlinetools/xbconnect.md)


## Related topics

- [Command-line tools for console development](/tools/tools-console/commandlinetools/commandlinetools.md)
- [Commandlinetools](/tools/tools-console/commandlinetools/index.md)
- [Recovery (wdRecovery.exe)](/tools/tools-console/console_commandlinetools/wdrecovery.md)
- [Remote Recovery URIs (API contents)](/reference/deviceportal/remote/atoc-rest-remote.md)
- [Console-based command-line tools](/tools/tools-console/console_commandlinetools/consolecommandlinetools.md)
