Dotfiles and config
Shell, git and editor config, ~/.config, package-manager settings. Caches, node_modules and build output stay behind.
EnvRelay teaches your coding agent to move a development machine. It finds your dotfiles, keys, repositories, software and AI agent setup, packs what you approve into one encrypted file, and puts it all back on the new machine.
curl -fsSL https://envrelay.com/install.sh | sh
No sudo. Every download is checked against the release's SHA256SUMS. Read the script
Then ask your coding agent
Back up this machine with EnvRelay.
Restore my environment from backup.envrelay.
Install once, then ask in your own words. The agent does the work; you approve what it proposes and type the passphrase yourself.
The agent goes through the machine the way you would with a free afternoon, and leaves behind whatever can be rebuilt.
Shell, git and editor config, ~/.config, package-manager settings. Caches, node_modules and build output stay behind.
SSH keys, cloud CLIs, tokens. Each one named for your OK, copied without being read, restored at 0600.
Pushed repositories travel as a list and are cloned again. One with unpushed work travels whole, .git included.
Homebrew, npm, cargo, pipx, apt and more, as a list. Each name is checked, and nothing installs without your OK.
Config, memory, hand-written skills and hooks for Claude Code, Codex, Cursor and the rest. Sessions: none, recent or all.
Projects, notes and documents. For Photos, Mail or Notes, you export from the app, and the export travels.
Moving a machine is mostly remembering, which agents are good at. A passphrase must never enter an agent's context, so it never does.
the brain
Markdown and a few standard-library Python scripts. It decides what to carry, copies it, writes a manifest, and replays it on the new machine.
the lock
Four commands and nothing else. No state, no network. It asks for the passphrase in your own terminal, not in the agent's.
encryptdecryptinspectverify
the decisions
Approve the list, type the passphrase, and say yes to each install.
Four hard rules in the skill, and a file format you can open without us.
The agent prints the command and you run it. You type the passphrase at its prompt, so it never lands on a command line, in an environment variable or in shell history.
The result is one file on your disk. A USB stick, AirDrop, your own cloud: where it goes next is up to you.
Credentials come back at 0600 (0700 for folders), and a file already on the new machine is never overwritten.
MCP servers and hooks run on their own, so each one is shown with the command it runs before it comes back. Strike any of them.
Package names from a backup are checked with the package manager itself, and each install waits for your OK.
A backup is age (scrypt) over tar and zstd, so the standard tools open it:
age -d backup.envrelay | zstd -d | tar -xp
No recovery, no back door, and nobody who can help, us included. Put it in your password manager before you encrypt.
Any agent that reads Agent Skills. The installer puts the skill where they look for it.
macOS 11 or later and Linux, on x86_64 and arm64. On Windows, use WSL.
Prefer a skill manager? npx skills, gh skill, ClawHub and the Claude Code and Copilot plugins work too. Other ways to install
curl -fsSL https://envrelay.com/install.sh | sh
Found EnvRelay useful? A star means a lot, and it helps other people find it.