본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 28. 21:00

Claude Code의 권한 설계를 이해하여 「Do you want to proceed?」 줄이기

요약

Claude Code 사용 시 반복되는 확인 프롬프트를 줄이기 위한 권한(Permission) 설정 방법을 설명합니다. JSON 설정을 통해 특정 명령어와 디렉터리에 대한 실행 권한을 세밀하게 제어하는 가이드를 제공합니다.

핵심 포인트

  • JSON 파일을 통해 글로벌, 프로젝트, 로컬 단위로 권한 관리 가능
  • 와일드카드를 활용한 Bash 명령어 및 파일 시스템 권한 제어
  • allow와 deny 규칙을 조합하여 안전하면서 효율적인 작업 환경 구축
  • /fewer-permission-prompts 명령어로 최적의 권한 규칙 자동 제안

Claude Code를 사용하다 보면 명령어를 실행할 때마다 표시되는 「Do you want to proceed?」 확인 프롬프트가 나타납니다.

편리한 안전 장치이지만, 매번 멈추게 되면 작업 템포가 깨집니다. 권한 (Permission) 설정을 이해하여, 신뢰할 수 있는 작업은 확인 없이 실행할 수 있도록 만들어 봅시다.

Claude Code는 파일 편집, 셸 명령어 (Shell Command) 실행, 외부 통신 등 영향 범위가 큰 작업을 수행할 수 있습니다. 기본적으로는 미지의 작업에 대해 확인 프롬프트를 띄움으로써 의도하지 않은 변경을 방지하도록 설계되어 있습니다.

권한은 JSON 파일로 관리합니다.

파일스코프 (Scope)용도
~/.claude/settings.json글로벌 (Global)모든 프로젝트 공통 설정
.claude/settings.json프로젝트 (Project)팀 공유 설정 (git 관리)
.claude/settings.local.json프로젝트 로컬 (Project Local)개인 재정의 설정 (gitignore 권장)

설정은 user → project → local 순으로 읽히며, 나중에 읽힌 것이 우선됩니다.

permissions.allow 배열에 규칙을 추가합니다.

{
  "permissions": {
    "allow": [
      ...
    ]
  }
}
"Bash(명령어 *)"

*는 와일드카드 (Wildcard)로, 후속 인자 모두와 매치됩니다.

규칙매치되는 예시
"Bash(git *)"git status, git log, git commit -m "..."
"Bash(gh issue list *)"gh issue list --repo vitejs/vite --state open
"Bash(python3 *)"python3 script.py, python3 -c "..."
"Bash(npm run test)"npm run test (완전 일치)
"Edit(/path/to/dir/)" // 지정 디렉터리 이하의 파일 편집을 허용
"Write(/path/to/dir/)" // 지정 디렉터리 이하로의 파일 생성을 허용
"Read" // 모든 읽기를 허용 (인자 없음)

OSS 기여를 위해 GitHub CLI와 학습 노트 편집을 허용하는 예시:

{
  "permissions": {
    "allow": [
      ...
    ]
  }
}

deny를 사용하면 allow보다 우선하여 작업을 거부할 수 있습니다.

{
  "permissions": {
    "allow": ["Bash(git *)"],
    "deny": ["Bash(git push --force)"]
  }
}

이렇게 하면 git 명령어 전반은 허용하면서, git push --force만은 반드시 확인 프롬프트를 띄울 수 있습니다.

"Bash(*)"와 같이 모든 명령어를 허용하는 것은 위험합니다. rm -rf나 의도하지 않은 부작용이 있는 명령어도 그대로 통과되어 버립니다.

좋은 설계의 지침:

  • 실제로 사용하는 명령어·디렉터리만 allow에 추가한다
  • 넓은 규칙을 사용할 경우 deny로 위험한 작업을 차단한다
  • 불분명한 명령어는 기본 확인 프롬프트에 맡긴다

Claude Code에는 과거의 트랜스크립트 (Transcript)를 분석하여 "자주 사용하는데 매번 확인하고 있는 작업"을 자동으로 탐지하고, allow 리스트에 추가할 것을 제안해 주는 명령어가 있습니다.

/fewer-permission-prompts

처음부터 설정을 작성하는 것보다, 먼저 이 명령어로 후보를 뽑아내는 것이 효율적입니다.

설정용도
Bash(명령어 *)셸 명령어를 허용
Edit(/path/)파일 편집을 허용
Write(/path/)파일 생성을 허용
deny특정 작업을 명시적으로 차단

권한 설정을 적절히 정비하면, 확인 프롬프트를 줄이면서도 안전성을 유지할 수 있습니다. 처음에는 좁은 스코프로 시작하여, 사용하면서 조금씩 넓혀가는 것을 추천합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0