{"meta":{"title":"Enterprise Live Migrations CLI reference","intro":"Detailed usage information for the ELM CLI tool.","product":"Migrations","breadcrumbs":[{"href":"/en/migrations","title":"Migrations"},{"href":"/en/migrations/elm","title":"Live migrations (GHES to GHE.com)"},{"href":"/en/migrations/elm/elm-cli-reference","title":"ELM CLI reference"}],"documentType":"article"},"body":"# Enterprise Live Migrations CLI reference\n\nDetailed usage information for the ELM CLI tool.\n\n## Installation\n\n```shell\ngh extension install github/gh-elm\n```\n\nThe extension requires GitHub CLI (`gh`) version 2.0 or later.\n\n## Setup commands\n\n| Command               | Description                                                    |\n|-----------------------|----------------------------------------------------------------|\n| `gh elm config`       | Interactively configure the endpoints and tokens for ELM use   |\n| `gh elm config reset` | Remove stored configuration and credentials                    |\n| `gh elm config show`  | Show the current configuration, with tokens redacted           |\n| `gh elm completion`   | Generate a shell autocompletion script for the specified shell |\n\n## Migration commands\n\n| Command | Description |\n|---|---|\n| `gh elm migration list` | List migrations |\n| `gh elm migration create` | Create a new migration |\n| `gh elm migration start MIGRATION-ID` | Start a previously created migration |\n| `gh elm migration status MIGRATION-ID` | Get the status and details of a migration |\n| `gh elm migration watch MIGRATION-ID` | Watch migration progress with a live-updating display |\n| `gh elm migration pause MIGRATION-ID` | Pause a running migration |\n| `gh elm migration resume MIGRATION-ID` | Resume a paused migration |\n| `gh elm migration cancel MIGRATION-ID` | Cancel and terminate a migration |\n| `gh elm migration target-id MIGRATION-ID` | Look up the target (destination) migration ID for a migration |\n| `gh elm migration cutover MIGRATION-ID` | Initiate a cutover to the destination for a migration |\n| `gh elm migration cutover status MIGRATION-ID` | Get the cutover status and progress for a migration |\n| `gh elm migration cutover revert MIGRATION-ID` | Revert the effects of a cutover so the source repository can be migrated again |\n\nSome of these commands can take additional options. See the later sections in this article.\n\n## Target commands\n\n| Command | Description |\n| ------- | ----------- |\n| `gh elm target mannequin reclaim` | Claim (reclaim) one or more mannequins on the target organization |\n| `gh elm target mannequin list` | List a target organization's mannequins as CSV |\n| `gh elm target report request` | Request a node report for a migration |\n| `gh elm target report status` | Query the status of a migration's node report |\n| `gh elm target report url` | Get a signed download URL for a finished report |\n| `gh elm target resources` | List a migration's resources from the target |\n  \n## `gh elm migration create` options\n\nCreate a new migration to prepare for repository export and import.\n\n| Flag                  | Required | Default    | Description                                                                                                       |\n|-----------------------|----------|------------|-------------------------------------------------------------------------------------------------------------------|\n| `--source-org`        | Yes      | N/A        | Slug of the source organization on GitHub Enterprise Server                               |\n| `--source-repo`       | Yes      | N/A        | Name of the source repository                                                                                     |\n| `--target-org`        | Yes      | N/A        | Slug of the destination organization on GHE.com                       |\n| `--target-repo`       | Yes      | N/A        | Name of the destination repository                                                                                |\n| `--target-visibility` | No       | `internal` | Visibility of the destination repository. Must be `private` or `internal`. Public repositories are not supported. |\n| `--start`             | No       | `false`    | Automatically starts the migration after creating it                                                              |\n| `--json`              | No       | `false`    | Output the API's raw JSON response instead of human-readable text                                                |\n\n## `gh elm migration list` options\n\n| Flag          | Required | Default | Description                                                                                                                           |\n|---------------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------|\n| `--status`    | No       | N/A     | Filters results by migration status. Valid values: `created`, `queued`, `in_progress`, `paused`, `completed`, `failed`, `terminated`. |\n| `--page-size` | No       | N/A     | Number of results per page                                                                                                            |\n| `--after`     | No       | N/A     | Cursor for pagination, from a previous response                                                                                       |\n| `--json`      | No       | `false` | Output the API's raw JSON response instead of human-readable text                                                                    |\n\n## `gh elm migration cutover` options\n\n| Flag             | Required | Default | Description                                                                                                                                                                              |\n|------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `--migration-id` | Yes      | N/A     | The ID of a migration that is ready for cutover.                                                                                                                                         |\n| `--force`        | No       | `false` | By default, the command checks whether the migration target reports readiness before proceeding. Use `--force` to bypass this check when you are certain the migration state is correct. |\n| `--watch`        | No       | `false` | After triggering cutover, enter live watch mode                                                                                                                                         |"}