source: GitHub releases
Release
Every blocked-pattern change, parser hardening, and CLI integration shipped to the guardrail.
Latest release
GitHub release$ gh release view v1.0.6
tag: v1.0.6
published: Jun 15, 2026
channel: stable
v1.0.6
- Fix
Changes
- fix: avoid duplicate home rule scope (#62) — When the user config path and the project config path resolve to the same file (e.g. running inside
$HOME), the rules config was loaded twice, producing duplicate rule entries. The policy loader now detects this viaresolve()andrealpathSync()and skips the redundant read.
Tests
- test: isolate home scope regression — Added dedicated tests to verify that rules are not duplicated when the home and project scopes overlap.
Thanks to @sQVe for reporting the issue in #61 .
Signal index
Find changes by signal
Jump straight to the releases that changed safety behavior, migrations, integrations, fixes, or docs.
Security
Latest matching releases
Jun 14, 2026
Jun 13, 2026
Jun 5, 2026
Dec 29, 2025
Breaking
Latest matching releases
Jun 5, 2026
Jun 5, 2026
May 7, 2026
Jan 7, 2026
Dec 29, 2025
Migration
Latest matching releases
Jun 14, 2026
Jun 5, 2026
May 7, 2026
Integration
Latest matching releases
Jun 14, 2026
Jun 14, 2026
Jun 5, 2026
Jun 5, 2026
May 7, 2026
Showing latest 5 of 17. The full chronological ledger stays below.
Fix
Latest matching releases
Jun 15, 2026
Jun 14, 2026
Jun 13, 2026
Jun 12, 2026
May 7, 2026
Showing latest 5 of 19. The full chronological ledger stays below.
Docs
Latest matching releases
Jun 14, 2026
Jun 5, 2026

