Documentation Index
Fetch the complete documentation index at: https://docs.memvid.com/llms.txt
Use this file to discover all available pages before exploring further.
This guide covers common CLI errors and how to resolve them.
Exit Codes
The CLI uses specific exit codes to indicate error types:
| Exit Code | Meaning | Description |
|---|
| 0 | Success | Command completed successfully |
| 1 | Generic | General error |
| 2 | Capacity | Storage capacity exceeded or API key required |
| 3 | Lock | File lock conflict |
| 4 | Corruption | File corruption detected |
Common Errors
Capacity Exceeded
Symptom:
Error: CapacityExceeded
Current usage: 950 MB
Capacity limit: 1 GB
Required space: 100 MB
Causes:
- File has reached its storage limit
- Adding content that would exceed capacity
Solutions:
- Delete unused frames:
# List frames to find candidates for deletion
memvid timeline myfile.mv2 --limit 100
# Delete a specific frame
memvid delete myfile.mv2 --frame-id 42 --yes
# Compact the file to reclaim space
memvid doctor myfile.mv2 --vacuum
- Create a new file with larger capacity:
# Create with specific size
memvid create newfile.mv2 --size 2GB
- Check current usage:
Lock Errors
Symptom:
Error: File is locked by another process
Causes:
- Another process is writing to the file
- A previous process crashed without releasing the lock
- Lock is held by a stale process
Solutions:
- Check who holds the lock:
- Request the writer to release:
- Find the process holding the lock:
# macOS/Linux
lsof myfile.mv2
- Wait and retry with timeout:
memvid put myfile.mv2 --input doc.pdf --lock-timeout 5000
- Force takeover of stale lock:
memvid put myfile.mv2 --input doc.pdf --force
Only use --force if you’re certain the previous writer has crashed. Forcing a lock on an active writer can cause corruption.
Corrupted File
Symptom:
Error: CorruptToc - Table of Contents checksum mismatch
Error: InvalidHeader - Header magic bytes invalid
Causes:
- File was corrupted during transfer
- Crash during write operation
- Disk errors
Solutions:
- Verify the file:
# Quick verification
memvid verify myfile.mv2
# Deep verification
memvid verify myfile.mv2 --deep
- Run the doctor:
# Preview repairs
memvid doctor myfile.mv2 --plan-only
# Rebuild specific index
memvid doctor myfile.mv2 --rebuild-time-index
memvid doctor myfile.mv2 --rebuild-lex-index
memvid doctor myfile.mv2 --rebuild-vec-index
- Verify single-file integrity:
memvid verify-single-file myfile.mv2
Time Index Issues
Symptom:
TimeIndexSortOrder: Failed in memvid verify --deep
Error: TimeIndexMissing
Solution:
memvid doctor myfile.mv2 --rebuild-time-index
memvid verify myfile.mv2 --deep
Search Returns Empty Results
Symptom:
$ memvid find myfile.mv2 --query "test"
[]
Causes:
- Lexical index not built
- Content not indexed
- Query doesn’t match any content
Solutions:
- Check index status:
memvid stats myfile.mv2 --json | grep has_lex_index
- Rebuild the lexical index:
memvid doctor myfile.mv2 --rebuild-lex-index
- Try different search modes:
# Lexical only
memvid find myfile.mv2 --query "test" --mode lex
# Semantic only
memvid find myfile.mv2 --query "test" --mode sem
# Hybrid (default)
memvid find myfile.mv2 --query "test" --mode auto
- Check if content exists:
memvid timeline myfile.mv2 --limit 5
memvid view myfile.mv2 --frame-id 1
Invalid Flag Error
Symptom:
error: unexpected argument '--nonexistent-flag'
Solution:
File Already Exists
Symptom:
Error: File 'myfile.mv2' already exists
Solution:
# Remove existing file first
rm myfile.mv2
memvid create myfile.mv2
# Or use a different name
memvid create myfile-v2.mv2
Diagnostic Commands
Check File Health
# Basic stats
memvid stats myfile.mv2
# JSON output for scripting
memvid stats myfile.mv2 --json
# Verify integrity
memvid verify myfile.mv2
# Deep verification
memvid verify myfile.mv2 --deep
# Check for sidecar files
memvid verify-single-file myfile.mv2
Inspect Lock State
# Who holds the lock?
memvid who myfile.mv2
# Request release
memvid nudge myfile.mv2
Doctor Commands
# Preview what would be fixed
memvid doctor myfile.mv2 --plan-only
# Rebuild time index
memvid doctor myfile.mv2 --rebuild-time-index
# Rebuild lexical index
memvid doctor myfile.mv2 --rebuild-lex-index
# Rebuild vector index
memvid doctor myfile.mv2 --rebuild-vec-index
# Compact deleted frames
memvid doctor myfile.mv2 --vacuum
# Fix multiple issues
memvid doctor myfile.mv2 --rebuild-time-index --rebuild-lex-index
View Frame Details
# View by frame ID
memvid view myfile.mv2 --frame-id 1
# View by URI
memvid view myfile.mv2 --uri "mv2://docs/readme.md"
# JSON output
memvid view myfile.mv2 --frame-id 1 --json
# Preview media
memvid view myfile.mv2 --frame-id 1 --preview
Increasing Memory for Large Files
For large ingestion operations, you may need to increase available memory:
Environment variables:
# Set model cache directory
export MEMVID_MODELS_DIR=~/.memvid/models
# Enable offline mode (skip model downloads)
export MEMVID_OFFLINE=1
# Control parallel ingestion
export MEMVID_PARALLEL_SEGMENTS=1
CLI flags for parallel ingestion:
memvid put myfile.mv2 --input large-dataset/ \
--parallel-segments \
--parallel-threads 4 \
--parallel-queue-depth 8
Optimizing Ingestion Speed
- Use batch operations:
# Ingest entire directory at once
memvid put myfile.mv2 --input ./docs/
- Enable parallel segments:
memvid put myfile.mv2 --input ./docs/ --parallel-segments
- Skip embeddings for faster ingestion:
memvid put myfile.mv2 --input ./docs/ --no-embedding
- Use vector compression for smaller files:
memvid put myfile.mv2 --input ./docs/ --vector-compression
Cleaning Up Stale Files
If you see leftover files from older versions:
# Check for sidecars
ls -la myfile.mv2*
# Remove any leftover files
rm -f myfile.mv2-wal myfile.mv2-shm myfile.mv2.lock
# Verify clean state
memvid verify-single-file myfile.mv2
Getting Help
# General help
memvid --help
# Command-specific help
memvid create --help
memvid put --help
memvid find --help
memvid doctor --help
# Version info
memvid version
Verbose Output
Enable debug logging for troubleshooting:
# Increase verbosity
memvid -v find myfile.mv2 --query "test" # WARN
memvid -vv find myfile.mv2 --query "test" # INFO
memvid -vvv find myfile.mv2 --query "test" # DEBUG
memvid -vvvv find myfile.mv2 --query "test" # TRACE