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

# Background transfers

> Run uploads and downloads in the background, inspect progress, wait for results, and cancel a transfer by ID.

Add `--detach` to an upload or download to start a background job. The command returns a transfer ID so you can close the terminal and check the job later on the same computer.

```bash theme={null}
aspect upload ./Footage "aspect://Acme/Documentary" --detach
aspect download "aspect://Acme/Documentary/Deliverables" ./delivery --detach
```

Keep the computer awake and connected, and keep local upload sources available until the job completes. A detached transfer survives closing its terminal; it is not a hosted job or a transfer that automatically resumes after a reboot.

## Inspect progress

```bash theme={null}
aspect transfer list
aspect transfer status <transfer-id>
```

Replace `<transfer-id>` with the ID printed when the job started. `list` shows tracked jobs on this computer. `status` shows the selected job's state and progress. Add `--json` for structured fields, including file counts, transferred bytes, and its result when finished.

## Wait for completion

```bash theme={null}
aspect transfer wait <transfer-id>
```

`wait` stays attached until the transfer reaches a terminal state. A successful result exits with status `0`; a failed or cancelled result exits with status `1`. Starting a detached job successfully does not mean its files finished transferring.

For a script that extracts the returned ID and checks the final exit status, see [Scripts and AI agents](/docs/cli/automation).

## Cancel

```bash theme={null}
aspect transfer cancel <transfer-id>
aspect transfer status <transfer-id>
```

Cancellation requests the background runner to stop. Check its status afterward for the final outcome. Files that completed before cancellation remain at their destination.

## Mounted-file writes

`aspect transfer` tracks explicit CLI jobs started with `--detach`. Files saved through a mounted volume use the filesystem service's background upload queue.

Close applications' writable files, then run `aspect daemon status --json`. Check both `writeBackDrained` and `writeSyncSummary.failureCount`: a drained queue can still have recorded upload failures. A CLI transfer finishing does not establish that every mounted-file save has uploaded. See [Mount projects](/docs/cli/mounts#finish-work-and-unmount) for the completion checks.
