New Features
- overlay: show full command with word-wrap instead of 120-char truncation
- overlay: smart regex suggestion for compound commands -- when some segments are already auto-allowed (readonly or existing rule), the suggested "yes/no always" rule targets only the uncovered portion (e.g.
ls && weird_cmdsuggests^weird_cmd, not^ls) - overlay: OSC 777 desktop notification before popup (Ghostty, iTerm2, Konsole). Inside tmux, wraps in DCS passthrough so notifications reach the outer terminal. Requires
set -g allow-passthrough onin tmux.conf
Bug Fixes
- compound: readonly segments count as covered in compound allow matching.
go test ./... | tail -50with user rule^gonow auto-allows (tail is readonly, filtered out). Previously fell through to overlay - overlay: cross-session queue lock now lives at
$(passthru_user_home)/passthru-overlay.lock.dinstead of$TMPDIR. On macOS$TMPDIRis per-process so two CC sessions would not serialize. Fixes native-dialog cascade when session B runs while session A has an overlay open - overlay: stale-lock recovery via mtime check. SIGKILLed hooks no longer leave zombie locks blocking every future overlay
- overlay: OSC notification writes to
/dev/ttyinstead of stdout (stdout is captured by CC as the hook's JSON response, so the OSC sequence never reached the terminal)
New env vars
PASSTHRU_OVERLAY_LOCK_TIMEOUT(default 180s)PASSTHRU_OVERLAY_LOCK_STALE_AFTER(default 180s)PASSTHRU_OVERLAY_UNALLOWED_SEGMENTS(set by hook, read by proposer)