Previous releases
v1.0.5
v1.0.5
- Migration
- Integration
- Docs
Changes
- kimi-code: resolve config from correct directory — Config path now resolves from
KIMI_CODE_HOME/.kimi-codeinstead of the legacyKIMI_SHARE_DIR/.kimi. - kimi-code: match PreToolUse hook to `Bash` tool — The hook matcher was targeting
Shellbut Kimi Code exposes the tool asBash. Updated to match the correct tool name.
Docs
- readme: note optional cc-safety-net skill for Kimi Code — Added a note about the
/cc-safety-netskill for configuring custom rules.
Jun 14, 2026
GitHub releasev1.0.4
v1.0.4
- Security
- Integration
- Fix
Bug Fixes
- opencode: write audit logs for blocked commands — When a command is blocked and a
sessionIDis present, the plugin now correctly writes an audit log entry. Previously, blocked commands in OpenCode sessions were not being logged. - opencode: inject audit log home directory — The plugin now accepts and forwards a
homeDirparameter to the audit logger, ensuring logs are written to the correct location.
Thanks to @johnatas-henrique for reporting the issue in #58 .
Jun 14, 2026
GitHub releasev1.0.3
v1.0.3
- Security
- Fix
Security Fix
- Bumped `shell-quote` to v1.8.4 — addresses a parsing vulnerability in the upstream dependency (#56)
Thanks to @joerawr for reporting the shell-quote vulnerability in #55.
Jun 13, 2026
GitHub releasev1.0.2
v1.0.2
- Fix
Bug fix: Preserve effective cwd when
cdtargets the current directory.Previously, commands like
cd .orcd /current/pathwould reset the effective cwd to unknown, potentially causing false-positive blocks on subsequent segments. The analyzer now resolvescdtargets and recognizes when the directory hasn't actually changed, keeping the cwd intact.Changes
- fix(analyze): Preserve effective cwd when
cdtargets the current directory - fix(explain): Align cwd trace with resolved cd-to-same-directory behavior
- test(rm): Assert
rm -rfstays allowed aftercdto current cwd
Jun 12, 2026
GitHub releasev1.0.1
v1.0.1
- Breaking
- Integration
- Docs
Features
- Expanded Pi shell tool safety analysis — Added support for custom working directories and additional tool adapters, broadening the scope of shell command interception.
Refactors
- Renamed `tool_use` → `tool_call` — Aligned internal event handling naming with upstream API terminology.
- Pruned unused exports — Removed dead exports, marked test-only helpers with
@internal, and updated AGENTS.md with new knip standards.
Docs
- Added plugin troubleshooting steps to README.
Jun 5, 2026
GitHub releasev1.0.0
v1.0.0
- Security
- Breaking
- Migration
- Integration
CC Safety Net v1.0.0
This project originally started as a Claude Code plugin and was previously known as "Claude Code Safety Net." With v1.0.0, it has been rebranded to CC Safety Net — where CC stands for Coding (agent) CLI — to reflect its expanded support for multiple coding agent platforms including Codex, Copilot CLI, Gemini CLI, Kimi CLI, Pi and more to come.
Highlights
- Rulebook-backed configuration — Custom rules now live under
.cc-safety-net/rules/with a declarative config, replacing the legacyverify-configworkflow. New CLI subcommands (rule init,rule list,rule migrate,rule remove) manage the full lifecycle. - Pi coding agent extension — Added Pi as a supported integration with hook support and doctor detection via runtime probe.
- Kimi CLI integration — Added as a supported coding agent with doctor detection, system info, and display.
- Centralized integration registry — Hook integrations are now driven by a shared metadata module with flag-based lookup, replacing per-integration boilerplate.
- Expanded destructive command detection — Better coverage for git long-option abbreviations, wrapper commands,
find -execnested analysis, awk escape decoding, ANSI-C quotes,timebuiltin prefixes, and shell variable targets inrm -rf.
Breaking Change: Custom Rules Migration
The custom rules system has moved from legacy inline config files to a rulebook-based layout. Legacy inline config files (
.safety-net.jsonand~/.cc-safety-net/config.json) are no longer loaded at runtime. If they contain rules, commands now fail closed (stay blocked) until you migrate. Please read more at here.Security & Reliability
- Fail closed on invalid hook input, analysis errors, and config loading failures.
- Expanded secret redaction (provider tokens, command substitution env assignments).
- Block git SSH env overrides and shell/awk analyzer bypasses.
- Resolve
rmtargets and TMPDIR symlinks before safety checks (TOCTOU hardening). - Rollback config and lock on
--delete-sourcefailure.
CLI & UX
- Renamed builtin OpenCode plugin export to
cc-safety-net. - Migrated env mode reading to
CC_SAFETY_NET_*prefixed variables. - Removed legacy
verify-configcommand flags. - Improved
rulecommand help output and formatting.
Internal
- Major refactor: modular
shell/,analyze/,rules/, andgit/directory layout. - Declarative CLI command dispatch with const-asserted command registry.
- Shared hook adapter, child-analyzer, and deny-output helpers to eliminate duplication.
- Added jscpd duplicate detection to CI checks.
- Comprehensive test coverage for all new features and edge cases.
Jun 5, 2026
GitHub releasev0.9.0
v0.9.0
- Breaking
- Migration
- Integration
- Fix
New Features
- Add Codex Plugin
- Add WorkTreeMode
Changed
- Add worktreeMode option to AnalyzeOptions and TraceStep
- Add linked worktree detection module
- Relax local git discards in linked worktrees
- Add SAFETY_NET_WORKTREE to CLI surfaces and explain
- Add AnalyzeNestedOverrides type and envAssignments to AnalyzeOptions
- Track cwd changes from env -C/--chdir in wrapper stripping
- Propagate env/cwd/worktree overrides through analyzeNested
- Propagate wrapper env/cwd to nested analysis in segment
- Handle remote parallel execution and wrapper info propagation
- Propagate wrapper env/cwd through xargs child analysis
- Track sudo/env chdir and split-string in wrapper stripping
- Track exported git context env vars across shell segments
- Propagate wrapper env/cwd through interpreters, BusyBox, parallel, and xargs
- Verify linked worktree config matches root before relaxing
- Tighten worktree relaxation for recursive submodules and double-force clean
- Support sudo --chdir and git context append env assignments
- Handle typeset, declare, and shell git context env assignments
- Track GIT_INDEX_FILE as git context override and verify gitdir backlink
- Fail-closed on dynamic git arguments and sudo chdir/login in worktree mode
- Track allexport mode and append assignments for shell git context
- Track keyword export and readonly in shell env context, improve builtin resolution
- Treat dynamic stdin and replacement tokens in parallel and xargs as non-worktree-safe
- Fail-closed on dynamic arguments, recursive submodules, and forced branch resets in worktree mode
- Physical path resolution and symlink hardening
- Track git config envs, keyword exports, readonly, and builtin
- Improve parallel placeholder detection and dynamic args handling
- Worktree hardening with PATH bypass and config env detection
- Seed exported names from process env and git config-affecting env vars
- Read local git config for recursive submodule check before invoking git binary
- Expand trusted git binaries and export for testing
- Add Windows Git binary paths to trusted binaries list
- Add Codex platform hook detection
- Color error messages red in hooks section
Breaking Changes
- Migrate slash commands to skills format
Fixed
- Keep ref-moving resets blocked, relax only local discards
- Use wrapper-resolved cwd in explain segment and disable fallback worktree relaxation
- Propagate env assignments and wrapper cwd into nested analysis
- Use platform-aware path separators for Windows compatibility
- Use wrapper cwd in xargs and parallel rm analysis
- Compare paths by inode identity with normalized realpath fallback
- Handle Windows native realpath prefixes in path comparison
- Handle double-quoted escapes in git config value parsing
- Treat missing trusted git binary as recursive submodule config enabled
- Parse commented JSON in Copilot CLI config files
- Handle Claude Code plugin list without blank separators
- Parse Codex config section headers with inline comments
- Use effective enabled state for Gemini CLI extension detection
- Exclude metadata email lines from Claude Code plugin block detection
Related Issues
- Issue #44: Relax destructive-change rules when running inside a git worktree
- Issue #47: [Feature]: Allow to bypass some rules
- Issue #46: [Feature]: Support for Codex (closed by PR #49)
Related PRs
May 7, 2026
GitHub releasev0.8.2
v0.8.2
- Integration
- Fix
Fixed
- Allow
rm -rffor explicit temp-directory targets such as/tmp/...,/var/tmp/..., and$TMPDIR/...even when the current working directory is$HOME- Move home-directoryrmclassification into the sharedrules-rmanalyzer so blocking decisions andexplainoutput follow the same target-aware pathRelated Issues
- Issue #41: False positives block legitimate cleanup operations and string literals in gh commands
Related PRs
- PR #42: fix(rules-rm): allow temp targets when cwd is home directory
Mar 25, 2026
GitHub releasev0.8.1
v0.8.1
- Integration
- Fix
New Features
- Detect
copilot-safety-netplugin installs indoctorviacopilot plugin list
Fixed
- Populate
configPathconsistently when Copilot CLI is detected through the plugin flow - Report
copilot-pluginas the config path for plugin-based Copilot CLI detection
Related PRs
- PR #40: feat: add copilot cli plugin detection to doctor command
Mar 24, 2026
GitHub releasev0.8.0
v0.8.0
- Integration
- Fix
New Features
- Add
doctorsupport for GitHub Copilot CLI, including detection of Safety Net hooks in repository hook files, user hook files, and inline Copilot settings with version-aware diagnostics. - Block
git switch --force,git switch --discard-changes, andgit checkout --force/-f.
Changed
- Show the detected Copilot CLI version in
doctoroutput and probe Copilot version commands more quickly and reliably. - Expand Copilot CLI setup documentation to cover hook-file and inline config variants, config precedence,
disableAllHooks, andCOPILOT_HOME.
Fixed
- Close a
TMPDIRpath traversal bypass so non-temp overrides cannot escape/tmp,/var/tmp, or the system temp directory. - Harden shell parsing so destructive commands are still detected inside redirects, nested command substitutions, arithmetic expansions, grouped subshells, process substitutions, and attached backticks.
- Fix
git checkoutargument parsing for ambiguous ref/pathspec cases and documented option variants without misclassifying value-taking flags such asgit switch -cfeature.
Mar 21, 2026
GitHub releasev0.7.1
v0.7.1
- Integration
- Fix
Core
- c439be8 fix: strip trailing separators in path normalization for cross-platform comparison
- 33012b1 fix: resolve cwd to absolute path in explain config
- 300ee42 fix: handle Windows path separators in rm command analysis
- a4db304 fix: windows path separator
Claude Code
No changes in this release
OpenCode
No changes in this release
Jan 25, 2026
GitHub releasev0.7.0
v0.7.0
- Integration
- Fix
Core
- 25c18a2 feat: add explain command and structured CLI help
- 976e382 fix: add fallback for missing timestamp in session ID
- e187b3f fix: rename outputDeny to outputCopilotDeny
- db01a91 feat: add GitHub Copilot CLI hooks integration
Claude Code
No changes in this release
OpenCode
No changes in this release
Thank you to 1 community contributor:
- @crmitchelmore:
- feat: add GitHub Copilot CLI hooks integration
- fix: rename outputDeny to outputCopilotDeny
- fix: add fallback for missing timestamp in session ID
Jan 23, 2026
GitHub releasev0.6.2
v0.6.2
- Integration
- Fix
Core
- 58cc257 feat: add doctor command diagnostics
Claude Code
- 44cb35c fix(windows): explicitly invoke cc-safety-net.js with node
OpenCode
No changes in this release
Thanks to @jacoballen4534 for identifying and suggesting the fix for Windows support in #21.
Jan 19, 2026
GitHub releasev0.6.0
v0.6.0
- Integration
- Fix
Core
- 5e3b4d8 feat: add statusline command
- b2eed5e fix: block commands that exceed recursion depth
Claude Code
- e121857 feat: add /set-statusline slash command
- 8b0bb67 fix: use local binary in hook instead of npx for faster execution
OpenCode
No changes in this release
Thanks to @lgandecki for identifying the npx performance overhead.
Jan 15, 2026
GitHub releasev0.5.1
v0.5.1
- Integration
Core
- 6f40164 feat: add builtin commands for opencode plugin
Claude Code
No changes in this release
OpenCode
No changes in this release
Jan 11, 2026
GitHub releasev0.5.0
v0.5.0
- Integration
- Fix
Core
- cfb5b25 fix: drain stderr in gemini hook tests
- 5075018 feat: add gemini cli compatibility
Claude Code
No changes in this release
OpenCode
No changes in this release
Jan 10, 2026
GitHub releasev0.4.1
v0.4.1
- Integration
- Fix
Core
No changes in this release
Claude Code
- 997bb25 fix(commands): simplify verify-custom-rules documentation
- 23dd9e1 fix(commands): improve set-custom-rules flow and schema documentation
OpenCode
- b656671 feat(.opencode): add OpenCode command definitions
Jan 8, 2026
GitHub releasev0.4.0
v0.4.0
- Breaking
- Integration
- Fix
Core
- 09aedb4 feat: add VERSION constant synchronization in bin file during publish
- 415509e feat: add plugin.json version synchronization in publish script
- e1ccc2d feat: add automated npm publishing script with changelog generation
- aac915e fix: use GITHUB_REPOSITORY env var in changelog script
- 02e0f7a feat: add schema build script
- 980e8b2 feat: auto-add $schema to config files during verification
- d464897 fix: improve TMPDIR override detection and implement strict mode
- 9b3e56c fix: handle TMPDIR edge cases in override detection
- e890307 feat: add paranoid mode support to OpenCode plugin
- a6abab9 fix: use cwd from hook input instead of tool_input.workdir
- 819ab9a fix: update HookInput type to match Claude Code schema
- e1a0700 fix: handle undefined cwd in loadConfig
- 1435c59 feat: display blocked segment in OpenCode plugin errors
- 2f58977 feat: display blocked segment in deny output
- 91acb1b feat: add AnalyzeResult type for structured block info
- 1e298cb feat: rewrite from python to typescript
Claude Code
- ac46e94 fix: remove extra quotes from hook command path
Jan 7, 2026
GitHub releasev0.3.2
v0.3.2
- Fix
v0.3.2 (2026-01-03)
Fix
- add AskUserQuestion tool to improve UX
Jan 2, 2026
GitHub releasev0.3.1
v0.3.1
- Fix
v0.3.1 (2026-01-02)
Fix
- Add cross-platform script execution compatibility
Jan 2, 2026
GitHub releasev0.3.0
v0.3.0
- Integration
- Fix
v0.3.0 (2026-01-01)
Feat
- add short option expansion to custom rule matching
- add commands for custom rules management
- detect find -exec rm -rf as destructive pattern
- add verify_config script for config validation
- integrate custom rules into hook analysis
- add custom rule matching logic
- add config loading module for user-configurable rules
Fix
- stop _short_opts parsing at non-alpha chars and -- marker
- Block rm -rf of cwd itself even when under /tmp/
Refactor
- improve verify_config output formatting
- return ValidationResult from validate_config_file
Jan 1, 2026
GitHub releasev0.2.0
v0.2.0
- Security
- Breaking
- Fix
v0.2.0 (2025-12-29)
Feat
- add audit logging for denied commands
- add paranoid mode environment variable checks
- detect dangerous commands via xargs and parallel
- block git worktree remove --force
- block git checkout <ref> <pathspec> without --
- block find -delete destructive command
Fix
- Add cross-platform script execution compatibility
- recognize rm -R (uppercase) as recursive and respect -- delimiter
- preserve case sensitivity for git branch -D detection
Refactor
- rename strict to paranoid for rm rule parameter
Dec 29, 2025
GitHub releasev0.1.0
v0.1.0
v0.1.0 (2025-12-26)
Feat
- initial implementation
Dec 25, 2025
GitHub release