Skip to content
Founders$49 once → 2 years of Pro ($98 value)Become Founder →
ClauLock

Getting started

Install, store a secret, use it.

Five minutes end-to-end. Assumes you already have Claude Code installed. Works on macOS, Linux, and Windows — the picker below detects your OS and shows the right command first.

1. Install

All three paths verify minisign before extracting. The picker shows the right command for your OS — switch tabs if you're on a different machine:

curl -fsSL https://claulock.com/install.sh | sh

macOS 13+ · Apple Silicon / Intel · verifies minisign + cosign before extracting

Homebrew (macOS · Linux) — alternative

brew tap claulock/tap https://releases.claulock.com/homebrew-tap.git && brew install claulock

On macOS / Linux the installer places binaries in /opt/homebrew/bin/ (or /usr/local/bin/), generates a random 24-byte passphrase, stores it in your Keychain or secret-service, and starts the daemon as a launchd / systemd user agent. On Windows the PowerShell installer (Windows PowerShell 5.1 or PowerShell 7, no admin) drops binaries under %LOCALAPPDATA%\ClauLock\bin, encrypts the passphrase via DPAPI, and registers the daemon as a per-user logon task so it is up — and unlocked — after every sign-in. All three paths merge the PreToolUse / PostToolUse Bash hooks and the claulock MCP server into ~/.claude/settings.json and ~/.claude.json without clobbering existing entries.

Prefer a direct download? Grab the signed tarball, .deb, .rpm, macOS .pkg, the Windows installer (-setup.exe), the Windows .msi for IT deployment, or Windows .tar.gz for your architecture from the latest release. Every artifact is signed (minisign over SHA256SUMS plus per-binary cosign sigs) — see Verify downloads below.

Windows note: the Windows installer installs the ClauLock app with everything it needs, without admin rights, and opens it when it finishes — the app sets up the vault and connects Claude Code, no terminal involved. The .msi is for IT deployment and installs the command-line tools only. Both ship unsigned for now. SmartScreen will show "Windows protected your PC" on first launch — click More info then Run anyway. Verify the download against the minisigned SHA256SUMS first if you want belt-and-suspenders. An Authenticode-signed build ships when the cert lands; until then the supply-chain story is identical to every other artifact in the release (same minisign + cosign chain).

1b. Verify downloads (optional but recommended)

Every release ships two independent signatures: a minisign signature over SHA256SUMS (covers every tarball, .deb, .rpm, and .pkg) and a cosign signature per shipped binary.

# 1. verify SHA256SUMS minisign -Vm SHA256SUMS -P \ RWSyx2T3dBSwgtWFkCgsVburcch3gocYhrhJD428hxwExlUIXyMvR6gY # 2. verify the tarball itself shasum -a 256 -c SHA256SUMS --ignore-missing # 3. (optional) verify an individual binary cosign verify-blob \ --key cosign.pub \ --signature clsec-macos-arm64.sig \ clsec

The public keys live in the repo at minisign.pub and cosign.pub, and are also attached to every release. Builds run on ClauLock's own CI, not on a rented platform; releases 1.5.0 to 1.5.2 additionally carry an SLSA Build L3 provenance file from the hosted pipeline of that period.

2. Verify the daemon

clsec status

Expect an Unlocked state, a socket at $TMPDIR/clsec-<uid>.sock, and a vault path of ~/.clsec/vault.clsec.

3. Store your first secret

From the CLI, ClauLock reads the value from stdin so it never appears in your shell history:

clsec add GITHUB_TOKEN --kind token --purpose "GitHub API"

You can also let Claude ask you directly. Start Claude Code and say "use the GitHub API to list my repos". Claude will call the secret_request_from_user tool; a password box appears in the Claude Code TUI; the value goes straight from that box into the local daemon. The chat transcript never sees it.

4. Use it in a Bash call

Ask Claude to hit GitHub. It will write something like:

curl -H "Authorization: Bearer {{GITHUB_TOKEN}}" https://api.github.com/user/repos

The PreToolUse hook rewrites the command to run under clsec-exec; the shim asks the daemon for the value; the daemon returns it over the Unix socket; the shim execves bash -lc with the placeholder substituted. The model sees the placeholder form in the transcript. Never the value.

5. Common commands

clsec list
Names and metadata only. Never values.
clsec rotate GITHUB_TOKEN
Replaces the value, preserves id and created_at.
clsec audit --limit 50
Every resolve / add / rotate / delete, with caller PID and binary.
clsec lock
Drops keys from memory. Auto-happens after 15 minutes idle.
clsec daemon log
Tails /tmp/claulock.{out,err}.log.

6. Uninstall

launchctl bootout gui/$(id -u)/com.claulock.daemon
rm ~/Library/LaunchAgents/com.claulock.daemon.plist
rm /opt/homebrew/bin/{clsec,clsecd,clsec-exec,clsec-mcp}
rm -rf ~/.clsec
security delete-generic-password -s claulock-passphrase -a $USER

Remove the claulock MCP server and Bash hooks from ~/.claude.json and ~/.claude/settings.json by hand.

Next

  • Read the security model for the full threat model and crypto parameters.
  • Skim the FAQ for the usual questions.
  • Read the source on GitHub.