name: freeze
description: >-
Scope-lock file editing to a specific glob pattern. Only files matching
the pattern can be edited until /unfreeze is called.
argument-hint: ""
user-invocable: true
allowed-tools: Write, Read
Freeze
Role: worker. This command restricts Write/Edit operations to files matching a glob pattern.
You have been invoked with the /freeze command.
Worker constraints
- Write only the freeze-state file; do not edit source.
- Do not enforce the lock yourself — the pre-tool-guard hook does.
- Be concise. Confirm the locked scope in one line.
Parse Arguments
Arguments: $ARGUMENTS
- Positional:
<glob-pattern>(required) — glob pattern for files that ARE allowed to be edited (e.g.,src/auth/**,*.test.ts)
If no pattern is provided, display usage and exit:
Usage:
/freeze <glob-pattern>Example:/freeze src/auth/**— only files undersrc/auth/can be edited.
Steps
1. Write freeze state
Write the following JSON to hooks/freeze-state.json:
{
"active": true,
"allowed_patterns": ["<glob-pattern>"],
"frozen_at": "<ISO timestamp>"
}
2. Confirm
Display:
Scope locked to
<pattern>. Only matching files can be edited. Use/unfreezeto lift the restriction.
Notes
- The
pre-tool-guard.shhook readshooks/freeze-state.jsonand blocks Write/Edit to files that do NOT match the allowed patterns. - Freeze state persists across tool calls within a session.
- If a session crashes while frozen, use
/unfreezein the next session to clear stale state. - Multiple patterns can be provided as comma-separated:
/freeze src/auth/**,src/middleware/**