AI 뉴스 데일리English
← AI 도구 팁
Claude Code✓ 공식 문서로 확인10월 23일 수집

클로드 코드 도구 호출을 막은 규칙·훅·샌드박스를 safety_event로 확인하는 법

클로드 코드 v2.1.307부터 OpenTelemetry 로그에 claude_code.safety_event 이벤트가 나온다. 도구 호출을 거절하거나 승인을 물은 쪽이 권한 규칙인지 훅인지, auto 모드 분류기나 샌드박스인지를 category 값으로 가린다. 무인 실행이 어디서 왜 멈췄는지 찾을 때 쓴다.

  1. 텔레메트리를 켜고 로그 이벤트를 내보낸다. 이 이벤트를 따로 켜는 설정은 없고, 다른 이벤트와 함께 나간다.
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_LOGS_EXPORTER=console
claude
  1. event.name이 safety_event인 기록에서 category와 decision을 본다. 자주 나오는 값은 이렇다.
  • permission_rule, managed_policy는 거부·확인 권한 규칙이다. 어느 설정에서 왔는지는 rule_source에 있다.
  • hook은 PreToolUse나 PermissionRequest 훅이 걸린 경우다.
  • auto_mode_block은 auto 모드 분류기가 막은 경우다.
  • safety_check는 작업 디렉터리 밖을 읽거나 쓰는 것 같은 내장 점검이다. 점검 이름은 circuit_breaker에 나온다.
  • sandbox_network는 샌드박스 네트워크 프록시가 연결을 거절한 경우로, 거절 횟수가 sandbox_violation_count에 찍힌다.
  1. safety_event에는 명령, 파일 경로, 호스트 이름이 없다. 막힌 명령까지 보려면 도구 상세 로그를 켜고 같은 tool_use_id의 tool_decision 이벤트에서 tool_parameters를 읽는다. 이 설정을 켜면 Bash 명령과 파일 경로가 로그에 남으니 로그가 어디로 가는지 먼저 확인한다.
export OTEL_LOG_TOOL_DETAILS=1

-p 실행에 --permission-prompt-tool도 --permission-prompts none도 주지 않았다면, 답할 사람이 없어 거절된 호출은 safety_event를 남기지 않는다. 그때는 decision이 reject, source가 config인 tool_decision 이벤트를 찾는다.

새 팁이 올라오면 앱이 알려 드려요

팁 알림은 앱에서만 보내요. 앱을 설치하고 알림을 켜 두세요.

앱 받기

팁 전체 보기 →