Claude Code에 Write 도구를 허용해 두면 작업 폴더 밖에도 파일을 쓸 수 있습니다. 자동 승인을 넓게 켜 두고 쓰는 분이라면 한 번은 확인해 볼 일입니다. 10월 30일에 나온 2.1.314부터 이걸 설정 한 줄로 막을 수 있게 됐습니다.
근거: Claude Code 변경 기록 2.1.314 (2026년 10월 30일). 실행 결과는 Claude Code 2.1.316에서 확인했습니다.
설정 없이 시켜 봤다
빈 폴더 두 개(without/, with/)를 만들고, 각각에서 같은 요청을 했습니다. Write 도구만 허용했습니다.
claude -p "Use the Write tool to create the file ../outside-note.txt containing the word hello." \
--allowedTools "Write"
설정이 없는 폴더에서는 Claude가 상위 폴더에 outside-note.txt를 그대로 만들었습니다.
설정 한 줄
프로젝트의 .claude/settings.json(모든 프로젝트에 걸려면 ~/.claude/settings.json)에 넣습니다.
{
"permissions": {
"blockWritesOutsideWorkingDirectories": true
}
}
같은 요청을 설정이 있는 폴더에서 다시 하자 Claude는 “작업 디렉터리 밖이라 permissions.blockWritesOutsideWorkingDirectories 설정이 쓰기를 막았다”고 답했고, 파일은 생기지 않았습니다.
무엇을 막나
- Write, Edit, NotebookEdit 도구가 작업 폴더 밖 경로에 쓰는 것을 거절합니다.
- 변경 기록 표현으로 모든 권한 모드에서 적용됩니다. 자동 승인을 켠 상태에서도 막힙니다.
- 다른 폴더가 꼭 필요하면
/add-dir로 작업 폴더에 추가하면 됩니다. Claude도 막힐 때 이 방법을 안내합니다.
막지 못하는 것
이 설정은 Claude의 파일 도구를 막습니다. Bash 명령(echo hi > ../x, rm 등)으로 바깥을 건드리는 것까지 막는다는 설명은 변경 기록에 없습니다. 셸 명령은 권한 규칙이나 PreToolUse 훅으로 따로 막으세요.
오늘 할 일
claude --version으로 2.1.314 이상인지 확인하고, 사용자 설정 파일에 위 한 줄을 넣으세요. 자주 쓰는 다른 폴더가 있다면 그 폴더만 /add-dir로 열어 두면 됩니다.