Environment
- macOS (Darwin 27.0.0), zsh
- File: ~/.vibe-island/bin/vibe-island-bridge (header says "auto-generated, do not edit")
- Used as a Claude Code SessionStart:startup hook
What happens
Every session start fails (non-blocking) with:
SessionStart:startup hook error
/Users//.vibe-island/bin/vibe-island-bridge:45: unmatched "
Root cause
The generated script is truncated. Line 45 ends mid-command with an unterminated double quote:
rm -f "$HOME/.claude/hooks/vibe-island-bridge" "$HOME/
Inspecting the raw bytes: everything after this point up to the file's declared size (4251 bytes) is NUL (\0) padding. So the self-cleanup script was written incompletely / truncated, leaving zsh unable to parse it.
Expected
The generated bridge script should always be a complete, syntactically valid zsh script.
Body:
## 환경
- macOS (Darwin 27.0.0), zsh
- 파일: `~/.vibe-island/bin/vibe-island-bridge` (헤더에 "auto-generated, do not edit"라고 명시됨)
- Claude Code의 `SessionStart:startup` hook으로 등록됨
## 증상
세션을 시작할 때마다 다음 오류가 발생합니다 (non-blocking):
SessionStart:startup hook error
/Users/<me>/.vibe-island/bin/vibe-island-bridge:45: unmatched "
## 원인
생성된 스크립트가 중간에 잘려 있습니다. 45번째 줄이 명령어 도중에 끊기면서 닫히지 않은 큰따옴표로 끝납니다:
```zsh
rm -f "$HOME/.claude/hooks/vibe-island-bridge" "$HOME/
원시 바이트를 확인해 보니, 이 지점 이후부터 파일의 실제 크기(4251바이트)까지 전부 NUL(\0) 패딩으로 채워져 있습니다. 즉 self-cleanup 스크립트가 완전히 기록되지 못하고 잘린 상태로 저장되어, zsh가 파싱하지 못하는 것으로 보입니다.
기대 동작
생성되는 bridge 스크립트는 항상 완전하고 문법적으로 유효한 zsh 스크립트여야 합니다.
Environment
What happens
Every session start fails (non-blocking) with:
SessionStart:startup hook error
/Users//.vibe-island/bin/vibe-island-bridge:45: unmatched "
Root cause
The generated script is truncated. Line 45 ends mid-command with an unterminated double quote:
rm -f "$HOME/.claude/hooks/vibe-island-bridge" "$HOME/
Inspecting the raw bytes: everything after this point up to the file's declared size (4251 bytes) is NUL (\0) padding. So the self-cleanup script was written incompletely / truncated, leaving zsh unable to parse it.
Expected
The generated bridge script should always be a complete, syntactically valid zsh script.
Body: