
위험한 명령 차단
rm -rf /, main 브랜치 강제 푸시, DROP TABLE, curl | sh 같은 파괴적인 Bash 명령을 실행 전에 거부합니다.
- 토스트
- 도구 호출 가로채기
- UI 변경
v2.1.291에서 테스트됨
Claude Code 안전 가드 모드는 도구 실행 전에 위험한 셸 명령을 막고 비밀 정보를 대화에서 숨기며 파일을 보호합니다. 잡아내는 것과 놓치는 것을 설명합니다.

rm -rf /, main 브랜치 강제 푸시, DROP TABLE, curl | sh 같은 파괴적인 Bash 명령을 실행 전에 거부합니다.
v2.1.291에서 테스트됨
Claude Code 안전 가드 모드는 Claude가 하려는 작업을 확인하고 위험한 부분을 실행 전에 막습니다. 주요 역할은 rm -rf /나 main에 대한 force-push 같은 위험한 셸 명령을 차단하고, 비밀 정보를 숨겨 모델에 전달되지 않게 하고, .env나 lockfile 같은 파일을 수정으로부터 보호하는 것입니다.
핵심 훅은 tool.call입니다. 이 훅은 Bash, Edit, Write 같은 도구가 실행되기 직전에 실행되며, 모드는 next(e)로 호출을 그대로 넘기거나, { deny: reason }으로 거부하거나, 도구를 아예 실행하지 않고 { result }로 직접 답할 수 있습니다. 매처로 훅의 범위를 좁힐 수 있는데, 예를 들면 on('tool.call', { tool: 'Bash' }, ...)입니다. tool.check는 tool.call과 기존 PreToolUse 훅이 실행된 뒤에 허용, 확인 요청, 거부를 결정합니다.
비밀 정보를 숨기는 모드는 보내는 내용을 검사하거나 바꾸기 위해 prompt.submit을, 각 줄이 저장되기 전에 확인하기 위해 session.append를 사용하는 경우가 많습니다. 가드는 모든 호출의 경로에 놓이므로, 가드 자체의 버그 때문에 호출이 중단되거나 그대로 통과되지 않고 거부되도록 .catch 핸들러를 등록해야 합니다. 각 이벤트가 반환할 수 있는 값은 이벤트 레퍼런스에 나열되어 있습니다.
모든 안전 모드에는 도구 호출 가로채기가 표시됩니다. 그것이 이 모드의 목적이기 때문입니다. 그 밖에 무엇이 표시되는지 확인하십시오. 명령 가드는 토스트를 위한 UI 변경 외에는 거의 필요한 것이 없습니다. 프롬프트 읽기는 비밀 정보 필터라면 예상된 것이지만 명령 가드라면 예상 밖입니다. 안전 모드에 네트워크가 표시된다면 소스를 꼼꼼히 살펴볼 필요가 있습니다.
규칙 목록도 읽어 보십시오. 좋은 가드는 모든 패턴을 문서화하고, 각 패턴이 왜 있는지 설명하며, 오탐을 위한 허용 목록과 보고만 하는 경고 모드를 제공합니다.
패턴 가드는 샌드박스가 아닙니다. 어떤 정규식으로도 인식할 수 없도록 명령을 구성할 수 있으며, 모드는 사용자 권한으로 실행됩니다. 안전 모드는 일상적인 실수를 막는 보호 장치로 여기고, 직접 실행하지 않을 작업에 대해서는 권한 확인을 켜 두십시오. 모든 모드를 끈 세션이 필요할 때는 claude --safe-mode를 사용합니다.