VSCode extension that makes git-crypt repositories work in the Source Control panel.
VSCode's extension host process uses a minimal PATH that often excludes directories like /opt/homebrew/bin — even when VSCode is launched from a terminal with the full PATH configured. This means the git-crypt clean/smudge filter fails with git-crypt: command not found, which can prevent the entire repository from loading in the SCM panel.
On macOS and Linux, the extension ships a bundled git-crypt binary. No separate installation needed — the extension appends its binary to PATH so git's clean/smudge filters just work. If you already have git-crypt installed, your version takes precedence.
Git-crypt files are also decorated with a lock badge so you can identify them at a glance.
Lock badges refresh automatically when Git detects repository changes, including newly tracked files and .gitattributes updates.
With the extension installed, git-crypt files work like any other file in the Source Control panel — double-click to diff, stage with the + icon, etc.
- Repository must be unlocked (
git-crypt unlock) - VSCode >= 1.85.0
- macOS and Linux: git-crypt is included automatically
- Windows: Not supported (git-crypt has limited Windows support)
To install git-crypt system-wide (outside VSCode), run the git-crypt: Install git-crypt to system PATH command from the command palette.
Search "git-crypt" in the Extensions view, or run:
code --install-extension j-256.git-crypt-vscode- The lock badge appears on all git-crypt files in the file explorer, not just changed ones
See CONTRIBUTING.md for development setup, architecture, and release workflow.
The cover launches a pinned VS Code build with the extension in an isolated profile and a disposable git-crypt repository. It requires git-crypt; Linux also requires a display, supplied by xvfb-run -a in CI. The capture downloads VS Code on first use and keeps its cache under tools/cover/.vscode-test. Install the capture tooling with npm ci --prefix tools/cover and npm exec --prefix tools/cover -- playwright install chromium, then run npm run capture:cover. Use -- --output FILE to write a review image elsewhere. CI captures during source verification and retains the image as an artifact. Successful main builds publish a changed docs/screenshots/cover.png with an image-only commit; pull requests render without publishing, and superseded revisions skip publication.
The project cover is rendered at 4x pixel density while preserving its logical viewport, so enlarged previews retain more detail. Higher density does not increase the displayed text size; use zoom to inspect small labels.
MIT
