Install
Rawback ships as a standalone binary for Linux, macOS, and Windows on x86-64 and arm64. It does not require Node.js or Bun once installed.
macOS with Homebrew
Install the signed and notarized macOS binary from Rawback's Homebrew tap:
brew install --cask rawback-app/tap/rawbackUpgrade it later with brew upgrade --cask rawback-app/tap/rawback.
Linux and macOS installer
The installer selects the correct release for your operating system and CPU, verifies its SHA-256 checksum, and installs it into ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/rawback-app/cli/main/install.sh | shThe installer never edits your shell startup files. If ~/.local/bin is not already on PATH, add it yourself. You can also choose another user-owned directory:
curl -fsSL https://raw.githubusercontent.com/rawback-app/cli/main/install.sh | \
RAWBACK_INSTALL_DIR="$HOME/bin" shWindows PowerShell
Run the PowerShell installer to place rawback.exe in $HOME\.local\bin:
irm https://raw.githubusercontent.com/rawback-app/cli/main/install.ps1 | iexSet $env:RAWBACK_INSTALL_DIR first if you prefer another directory. The installer warns when the destination is not on PATH.
Manual installation
Download the archive for your operating system and CPU, along with checksums.txt, from the GitHub releases page. Verify the archive, extract rawback (rawback.exe on Windows), and move it to a directory on PATH.
Windows binaries are not currently Authenticode-signed. macOS binaries are Developer ID-signed and notarized.
Verify the install
rawback --version
rawback --helpQuick start
1. Sign in
rawback auth
rawback auth statusrawback auth securely prompts for your email and password. Access and refresh tokens are stored in ~/.rawback/credentials.json, and expired access tokens are refreshed automatically when possible.
2. Explore your account
Once authenticated, these commands give you a quick view of your Rawback library:
rawback photos list
rawback dream list
rawback album list
rawback shares list
rawback uploads
rawback usage
rawback pricing
rawback webUse context-specific help whenever you need to discover options without leaving the terminal:
rawback photos list --help
rawback album article --help
rawback shares list --helpUpload photos
CLI uploads use an SFTP credential tied to your Rawback account. Create one first; its generated password is displayed only once, so save it before continuing.
rawback cred add --name "My computer"Create ~/.rawback/config.yml with the account slug shown by rawback auth status and the generated password:
sftp:
endpoint: sftp://ftp.rawback.app:2222
username: your-account-slug
password: 'generated-password'On Linux and macOS, protect the configuration because it contains a password:
chmod 600 ~/.rawback/config.ymlPreview the work before transferring anything, then run the upload:
rawback photos upload --path ~/Pictures/Export --dry-run
rawback photos upload --path ~/Pictures/ExportDirectories are scanned recursively. You can increase parallel transfers when your network and server can sustain them:
rawback photos upload --path ./photos --concurrency 8Interrupted uploads resume safely using local progress state, and files already uploaded are skipped. Symbolic links and unsupported files are ignored; a selection containing no supported images fails without starting a transfer.
Supported image formats include JPEG, PNG, WebP, GIF, TIFF, HEIC/HEIF, BMP, and AVIF. Supported RAW formats include CR2, CR3, NEF, ARW, DNG, RAF, ORF, PEF, RW2, SRW, and X3F.
Common workflows
Search and filter photos
Search filenames and metadata, combine filters, or limit results to a capture window:
rawback photos list --search "Iceland"
rawback photos list --camera-make Sony --rate 4,5 --has-gps
rawback photos list \
--captured-after 2026-01-01 \
--captured-before 2026-02-01Build albums and publish stories
rawback album create --name "Iceland" --permission private
rawback album view 42
rawback album image add 42 108
rawback album article edit 42 \
--title "Iceland in winter" \
--content-file story.md
rawback album article publish 42Album articles accept Markdown from a file, which makes longer stories easy to edit, review, and version locally.
Review dreams, shares, and uploads
# Inspect an AI-generated daily recap
rawback dream list
rawback dream get 42
rawback dream retry 42
# Browse incoming shares and manage an outgoing link
rawback shares list --scope with-me --type photo
rawback shares list --kind link --access restricted --expiry valid
rawback shares recipients 7
rawback shares link 7 --copy
rawback shares disable 7
# Find failed transfer sessions
rawback uploads --status failedCredential management is available under both rawback credentials and its shorter rawback cred alias:
rawback cred list
rawback cred add --name "Home workstation"
rawback cred del 7Automation and JSON output
Add --json to data-oriented commands for structured, undecorated output designed for scripts and AI agents:
rawback photos list --page-size 10 --json
rawback dream get 42 --json
rawback shares list --scope with-me --type album --json
rawback usage --jsonRedirected human-facing output stays line-oriented and omits cursor-control sequences. JSON output, article --content-only, and --version remain undecorated whether output is interactive or redirected.
Use the command's exit status to detect failures. Keep agent calls bounded with explicit pagination and filters. Destructive operations require confirmation in an interactive terminal; commands that expose --force can be made non-interactive only when you explicitly opt in.
Files and security
Rawback keeps CLI state in ~/.rawback/:
| File | Purpose |
| ------------------------ | --------------------------------------------------- |
| credentials.json | Access and refresh tokens created by rawback auth |
| config.yml | Optional API/web hosts and SFTP upload settings |
| upload-progress.sqlite | Resume history and trusted SFTP host keys |
Credential and upload-state files are created with restrictive permissions on Unix. Because you create config.yml yourself, upload commands require mode 0600 on Unix. Never commit this directory or paste its secrets into issues, logs, or automation output.