# Install gphotos-uploader-cli with Homebrew

Command-line tool to mass upload media folders to Google Photos. Version 5.1.0 via Homebrew; verified 2026-07-29.

## Install

```sh
sudo av install brew:gphotos-uploader-cli
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gphotos-uploader-cli
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:gphotos-uploader-cli
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gphotos-uploader-cli>
- **Version:** 5.1.0
- **Source summary:** Command-line tool to mass upload media folders to Google Photos
- **Homepage:** <https://gphotosuploader.github.io/gphotos-uploader-cli/>
- **Repository:** <https://github.com/gphotosuploader/gphotos-uploader-cli>
- **Upstream docs:** <https://gphotosuploader.github.io/gphotos-uploader-cli/>
- **License:** MIT
- **Source archive:** <https://github.com/gphotosuploader/gphotos-uploader-cli/archive/refs/tags/v5.1.0.tar.gz>
- **Last updated:** 2026-07-29T16:05:05+02:00
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- gphotos-uploader-cli (cli)
- gphotos-uploader-cli (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 5.1.0
- Package-manager updated: 2026-07-29
- Local data: ok
- Upstream repository: https://github.com/gphotosuploader/gphotos-uploader-cli
- Upstream latest detected: v5.1.0 (current)
## Project history and usage

Google Photos uploader CLI is a Go command-line tool for uploading local media folders to Google Photos accounts, with configuration-driven jobs, OAuth credentials, secret backends, album rules, filters, and resumable upload behavior.

### Project history

The GitHub README explains the original motivation: Google's own uploader covered macOS and Windows, while this project brought a command-line uploader to Linux and other systems that can compile a Go program.

The changelog records early public packaging work in 2018, concurrent upload support in June 2019, secret backend support, a repository transfer into the GPhotos Uploaders organization, and later major releases adapting to Google Photos API scope and authentication changes.

### Adoption history

The project is packaged in Homebrew and documented for macOS and Linux users who want unattended or repeated uploads rather than a desktop sync tool. Its GitHub metadata shows a medium-sized user base for a niche Google Photos automation client, with hundreds of stars and forks.

Adoption is constrained by Google Photos API behavior and OAuth setup. The configuration documentation asks users to create a Google Cloud project, enable the Google Photos Library API, configure OAuth consent, create desktop app credentials, and place client credentials in the HJSON configuration.

### How it is used

Users configure `~/.gphotos-uploader-cli/config.hjson` with API app credentials, account email, secret backend choice, and one or more jobs. Jobs identify source folders, album behavior, delete-after-upload behavior, and include or exclude patterns.

The changelog shows the CLI growing around real upload concerns: token refresh, resumable uploads, duplicate album handling, file tracking, album listing, media-item listing, redirect URL configuration, and Google Photos API scope changes.

### Why package nerds care

The package is interesting because it turns a cloud-photo workflow into a Unix-style batch command. That makes it useful for NAS boxes, photo ingest scripts, headless machines, and users who want a package-managed tool instead of a GUI uploader.

It also demonstrates the maintenance cost of cloud CLIs: OAuth flows, API scopes, quota avoidance, token storage, and upstream API client changes all show up in package history even when the command's user-facing purpose stays simple.

### Timeline

- 2018-09-20: 0.1.11 added GoReleaser-based binary publishing after releases.
- 2019-06-18: 0.2.0 added support for five concurrent uploads and introduced the changelog.
- 2019: 0.3.0 added multiple secret backends through keyring support.
- 2019: 0.6.0 recorded the repository transfer to the GPhotos Uploaders organization.
- 2023: 4.0.0 added client cache behavior, album and media-item listing commands, and progress bars.
- 2025-06-05: 5.1.0 adjusted OAuth redirect URL handling for the auth command.

### Related projects

- Related projects include the gphotosuploader Google Photos API client for Go, Google Photos Library API tooling, keyring-backed secret storage libraries, GoReleaser, and other backup or upload CLIs.

### Sources

- <https://github.com/gphotosuploader/gphotos-uploader-cli>
- <https://github.com/gphotosuploader/gphotos-uploader-cli/blob/main/CHANGELOG.md>
- <https://github.com/gphotosuploader/gphotos-uploader-cli/blob/main/README.md>
- <https://github.com/gphotosuploader/gphotos-uploader-cli/blob/main/docs/configuration.md>
- <https://github.com/gphotosuploader/gphotos-uploader-cli/releases>
- <https://gphotosuploader.github.io/gphotos-uploader-cli/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.gphotos-uploader-cli/config.hjson

## Credential files

- Unix: ~/.gphotos-uploader-cli/config.hjson
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gphotos-uploader-cli
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable


## Related links

- [Source-control packages](https://pkg.so/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://pkg.so/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Archive and compression packages](https://pkg.so/archive-compression-tools/) - Matched archive or compression metadata.
- [go](https://pkg.so/brew/go/) - Build dependency declared by Homebrew.
- [immich-cli](https://pkg.so/brew/immich-cli/) - Shares pkgdb curated category or tags: backup, cli, media, upload.
- [lux](https://pkg.so/brew/lux/) - Shares pkgdb curated category or tags: cli, go, media.
- [aom](https://pkg.so/brew/aom/) - Shares pkgdb curated category or tags: cli, media.
- [yt-dlp](https://pkg.so/brew/yt-dlp/) - Shares pkgdb curated category or tags: cli, media.
- [svt-av1](https://pkg.so/brew/svt-av1/) - Shares pkgdb curated category or tags: cli, media.
- [handbrake](https://pkg.so/brew/handbrake/) - Shares pkgdb curated category or tags: cli, media.
- [gallery-dl](https://pkg.so/brew/gallery-dl/) - Shares pkgdb curated category or tags: cli, media.
- [media-info](https://pkg.so/brew/media-info/) - Shares pkgdb curated category or tags: cli, media.
- [exif](https://pkg.so/brew/exif/) - Local package facts share a topical domain. Shared terms: cli, command-line, line, media, photos.
- [immich-go](https://pkg.so/brew/immich-go/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, go, media, photos.

## Combined YAML source

View the package source record on GitHub. [combined/gphotos-uploader-cli.yml](https://github.com/mxcl/pkgdb/blob/main/combined/gphotos-uploader-cli.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- cross-ecosystem install command graph
