repo:artifact:download

Download current-head artifact bytes, fetching and caching a remote-only object when needed; requires --out or --checkout-only.

Reference for flywheel repo:artifact:download.

Local repositories, artifact downloads, and flywheel ui support macOS arm64/x64, Linux arm64/x64 (glibc or musl, including WSL and Alpine), and native Windows x64. Windows arm64 supports hosted commands, not local repositories. On native Windows, the UI serves repositories, artifacts, and sign-in, but not the agent panel, the page's agent Set Up/uninstall, or in-page install-update-and-restart. Those features require Unix process groups and process.execve; update with flywheel update or npm instead.

Recovery and other next-step commands are quoted for the system running the CLI: POSIX single quotes on macOS/Linux and PowerShell single quotes on Windows. PowerShell quoting doubles apostrophes and curly single quotes. The Windows commands are tested in Windows PowerShell 5.1 (powershell.exe) and PowerShell 7 (pwsh); cmd.exe and Git Bash are not supported for printed commands on Windows. In Windows PowerShell 5.1 a profile name containing a double quote ("), or one containing a space and ending in a backslash, does not reach Flywheel intact; use PowerShell 7.3 or newer, or another profile name. WSL uses the Linux implementation and POSIX quoting.

The printed sign-in, download and pull commands select the repository's recorded profile with --env, even when another profile is active; the local repair command needs neither that nor a service. A clone made only with FLYWHEEL_BASE_URL and FLYWHEEL_API_KEY records the default profile. While your config file has no default profile, each of those commands first sets FLYWHEEL_BASE_URL to the service the repository recorded (FLYWHEEL_BASE_URL='…' flywheel … on macOS/Linux; $env:FLYWHEEL_BASE_URL='…'; flywheel … in PowerShell on Windows, which keeps the variable for the rest of that terminal: later commands there use that service until Remove-Item Env:FLYWHEEL_BASE_URL or a new terminal), so it runs as printed in a new terminal without the clone's environment variables. The service address is not secret; no API key is printed. If a key for default at that service is already saved, the page asks for no sign-in; otherwise the printed auth:login --env 'default' saves the key and the endpoint through the existing credential and profile files. Commands for a configured or built-in profile name no service, so a different profile or service still fails the repository association check. Verified local bytes remain readable offline without looking up credentials.

If the download of the artifact's object fails (the connection is refused or drops, the request times out, the answer can't be read, or HTTP 408, 429, 502, 503 or 504 is still the answer after the CLI's retries), the error keeps its code and adds step, artifact_download, and next_action, the same command as typed, with the same arguments. The command has no --idempotency-key, so the rerun has none. It writes nothing, neither the --out file nor the checkout's copy of the object, until it has the object; run next_action once the hosted service can be reached again. A hosted repository_busy answer gets a step and this next_action too, and keeps its code repository_busy.

Command Group

Local Repository

Summary

Download current-head artifact bytes, fetching and caching a remote-only object when needed; requires --out or --checkout-only.

Effect

changes data

Usage

flywheel repo:artifact:download [FLAGS] <artifact_id>

Arguments

ArgumentRequiredChoicesDescription
<artifact_id>Yesartifact_id UUID.

Required flags

None.

Optional flags

FlagValueDefaultChoicesDescription
--repostringLocal repository filesystem path.
--personalUse the configured personal repository.
--artifact-idstringNamed alternative to <artifact_id>.
--outstringWrite the artifact's bytes to a file path, or use - for stdout. Required unless --checkout-only.
--checkout-onlyOnly save the artifact's file in the repository's checkout, where flywheel ui and later downloads read it; write no other copy and print what was saved. Use instead of --out.
--formatFORMATjson, tsv, csv, tableOutput format for command results.
--envPROFILESelect a CLI profile; unconfigured default requires FLYWHEEL_BASE_URL.
--openOpen browser-bound URLs when supported.
--no-retryDisable transient-error retries.
--retry-maxNMaximum transient-error retry attempts.
--waitBlock on async operations until a terminal state is reached.
--wait-timeoutSECONDS600Seconds to wait for --wait before timing out. Defaults to 600.
--allow-selfAllow mutating the currently active credential.
--timeoutSECONDSSet the per-request timeout budget in seconds.
--idempotency-keyKEYReuse an Idempotency-Key so ambiguous write failures can be retried with the same key.
--forceForce safety-gated operations where supported.
--yesConfirm forced compute:release-all --force. Other runtime commands do not read --yes.
--debugPrint structured request debugging with secrets masked.
--verbosePrint verbose progress for long-running operations.
-h, --helpShow this help.

Examples

Write the artifact bytes to a file.

flywheel repo:artifact:download <artifact_id> --repo <path> --out=./artifact.bin

Write only the artifact bytes to stdout.

flywheel repo:artifact:download <artifact_id> --repo <path> --out=-

Save the artifact's file in the checkout only, without writing another copy.

flywheel repo:artifact:download <artifact_id> --repo <path> --checkout-only