Skip to content

dropbox/dbxcli

Repository files navigation

dbxcli: Dropbox from the command line

CI Go Report Card

dbxcli is a scriptable Dropbox CLI for files, shared links, teams, and automation workflows. It is built for humans at the terminal, scripts, CI jobs, and agent-style workflows.

Why use dbxcli?

  • Work with Dropbox from the terminal
  • Upload and download files, folders, and streams
  • Create, inspect, update, revoke, and download shared links
  • Use JSON output for scripts and automation
  • Pipe generated content directly into Dropbox
  • Manage team workflows with member-scoped access

Quickstart

dbxcli login
dbxcli ls /
dbxcli put local.txt /remote.txt
dbxcli get /remote.txt ./remote.txt
dbxcli share-link create /remote.txt

For automation, use structured command output and JSON help discovery:

dbxcli ls --output=json /
dbxcli --help --output=json
dbxcli put --help --output=json

Stable JSON error codes and process exit codes are documented in Automation and JSON output.

Common workflows

Upload a file:

dbxcli put report.pdf /Reports/report.pdf

Upload without overwriting:

dbxcli put --if-exists fail report.md /Reports/report.md

Upload from a pipe:

tar cz ./project | dbxcli put - /Backups/project.tgz

Download to stdout:

dbxcli get /Backups/project.tgz - | tar tz

Create a shared link:

dbxcli share-link create /Reports/report.pdf

In text mode, share-link create prints only the shared-link URL to stdout:

url="$(dbxcli share-link create /Reports/report.pdf)"

Troubleshooting

Why can uploading to /remote.txt fail on team accounts?

Some team accounts may not have a writable Dropbox root namespace. Run dbxcli ls / first, then upload under a writable folder, such as your personal folder or a team folder.

Features

  • File operations: ls, cp, mkdir, mv, rm, put, and get
  • Recursive upload and download with put -r and get -r
  • Pipe-friendly transfers with stdin upload and stdout download
  • Conflict control with put --if-exists overwrite|skip|fail and cp/mv --if-exists fail|skip
  • Shared-link creation, listing, inspection, update, revoke, and download
  • Search, file revisions, restore, flexible sorting, and time formatting
  • Chunked uploads for large files and paginated listing for large directories
  • OAuth login with refreshable saved credentials
  • Direct token automation with DBXCLI_ACCESS_TOKEN
  • Alternate saved-credential files with DBXCLI_AUTH_FILE
  • Structured JSON success and error envelopes for migrated commands
  • JSON help manifests for machine-readable command discovery
  • Team administration commands and member-scoped access with --as-member

Installation

Homebrew

brew install dbxcli

Release archives

Download the archive for your platform from the releases page, verify its checksum, and install the dbxcli binary somewhere on your PATH.

Linux example:

curl -LO https://github.com/dropbox/dbxcli/releases/download/vX.Y.Z/dbxcli_X.Y.Z_linux_amd64.tar.gz
curl -LO https://github.com/dropbox/dbxcli/releases/download/vX.Y.Z/SHA256SUMS
grep 'dbxcli_X.Y.Z_linux_amd64.tar.gz' SHA256SUMS | sha256sum -c -
tar -xzf dbxcli_X.Y.Z_linux_amd64.tar.gz
sudo mv dbxcli_X.Y.Z_linux_amd64/dbxcli /usr/local/bin/

Release assets include:

  • dbxcli_X.Y.Z_darwin_amd64.tar.gz
  • dbxcli_X.Y.Z_darwin_arm64.tar.gz
  • dbxcli_X.Y.Z_linux_amd64.tar.gz
  • dbxcli_X.Y.Z_linux_arm64.tar.gz
  • dbxcli_X.Y.Z_linux_arm.tar.gz
  • dbxcli_X.Y.Z_openbsd_amd64.tar.gz
  • dbxcli_X.Y.Z_windows_amd64.zip
  • SHA256SUMS

Build from source

go install github.com/dropbox/dbxcli/v3@latest

Or build from a clone:

git clone https://github.com/dropbox/dbxcli.git
cd dbxcli
go build .

Support posture

dbxcli is maintained in the Dropbox GitHub organization by Dropbox engineers, but it is not a formally supported Dropbox product. Use GitHub issues and pull requests for bugs and contributions; Dropbox Support does not provide support for this CLI. The CLI implements a practical subset of Dropbox API features, not the full API surface.

Command reference

The complete generated command reference is available here:

For command-specific help, run:

dbxcli --help
dbxcli put --help
dbxcli share-link --help
dbxcli share-link create --help

For machine-readable command discovery, use JSON help:

dbxcli --help --output=json
dbxcli put --help --output=json

Deeper documentation

Generated Cobra command docs live under docs/commands/, and CI verifies they stay in sync with the CLI.

Contributing

Useful resources

About

A scriptable Dropbox CLI for files, shared links, teams, and automation workflows

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages