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
curl -fsSL https://claulock.com/install.sh | sh Linux arm64 / x86_64 · glibc 2.31+ · same signature verification chain
irm https://claulock.com/install.ps1 | iex Windows 10 1803+ · arm64 / x86_64 · drops binaries under %LOCALAPPDATA%\ClauLock\bin
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 clsec rotate GITHUB_TOKEN clsec audit --limit 50 clsec lock clsec daemon log /tmp/claulock.{out,err}.log.
6. Uninstall
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.