# chainctl guardener github migrate create

URL: https://edu.chainguard.dev/platform/chainctl/chainctl-docs/chainctl_guardener_github_migrate_create.md
Last Modified: July 31, 2026
Tags: chainctl, Reference, Product

 chainctl guardener github migrate create Enqueue a GitHub Actions migration for a repository.
Synopsis Enqueue a GitHub Actions migration for a repository.
The migration opens (or updates) a single pull request replacing upstream GitHub Actions with their Chainguard equivalents at version-equivalent tags. It returns a long-running operation; by default this command waits for it to complete and prints the resulting pull request. Pass &ndash;wait=false to return immediately with the operation name, which you can pass to &ldquo;migrate get&rdquo; later.
REPOSITORY may be a full URL (https://github.com/owner/repo) or the &ldquo;owner/repo&rdquo; shorthand; only github.com is supported today.
Requires the guardener.actions.migrate capability on the group, which must own the repository&rsquo;s GitHub App installation.
chainctl guardener github migrate create REPOSITORY [flags] Options --group string Name or UIDP of the Chainguard group that owns the installation. Prompts interactively if omitted. --timeout duration How long to wait for the migration when --wait is set. (default 10m0s) --wait Wait for the migration operation to complete before returning. (default true) Options inherited from parent commands --api string The url of the Chainguard platform API. (default &#34;https://console-api.enforce.dev&#34;) --audience string The Chainguard token audience to request. (default &#34;https://console-api.enforce.dev&#34;) --config string A specific chainctl config file. Uses CHAINCTL_CONFIG environment variable if a file is not passed explicitly. --console string The url of the Chainguard platform Console. (default &#34;https://console.chainguard.dev&#34;) --force-color Force color output even when stdout is not a TTY. -h, --help Help for chainctl --issuer string The url of the Chainguard STS endpoint. (default &#34;https://issuer.enforce.dev&#34;) --log-level string Set the log level (debug, info) (default &#34;ERROR&#34;) -o, --output string Output format. One of: [csv, env, go-template, id, json, markdown, none, table, terse, tree, wide] -v, --v int Set the log verbosity level. SEE ALSO chainctl guardener github migrate	- Migrate a repository&rsquo;s GitHub Actions to their Chainguard equivalents. 
