move Command

Classify files and move them to their PARA destinations.

Basic Usage

# Single file
uv run para-files move document.pdf

# Multiple files
uv run para-files move file1.pdf file2.docx file3.txt

# All PDFs in folder
uv run para-files move ~/Downloads/*.pdf

Essential Options

--dry-run

Preview where files will go WITHOUT moving them:

# Always do this first!
uv run para-files move *.pdf --dry-run

Output shows destination but doesn’t move files.

--copy

Copy files instead of moving:

# Create copy in PARA, keep original
uv run para-files move document.pdf --copy

--conflict

Handle duplicate filenames. Options:

  • skip - Don’t move if file exists at destination
  • overwrite - Replace existing file
  • rename - Add number suffix (file.pdf → file_1.pdf)
  • rename_with_date - Add date prefix (2024-01-15_file.pdf)
# Don't overwrite existing files
uv run para-files move *.pdf --conflict skip

# Rename duplicates
uv run para-files move *.pdf --conflict rename

--skip-unclassifiable

Don’t warn about files that go to Inbox (0_Inbox):

uv run para-files move *.pdf --skip-unclassifiable

Advanced Options

--date-prefix

Add date prefix to moved files:

# file.pdf → 2024-01-15_file.pdf
uv run para-files move *.pdf --date-prefix

--cleanup-empty / --no-cleanup-empty

Remove empty directories after moving files. Enabled by default.

# Default behavior: cleanup enabled
uv run para-files move ~/Downloads/*.pdf

# Disable cleanup if needed
uv run para-files move ~/Downloads/*.pdf --no-cleanup-empty

Output Formats

Text Output (Default)

uv run para-files move *.pdf
# Shows: File → Destination (Status)

JSON Output

uv run para-files move *.pdf --json
# Structured results for scripting

Verbose

uv run para-files move *.pdf -v
# Shows detailed info including confidence, source signal, etc.

Examples

Safe Move Workflow

# 1. Always preview first
uv run para-files move ~/Downloads/*.pdf --dry-run

# 2. Check output carefully

# 3. If satisfied, actually move
uv run para-files move ~/Downloads/*.pdf

Batch Move with Options

# Move with duplicate renaming (cleanup is automatic)
uv run para-files move ~/Downloads/*.pdf --conflict rename

# Copy instead of move (keeps original, no cleanup)
uv run para-files move ~/Downloads/*.pdf --copy

Handle Duplicates

# Skip files if they already exist at destination
uv run para-files move *.pdf --conflict skip

# Rename duplicates with date
uv run para-files move *.pdf --conflict rename_with_date

Unclassifiable Files

# Files with low confidence go to 0_Inbox
# Suppress warnings about them
uv run para-files move *.pdf --skip-unclassifiable

How move Works

  1. Classifies each file (using 6-signal pipeline)
  2. Determines destination folder
  3. Creates destination folders if they don’t exist
  4. Moves (or copies) the file
  5. Reports success/failure
  • classify - Preview classifications without moving
  • scan - Preview all classifications in a directory
  • init - Pre-create PARA folder structure

Troubleshooting

“File already exists”? Use --conflict rename or --conflict overwrite

“Permission denied”? Check folder permissions. You need write access to destination.

Files went to Inbox? Low confidence classification. See Troubleshooting.