기술

Claude Code가 프로젝트 밖 파일을 고치지 못하게 하는 설정 한 줄

Write 권한만 줘도 Claude Code는 상위 폴더에 파일을 만들 수 있습니다. 2.1.314부터 들어온 blockWritesOutsideWorkingDirectories 한 줄로 막아 본 결과입니다.

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로 열어 두면 됩니다.

김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.

esc

↑↓ 고르기↵ 열기? 단축키

해변에서 주운 것

읽으러 가기 →
guest@beachcombers — zsh

단축키

⌘K 또는 /
글·작업·개발일지 찾기
R
해변 산책 — 아무 글 하나 줍기
`
터미널 열기
←→
쪽 넘기기 (휠·스와이프도 됩니다)
?
이 안내
esc
닫기