Orchestration
sops exec handles one file. Hush merges multiple sources (shared + env + local), interpolates variables (${API_URL}), and routes them to specific monorepo targets.

Install the Claude Code / OpenCode skill, then let AI handle the rest:
npx @chriscode/hush skillOnce installed, just ask your AI: “Set up Hush for this project”
# Install Hushnpm install -D @chriscode/hush
# Initialize confignpx hush init
# Encrypt your secretsnpx hush encryptIs Hush just a wrapper around SOPS and dotenv?
Yes, and that’s the point.
Hush is an orchestration layer that solves the “Human + AI” workflow problem that raw tools ignore:
Orchestration
sops exec handles one file. Hush merges multiple sources (shared + env + local), interpolates variables (${API_URL}), and routes them to specific monorepo targets.
AI Safety
Standard tools assume a human operator. Hush assumes an AI assistant. hush set and hush inspect allow AI agents to manage secrets without ever seeing the plaintext values.
Cross-Platform
Works on macOS, Linux, and Windows. Handles shell differences and provides native GUI prompts for secret entry when running in non-interactive modes (like AI agent sessions).
Encrypted at Rest
Secrets stay encrypted on disk. hush run decrypts to memory only. No plaintext .env files for AI to accidentally read.
# Initialize configurationnpx hush init
# Encrypt your .env filesnpx hush encrypt
# Run with secrets (decrypts to memory only!)npx hush run -- npm start
# Run with production secretsnpx hush run -e production -- npm build
# Add a secret interactively (AI-safe)npx hush set DATABASE_URL
# Push to Cloudflare Workersnpx hush pushAI coding assistants are incredibly helpful, but they can accidentally expose your secrets:
cat, grep, or shell tricksHush keeps secrets encrypted at rest—there are no plaintext .env files to read:
hush run -- <command> decrypts secrets to memory and runs your commandhush set <KEY> lets AI help add secrets without seeing the valuesNEXT_PUBLIC_* to frontend, server secrets to APIsources: shared: .env development: .env.development production: .env.production
targets: - name: app path: ./app format: dotenv include: - EXPO_PUBLIC_*
- name: api path: ./api format: wrangler exclude: - EXPO_PUBLIC_*One command. All packages. Correct secrets.