The 5am CLI

Your media hub from the terminal. Single Go binary. JSON-by-default. Built for scripts, automations, and AI agents.

Latest: v0.9.4·Released May 11, 2026

Quick install

One-liner for the typical setup. Pick your platform below for other architectures or to verify integrity.

# macOS (Apple Silicon) — most common
curl -L -o 5am https://cli.5am.app/cli/latest/5am-darwin-arm64
chmod +x 5am
sudo mv 5am /usr/local/bin/
5am --version

Download

Every binary is stripped, statically linked (CGO_ENABLED=0), and ~14 MB. Verify each download against its .sha256 file.

macOS — Apple Silicon
M1, M2, M3, M4
Download
5am-darwin-arm64
14.5 MB
sha2561314e348febc8e7e37799dd796243407124d986931fe3c1c058c0f740d6ee1f0
macOS — Intel
Older Macs
Download
5am-darwin-amd64
15.4 MB
sha25606ce0784a8d4591fc1a04957ea836e9ec2f361055a8cf9ea79bb58be0db2df41
Linux — x86_64
Most servers
Download
5am-linux-amd64
15.3 MB
sha2569f459f5a78f3311a38e2f364a62e36102fa8a09a23b55d19347a7cd8a3afb787
Linux — ARM64
Raspberry Pi 4+, AWS Graviton
Download
5am-linux-arm64
14.4 MB
sha2561baff8ba971e12f5ebb5af4ed5d271b3b6fb26d345aadaa013545cf3c8a478ef
Windows — x64
Most PCs
Download
5am-windows-amd64.exe
15.5 MB
sha256d780d58792688994ef706b7dec2fd861983e3446e2af31b45d07393460eb08dd

Verify integrity

Each binary has a published .sha256 file alongside it. After downloading, confirm the hash matches:

curl -sS https://cli.5am.app/cli/latest/5am-darwin-arm64.sha256 | shasum -a 256 -c
# → 5am-darwin-arm64: OK

Full machine-readable manifest with sizes, hashes, and version metadata: manifest.json

Use it with an AI agent

The CLI ships with a companion SKILL.md that follows the Agent Skills open standard. Drop it into Claude Code, Gemini CLI, or any compatible tool, and the agent will recognize prompts like “upload these photos to a new album” and reach for the 5am binary on its own.

# Claude Code (personal — applies to all projects)
mkdir -p ~/.claude/skills/5am
curl -L https://cli.5am.app/cli/latest/SKILL.md -o ~/.claude/skills/5am/SKILL.md

# Or project-local (gets committed alongside your code)
mkdir -p .claude/skills/5am
curl -L https://cli.5am.app/cli/latest/SKILL.md -o .claude/skills/5am/SKILL.md

Download SKILL.md →

First steps

Mint a token in the web UI (Settings → CLI Access Tokens → Generate), then:

5am login                # paste the token at the prompt
5am whoami               # confirm
5am albums list
5am account --pretty

# Upload a directory recursively
5am media upload ./photos -r --include '*.jpg,*.mp4' --album <id> --concurrency 8

# Download an entire album
5am albums download <id> --output ./trip --concurrency 8

# Generate media from a prompt
5am media generate image --prompt "a cybernetic owl at dawn" --output owl.png

What’s in the box

JSON by default

Every command returns parseable JSON on stdout. Pipe to jq and chain.

Meaningful exit codes

2 auth, 3 validation, 4 network, 5 server. Branch on them.

Parallel uploads & downloads

Worker pool, presigned URLs, no client-side size limit on video.

AI characters & webhooks

Spin up scoped characters, chat with them, route their events to your services.

Local-machine skills

Read/write files, run commands, process video with FFmpeg — all local.

No dependencies

Single static binary. CGO_ENABLED=0. Drop it in /usr/local/bin and go.

Need details? See the launch post or the full command reference in the project’s README.md.

Issues or feedback? File them in our issue tracker — early adopters shape the roadmap more than anyone else.