Block Edit and Write outside one directory for the session to contain debugging or parallel agents. Triggers "freeze edits", "restrict edits to", "only edit this folder", "unfreeze".
Scanned 9/20/2026
Install to Claude Code
npx -y skills add darkroomengineering/cc-settings --skill freeze --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Freeze?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/darkroomengineering-freeze)More formats (shields.io, HTML) on the badges page.
---
name: freeze
argument-hint: "[set|off|status] [dir]"
description: Block Edit and Write outside one directory for the session to contain debugging or parallel agents. Triggers "freeze edits", "restrict edits to", "only edit this folder", "unfreeze".
context: main
allowed-tools: [Bash, AskUserQuestion]
---
# Freeze: Lock Edits to a Directory
## Standalone Codex: unsupported
Stop here in standalone Codex. The plugin does not install a freeze guard for
`apply_patch`, so this skill cannot enforce an edit boundary. Do not write
freeze state or claim a directory is locked. Tell the user the operation is
unsupported and use explicit file ownership as a convention only if they want
to continue without enforcement.
The remaining workflow is Claude-only.
Restrict `Edit` and `Write` to a single directory. Any edit targeting a file outside the boundary is **blocked** by the `freeze-guard` PreToolUse hook. State persists per session in `~/.claude/tmp/freeze-<sha256(sessionId)>.json`; setting, checking, or clearing one session's boundary leaves other sessions untouched. Legacy `freeze.json` state without a session tag is still honored when no session record exists. Legacy state tagged to another session is ignored without deleting it.
Note: notebook edits (`NotebookEdit`) and shell writes (`Bash`) are not gated — the boundary covers the file-editing tools only.
## Set the boundary
If the user named a directory, use it. Otherwise ask which directory to lock to (AskUserQuestion, free-text path). Then run, substituting the chosen path for PATH:
```bash
bun ~/.claude/src/scripts/freeze.ts set "PATH"
```
Confirm to the user that edits are now restricted to that path, and that they can lift it any time with "unfreeze".
## Lift the boundary
```bash
bun ~/.claude/src/scripts/freeze.ts off
```
## Check current state
```bash
bun ~/.claude/src/scripts/freeze.ts status
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!