Start your 3-day free trial
Sign up to experience all premium features at no cost.
*Available only to new users. Each user is limited to one trial.


If Kopia restore stuck describes a job that can list snapshots but does not recover usable files, separate snapshot browsing, content retrieval, and destination writing. Select a specific snapshot object, restore a small selection to a new empty directory, and inspect both the file and the restore errors before changing repository settings.
Key Takeaways:
- Snapshot visibility does not prove that all referenced content can be downloaded.
- Fix the source snapshot and path before comparing attempts; do not rely on a changing latest selection.
- Restore to an empty independent destination, keeping original files and repository data intact.
- A shallow placeholder is not the recovered file content you were expecting.
- Compare a public-network route only when content transfer evidence supports it, then verify the selected file.
Kopia's restore command can retrieve a directory or file identified by its object ID, optionally narrowed to a subdirectory. It can also expand existing placeholders. These are different source forms, so record exactly what you asked it to restore.[2]
The guide separates repository connection, snapshots, and restoration. A browser interface that displays snapshots is useful information, but it does not replace testing the selected snapshot's contents on the machine performing the restore.[1]
| Observation | Distinction to check | Appropriate next step |
|---|---|---|
| Snapshots cannot be listed | Connection and credentials | Verify the intended repository |
| List succeeds but content request times out | Metadata versus content retrieval | Try a small selected restore |
| Placeholder entries appear | Shallow mode versus complete recovery | Inspect the requested restore mode |
| Downloads proceed, local output fails | Transfer versus destination write | Check permissions and free space |
| Repeated content or integrity errors | Repository data versus route | Preserve evidence and involve the owner |
For broader symptoms, follow the device troubleshooting sequence; investigate ordinary cloud sync conditions separately from Kopia snapshots.
Record the installed Kopia version, operating system, configured repository type, and the snapshot you intend to restore. Confirm the host, user, source path, and time associated with the required backup. Do not choose a recent-looking entry without checking that it belongs to the correct source.[1]
Save the specific file or directory ID and any subdirectory selection. Kopia's command reference distinguishes an object-ID source from a path-based selection that can depend on snapshot time. An explicit source helps ensure two attempts refer to the same historical content.[2]
Keep the first error, time, and reproducible selection. Distinguish reported failure from manual cancellation; redact passwords, keys, signed URLs, personal filenames, and private repository details.
Identify the execution host. A UI, terminal, or browser on one computer can interact with a process elsewhere. The host opening content objects and writing output is the one whose connection and filesystem matter; a VPN on a separate viewer does not establish that host's path.
Do not disconnect the repository and create a fresh one to clear an error. Do not remove snapshots, start maintenance, or change encryption credentials during this diagnosis. Those actions alter the recovery problem rather than testing the selected snapshot.
Checkpoint: Fix the repository and historical source; retain the first error. Stop for identity uncertainty.
Use a new local destination that is outside the original project, outside the repository storage, and outside a folder another sync program may immediately process. As the account running Kopia, create and remove a harmless file there. Check free space for the restored content rather than relying on the cloud object's compressed size.
The command reference says restoring into an existing target can overwrite content by default. It also provides overwrite controls for files, directories, and symbolic links. For diagnosis, an empty independent target is simpler than trying to reason about every collision in a live tree.[2]
Keep delete-extra disabled. That option deletes entries present in the destination but absent from the snapshot; it is unnecessary for learning whether one backup file can be retrieved. Do not enable ignore-errors options to make an incomplete restore look successful.[2]
Use separate empty folders for separate attempts. Otherwise a file produced by the first run may be mistaken for fresh output after the second. Do not count a directory created at the beginning of the job as proof that its files have been downloaded.
If you expect full file contents, do not request shallow restoration. Kopia documents shallow entries as placeholders that can later be expanded; their existence alone does not establish that the original data has been recovered.[2]
Checkpoint: Confirm empty writable output and a full-content mode without destructive options. Stop for overwrite risk.
Run a small restore using the fixed source and new destination. Record whether the client is waiting for the repository, obtaining content, producing placeholders, or failing to create local files. Use the actual error and output, not only a progress bar or elapsed time.
Replace the capitalized placeholders with the selected source and a new empty destination; keep the existing secure repository and credential configuration. Do not put passwords into this command.
kopia snapshot restore OBJECT_ID/SUBPATH RESTORE_DIR --no-overwrite-files --no-overwrite-directories --no-overwrite-symlinks --no-delete-extra
For a Kopia snapshot restore failed report, compare one failing object with another from the same snapshot. This narrows scope without validating the repository.
If snapshot browsing works but file retrieval times out, you have evidence for investigating the content path. If the same selected file repeatedly reports a missing or invalid object, preserve the identity and error for the repository owner instead of treating more route changes as repair.
If bytes are downloaded and then local writing fails, investigate the target filesystem. Permission, free-space, locked-file, and filename constraints differ from cloud access. Avoid changing repository credentials for a failure explicitly reported at the output path.
Also confirm that what appears in the destination is an actual recovered file rather than a shallow placeholder. Expansion is a distinct documented restore mode. Do not open a placeholder expecting the original application to understand it, and do not rename it to impersonate the original file.[2]
A local or organization-private repository needs its authorized access path. The public-network experiment in the next step is intended for content requests to a public service, not for reaching a LAN share through an unrelated consumer VPN.
Checkpoint: Locate the content or write failure. Compare routes only for transport evidence; stop for unresolved access, integrity, or output errors.
Make a baseline note of the direct attempt: source ID, selected path, output folder, start time, and first error. Use a small non-sensitive selection rather than the entire snapshot. Keep Kopia version, credentials, repository, and source fixed so the route is the variable being examined.
For the computer reading those public content objects, connect AethoVPN and repeat that selection into a different empty directory. Use the official Windows installer, the supported Debian/Ubuntu x64 .deb on Linux, or the website setup guide in a VPN client on Mac with Pro or Premium. Choose a nearby available location and enable global mode before the content retry. Compare file retrieval and local write results separately; a changed route cannot recreate damaged blocks, decrypt data without the correct credentials, or add destination disk space.
Begin the 3-day Pro trial to test the selected snapshot's download path; it is a one-time new-user trial.
Check the VPN itself using the connection-verification workflow, then return to the exact Kopia source for acceptance. If a Windows proxy is involved, review its scope and configured values; changing a browser proxy does not establish the backup client's route.
Do not present this as a performance benchmark. The comparison asks whether this selected content can be restored under the recorded conditions, not whether the VPN always improves backup speed. Cached data can also affect repeated attempts, so a quicker second run alone does not establish a network cause.
If only direct access succeeds, use that route for recovery. If both routes fail with the same missing-object or write error, stop route experiments and retain the evidence. If the repository is private or source-IP restricted, use its authorized path rather than loosening security policy to accommodate a new exit.
Open the selected recovered file with the appropriate program. Compare a known document revision, image, or other content marker from the intended snapshot. Check the file size where useful, but do not rely on size and timestamp alone to establish that the correct content was recovered.
Review the restore report for errors and skipped entries. A collection of placeholders, an empty folder, or a successful snapshot listing does not meet this test's criterion. An unreadable file also remains a failed acceptance even if the progress indicator reached completion.
Tie results to the source ID. Recovering a different version is a workaround, not proof that the requested version is restored.
After success, test a representative folder in another target, retaining exceptions. The recovery owner must accept content, permissions, and application consistency before production replacement.
For persistent Kopia repository connection errors, send support the installed version, backend, selected source, first error, requested restore mode, and redacted route comparison. If content is missing or damaged, ask for a repository-specific investigation; do not remove snapshots or run maintenance as an improvised network fix.
This test covers selected files, not every snapshot or future restore. Keep originals and configuration until the larger recovery is accepted.
Listing and content retrieval test different operations. Preserve the selected source and first content-read error, then determine whether the problem is access, missing data, transfer, or local output before changing settings.
Use a separate empty destination during diagnosis. Restore operations can overwrite existing content, so an independent folder protects current work and makes each attempt's output easier to identify.
They are not the original file contents. Shallow mode intentionally represents part of the tree with placeholders, which require the documented expansion process before the underlying content is available.
A route comparison changes how content reaches the client, not who can write the destination. If the failure explicitly concerns local output, investigate the executing account and filesystem before repeating downloads.
Neither is appropriate for this small diagnostic restore. Deleting extra target files changes existing data, while ignoring errors can hide incomplete recovery. Keep the destination independent and inspect all relevant errors.
The actual file is readable, matches the selected historical contents, and has no unresolved restore error. Placeholders, a created directory, and a changed IP do not provide that evidence.
Stop when both routes return the same non-network failure, when content is missing or damaged, or when repository access is private or uncertain. Escalate with source identity and redacted evidence before changing storage structure.
Disclaimer: The route comparison is a diagnostic procedure based on public documentation, not a tested promise of faster or guaranteed recovery. Preserve original files and follow the repository owner's recovery process.
Sources:
Sources checked 7 October 2026.
Sign up to experience all premium features at no cost.
*Available only to new users. Each user is limited to one trial.