Development record
After `unset CDPATH` on the line, the guard falls back to the hook environment's CDPATH, so a `cd name` that bash would resolve without CDPATH is still blocked: a false block for a person who exports CDPATH, the one group the new CDPATH block reaches. Left open by lane G on 2026-10-11 (iss-2610111600031244).
issueresolvedminoriss-2610111730597708
After unset CDPATH on the line, the guard falls back to the hook environment's CDPATH, so a cd name that bash would resolve without CDPATH is still blocked: a false block for a person who exports CDPATH, the one group the new CDPATH block reaches. Left open by lane G on 2026-10-11 (iss-2610111600031244).
Frontmatter
| id | iss-2610111730597708 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610111730597708-guard-unset-cdpath-still-blocks.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610111600031244The guard's script reader resolves a different file than bash runs in three ways: after `cd` it keeps the logical path (so `cd -P link && bash ../s.sh` judges the file beside the link while bash runs the one beside its target), it ignores `CDPATH`, and `source` of a bare name ignores a `PATH` prefix on the same command. Each lets a planted script carrying a bundled blocker run with exit 0.