You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No warranty. Use at your own risk. This tool performs bulk and destructive operations directly against your Immich server. A wrong flag, unexpected server response, or bug can cause permanent data loss. Keep a verified backup, test with non-critical data, and use --dry-run before changing anything. This project is not affiliated with Immich.
What You Can Do
Area
Capabilities
Start here
Asset management
Inspect, upload, download originals or thumbnails, verify remote files, copy metadata, update metadata, and trash or permanently delete assets
assets --help
Albums and sharing
Create, rename, delete, and manage album assets; add users to matching albums in bulk; merge albums; download or mirror an album locally
albums --help, cw add-users-to-album-with-pattern, cw merge-album, cw download-album
Find and organize
Search by filename, type, camera, location, date, status, OCR, or description; emit pipeable asset IDs; manage tags and tag assignments
search metadata --help, tags --help
Repair and replace
Replace an asset while preserving its Immich metadata; locate missing thumbnails; repair malformed JPEG/TIFF files; remove Google Takeout JSON sidecars
Check and correct assets that do not fit date-named albums; find visually similar library assets for a local image
cw fix-album-dates, cw find-similar
Watch folders
Watch local folders and upload new files, or download matching assets as they appear
cw watch-upload, cw watch-download
Server workflows and users
List, inspect, and read logs for Immich server-side workflows; look up users and the authenticated account
immich-workflow --help, users --help
Automation
Preview changes with --dry-run, bypass prompts with --yes, pass IDs through files or stdin, use JSON/IDs-only output, and retrieve agent instructions from the binary
immich-admin return-agent-skill
Run immich-admin --help for the complete command tree.
Use With an AI Agent
Give an agent such as Hermes this prompt:
Download the latest release of immich-admin-cli from https://github.com/dhcgn/immich-admin-cli/releases and make the binary available on PATH.
Before using it, run `immich-admin update --check`; install an available update before performing work. Then run `immich-admin return-agent-skill`, read the generated instructions, and save them as your persistent skill for future immich-admin-cli tasks.
Use the skill and the CLI's --help output as the source of truth for commands and flags. Use `--json` when you need more complete, structured information than the human-readable output provides. For every operation that can change Immich data or local files, run it with --dry-run first, show the planned effect, and ask for confirmation before using --yes or --force.
Keep the Immich server up to date. immich-admin-cli follows the current Immich API specification, so an outdated server can lack commands or behavior expected by a newer CLI release.
In-Depth Guide
Read Client Workflow Guide for workflow safety, repair criteria, album synchronization behavior, external-tool requirements, and copyable command examples.
Motivation
immich-admin-cli provides command-line and automation support for bulk Immich tasks that are not available in the web interface, including conversion, repair, and deletion of photo assets.
The generated agent skill (immich-admin-cli/SKILL.md) describes every command for AI agents. The CLI also supports machine-readable --json output, pipeable --ids-only IDs, --dry-run previews, and non-interactive --yes flags. Retrieve the current skill from the binary with immich-admin return-agent-skill.
Self-Update
immich-admin update checks the latest GitHub release for a build matching the current OS/architecture and, on confirmation, replaces the running executable in place and restarts it via gh-update.
immich-admin update # check, prompt, then install
immich-admin update --check # only check, don't install
immich-admin update --yes # install without prompting
Release binaries are named immich-admin_<os>_<arch>[.exe] without a version number so self-update can replace the running file. Use immich-admin --version or the release tag to see the installed version.
API Coverage
28 of 250 endpoints implemented (24 deprecated and 2 internal endpoints omitted per project policy).