최신글

Claude Code 권한 관리 - deny, Auto mode, Skill 자동 호출 제어

반응형

Claude Code를 쓰다 보면 하며 안되는 작업(예: 건드리면 안 되는 파일을 수정)을 하거나, 의도하지 않은 skill이 자동 호출되는 상황을 막는 방법을 정리했습니다.
- 원본 영상: https://youtu.be/RjLlIC9InDI?si=qLwkqZQdW1ReVJeS

 

수행하면 안 되는 작업은 permissions.deny로 막는다

[영상 9:50] permissions.deny에 등록된 작업은 Claude가 시도할 때마다 거부됩니다. . 설정 위치는 두 곳입니다. $HOME/.claude/settings.json은 사용자 전역에, $PROJECT_WORKSPACE/.claude/settings.json은 해당 프로젝트에만 적용됩니다.

 

예를 들어 package.json 수정을 금지하려면 다음과 같이 설정합니다.

{
  "permissions": {
    "deny": [
      "Edit(package.json)"
    ]
  }
}

 

settings.json을 직접 수정하기 번거로우면 Claude Code의 /permissions 커맨드나 fewer-permission-prompts로 설정하는 방법도 있습니다

 

Auto mode: 위험도 판단을 Claude에게 맡긴다

[영상 38:00] Auto mode는 사용자가 권한 확인에 개입하지 않아도 되는 모드입니다. Claude Code가 명령어의 위험 여부를 스스로 판단해 자동 수락합니다. deny가 “무조건 막을 것”을 못박는 반면, auto mode는 나머지 판단을 Claude에게 위임합니다.

 

Skill은 disable-model-invocation으로 명시적 호출만 허용한다

[영상 13:00] Skill은 name과 description을 보고 Claude가 스스로 호출을 결정합니다. 그래서 description이 넓게 걸리는 skill은 내가 원하지 않는 순간에도 호출당할 수 있습니다. 이를 막는 방법이 disable-model-invocation입니다. disable-model-invocation: true로 설정하면 Claude는 해당 skill을 자동으로 호출하지 못하고, 사용자만 slash command로 호출할 수 있습니다.

name: example
description: example
disable-model-invocation: true

 

참고자료

반응형