Up and running in seconds
The CLI is available in Owlfiles for macOS. It is the Owlfiles application binary itself and reuses the connections and saved logins you already set up in the app, so there is nothing extra to configure.
Run it from Terminal using its full path:
/Applications/Owlfiles.app/Contents/MacOS/Owlfiles connections
To save typing, add a shell alias. For the default zsh shell, add this to ~/.zshrc, then open a new Terminal window:
# Add this to ~/.zshrc, then open a new Terminal window
alias owlfiles="/Applications/Owlfiles.app/Contents/MacOS/Owlfiles"
After that, you can simply type owlfiles — the examples below assume this alias.
Addressing files
Most commands take an address in the form <connection>:<path>, where connection is the name shown by owlfiles connections.
MyNAS:/Documents/report.pdf— a file on the connection named “MyNAS”.GDrive:1zeRs1TUOYxMwVdYJdHF_ikAaRCMYMcwp— Google Drive uses an ID as its path.local:~/Desktopor~/Desktop— files on your Mac. If no connection is specified, the path is treated as a local disk path.
If a connection name contains a space, wrap the whole address in quotes, for example “my NAS:/Documents”. For cloud services, you can use a file’s ID in place of its path; the ID is shown in the results of the ls command.
Common commands
Each command returns exit status 0 on success and a non-zero status on failure, with errors written to standard error — so the CLI works well inside shell scripts.
# List your connections (name and protocol)
owlfiles connections
# List a folder (-a includes hidden files)
owlfiles ls "my NAS:/Documents"
owlfiles ls -a MyGoogleDrive:'1WlBH4KpOcIWgNKVVBRmUd5'
# File info / metadata (type, size, modified date)
owlfiles info "my NAS:/Documents/report.pdf"
# Search by keyword (case-insensitive)
owlfiles search "my NAS:/Documents" invoice
owlfiles search Dropbox report.pdf
# Make a folder
owlfiles mkdir "my NAS:/Documents/Archive"
# Copy across connections (NAS → cloud uses the file ID)
owlfiles cp "my NAS:/Documents/report.pdf" GDrive:'1WlBH4KpOBl8WXj31pOcIW'
owlfiles cp /Users/me/Desktop/photo.jpg "my NAS:/Photos"
# Move / rename, also across connections
owlfiles mv "my NAS:/Documents/report.pdf" MyOneDrive:'CF8821A253295DA6!142'
# Delete (no confirmation prompt — use with care)
owlfiles rm "my NAS:/Documents/old.txt"
# Full command summary
owlfiles --help
Good to know
Names and sign-in
Run owlfiles connections to see exact names, and quote any name with a space. If a connection asks you to sign in, open it once in the Owlfiles app — the CLI reuses the same saved login afterwards.
Local files and the sandbox
Owlfiles runs in the macOS App Sandbox. The CLI can reach a folder on your local disk only after you have opened it once in the Owlfiles app. Files on your remote and cloud connections are not affected.