Skip to Content
CLIUpload files

Upload files and check progress

Upload a file to the selected drive, then confirm its stored state before using it elsewhere.

flashdrive upload ./handbook.txt --wait

The result identifies the uploaded file or accepted upload. --wait waits for durable storage; it does not mean that search processing has finished.

Upload a folder

Preview the selected files first, then upload them:

flashdrive upload ./docs --recursive --dry-run flashdrive upload ./docs --recursive --wait

Folder discovery follows .gitignore. Naming a file directly bypasses that ignore rule, so review every selected path. The CLI still skips and reports .git, .env, and system leftovers; do not rename secrets to bypass these exclusions. Hidden project files such as .gitignore, .github, and .env.example can be included.

Review the preview before the second command. Select the intended drive with --drive DRIVE_ID if you do not want to use the saved default. The service enforces the drive’s current file and capacity limits.

Check or resume an upload

For ordinary file uploads, an upload ID identifies a service upload, and a run ID identifies the local transfer record used for resuming. Keep the identifiers returned for that transfer. Use UPLOAD_ID to check the service upload, and RUN_ID to resume its saved local run, with the same profile and drive:

flashdrive upload status UPLOAD_ID flashdrive upload resume RUN_ID --wait

Large text collections can be routed through bulk import automatically. Check the returned transport and import recovery instructions instead of assuming that result has an upload or run ID. Resume an import with the same original paths and drive, for example flashdrive import ./docs --resume for an import of that text folder. A mixed transfer can also return a separate upload run for other files; retain that run ID and follow its recovery instructions.

A wait timeout can leave accepted work running. Check its status instead of starting another upload. If the service returns an operation ID, check that operation in its original drive:

flashdrive operation status OPERATION_ID --wait

Replace an existing file

Read the current file and keep its revision. Replace it using both its ID and that revision:

flashdrive document get FILE_ID flashdrive upload ./handbook.txt --replace FILE_ID --expected-revision REVISION --wait

A changed revision refuses the replacement. Read the newer file and reconcile your edit before retrying. A matching file name alone does not select a replacement.

Confirm the result

flashdrive file list flashdrive file read FILE_ID --start-line 1 --line-count 40

Check the stored file and its search status. Continue with search when the file is ready, or mount a drive to edit files with your usual programs.