immich-go
Manage and upload assets to Immich server
TLDR
Upload a Google Photos takeout file to Immich server
Import photos captured on June 2019, while auto-generating albums
Upload a takeout file using server and key from a configuration file
Examine Immich server content, remove less quality images, and preserve albums
Delete all albums created with the pattern "YYYY-MM-DD"
SYNOPSIS
immich-go [command] [global-options] [command-options] [arguments]
PARAMETERS
--server URL
Immich server URL (required unless saved)
--key KEY
API key for authentication (mutually exclusive with username/password)
--username USER
Username for login (mutually exclusive with key)
--password PASS
Password for login (mutually exclusive with key)
--insecure
Skip TLS certificate verification
--help, -h
Show help
--version, -v
Print version info
DESCRIPTION
immich-go is the official command-line interface (CLI) for the Immich self-hosted photo and video backup solution. It enables users to interact with an Immich server directly from the terminal, supporting tasks like uploading assets, managing libraries, searching photos, handling metadata, and configuring system settings.
Key capabilities include bulk uploads with album assignment, facial recognition integration via machine-learning commands, external library scanning, partner sharing, and calendar queries. Authentication uses username/password or API keys, with support for insecure TLS for testing.
Ideal for automation scripts, headless servers, or users preferring terminal workflows over the web UI. It requires a running Immich server and is built in Go for cross-platform use (Linux, macOS, Windows). Always check server compatibility as features evolve with Immich releases.
CAVEATS
Requires running Immich server v1.100+; some commands experimental. Use --insecure only for self-signed certs. Stores credentials insecurely unless using API key.
INSTALLATION
Run go install github.com/immich-app/immich-go/cmd/immich-go@latest
Or download prebuilt binaries from GitHub releases.
COMMON WORKFLOW
immich-go login --server https://your-immich.com --username user --password pass
Then immich-go upload ~/Photos --album 'Vacation'
SUBCOMMANDS
Core: login, upload, search, libraries. Full list via immich-go --help.
HISTORY
Developed by Immich team starting 2023 as Go rewrite of earlier CLI. Actively maintained alongside Immich core (v1.121+ full parity). Initial release coincided with Immich v1.90 mobile API expansions.


