About unfreeze
unfreeze is a gstack skill that clears the edit restriction established by /freeze, allowing edits across all directories. It reports the result and notes that the session’s /freeze hooks remain registered.
Key features
- 01Clears the freeze boundary
- 02Allows edits across directories
- 03Serializes boundary updates
- 04Reports the clear result
Use cases
- 01Resume editing after a freeze
- 02Remove directory edit restrictions on request
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ garrytan/ gstack --skill unfreezeAfter installing, type/unfreezein Claude Code to confirm it loaded.
Bundled filesSKILL.md.tmpl
Details
From the project README/unfreeze — Clear Freeze Boundary
Remove the edit restriction set by /freeze, allowing edits to all directories.
GSTACK_STATE_ROOT=$(~/.claude/skills/gstack/bin/gstack-paths --get GSTACK_STATE_ROOT); : "${GSTACK_STATE_ROOT:?gstack-paths failed; reinstall with ./setup or /gstack-upgrade}"
mkdir -p "$GSTACK_STATE_ROOT"/analytics
echo '{"skill":"unfreeze","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> "$GSTACK_STATE_ROOT"/analytics/skill-usage.jsonl 2>/dev/null || true
Clear the boundary
bash "$HOME/.claude/skills/gstack/freeze/bin/freeze-state.sh" clear
This is explicit user-requested removal, not investigation cleanup. The shared writer serializes it with acquisition, replacement and owner-checked release. On FREEZE_BUSY or unexpected state, leave everything untouched and report recovery; never delete state or a possibly active mutation lock directly.
Tell the user the result. Note that /freeze hooks are still registered for the
session — they will just allow everything since no state file exists. To re-freeze,
run /freeze again.