File encryption CLI for encrypting and decrypting files with public keys, SSH keys, or passphrases.
$brew install age
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis
age is a file encryption CLI and format for encrypting files or stdin streams with explicit recipients instead of config-heavy key management. The project also ships age-keygen for native key generation and age-inspect for reading file metadata without decrypting.
What It Enables
- Encrypt files or piped data to one or more recipients, recipients files, SSH public keys, or a passphrase, then decrypt them from scripts or shell pipelines.
- Generate native X25519 or post-quantum hybrid key pairs and derive shareable recipient strings from identity files.
- Inspect encrypted files without decryption to see recipient stanza types, armor status, post-quantum usage, and size breakdowns;
age-inspect --jsonsupports scripting.
Agent Fit
- The main commands are non-TUI, stdin/stdout-oriented, and explicit about inputs, outputs, recipients, and identities, so they compose cleanly in shell workflows.
- Structured output exists for inspection via
age-inspect --json, but the main encrypt and decrypt path mostly streams bytes and human-readable errors rather than rich machine-readable state. - Works well as a local primitive for protecting artifacts, secrets, or handoff files inside a larger workflow; less useful as a broad service-control surface.
Caveats
- Passphrase entry, password-protected SSH keys, and some plugin flows require terminal interaction, which limits unattended use.
- JSON support is limited to
age-inspect;ageandage-keygendo not expose comparable structured output modes.