Claude Code에서 허용했는데도 권한을 묻는다면: 규칙·신뢰·모드 확인 순서
By ON Lab · Sources checked November 7, 2026
같은 명령을 허용했는데도 승인 창이 뜬다면, 먼저 요청된 도구와 명령 전체를 기록하고 /permissions에서 적용 규칙을 확인하세요. 허용 목록을 넓히기 전에 ask·deny 규칙, 프로젝트 신뢰 상태, 현재 모드를 각각 확인해야 합니다.
반복 승인 때문에 작업이 끊기는 문제와 특정 도구의 실행이 거부되는 문제는 결과가 다릅니다. 팝업을 없앴는데 작업이 거부된다면 해결된 것이 아닙니다. 이 글의 완료 조건은 원하는 한 작업이 허용 범위 안에서 실행되고, 확인이 필요한 다른 작업은 계속 확인을 받는 것입니다.
1. 어떤 요청이 반복되는지 한 건만 남기기
승인 창에 나온 도구 이름과 인수를 그대로 적습니다. 파일 수정인지, Bash 명령인지, WebFetch인지부터 나눕니다. git status를 허용했다고 다른 git 명령까지 허용됐다고 가정하지 마세요. 터미널 명령은 실행 전후에 추가된 옵션이나 명령 연결도 확인합니다.
| 관측한 결과 | 먼저 볼 항목 |
|---|---|
| 파일 수정은 진행되는데 명령만 묻는다 | 현재 모드와 해당 Bash 규칙 |
| 허용 규칙이 있는데 계속 묻는다 | 일치하는 ask 규칙과 실제 명령 인수 |
| 질문 없이 거부된다 | deny 규칙 및 dontAsk 모드 |
| 새로 받은 저장소에서만 허용이 사라진다 | 프로젝트의 workspace trust와 설정 범위 |
2. allow보다 먼저 적용되는 규칙 확인
공식 문서의 평가 순서는 deny, ask, allow입니다. 더 구체적인 allow가 넓은 deny를 예외로 바꾸는 방식이 아닙니다. 예를 들어 어떤 명령군을 deny로 막았으면 그 안의 특정 명령을 allow에 더해도 막힐 수 있습니다. ask에 일치하는 요청도 allow에 있다는 이유로 자동 승인되지 않습니다.
/permissions에서 해당 도구를 검색하고, 허용과 확인·거부 목록을 함께 읽으세요. 문제가 되는 규칙의 출처를 모른 채 deny를 지우지 않습니다. 조직 관리 규칙은 개인 설정이나 실행 인수로 덮어쓸 수 없으며, 관리자가 의도한 제한이라면 그대로 두고 허용된 작업으로 범위를 조정해야 합니다.
3. 설정을 저장한 곳과 신뢰한 폴더가 같은지 확인
사용자 설정, 공유 프로젝트 설정, 개인 프로젝트 설정은 적용 범위가 다릅니다. 사용자 설정은 ~/.claude/settings.json, 프로젝트 설정은 .claude/settings.json, 개인 프로젝트 설정은 .claude/settings.local.json을 확인합니다. 같은 이름의 파일을 다른 폴더에서 고쳤다면 현재 세션에 적용된다고 단정할 수 없습니다.
현행 공식 문서는 프로젝트의 allow 규칙과 additionalDirectories가 작업공간 신뢰를 수락한 뒤 적용된다고 설명합니다. 낯선 저장소가 자기 자신에게 실행 권한을 주지 못하게 하는 구분입니다. 반대로 제한하는 ask·deny는 이 신뢰 여부에 영향을 받지 않습니다. 따라서 프로젝트의 allow만 적용되지 않고 제한은 유지되는 상황이 생길 수 있습니다.
신뢰 화면이 나타나면 그 폴더가 부여하려는 명령·디렉터리를 먼저 읽으세요. 승인 여부는 해당 프로젝트를 확인한 사람이 결정해야 합니다. 신뢰 기록 파일을 직접 수정해 대화상자를 건너뛰는 방법은 이 확인 절차에 포함하지 않습니다.
4. 필요한 한 명령만 설정하는 예제
다음 JSON은 개인 프로젝트 설정에 둘 수 있는 작은 예시입니다. 기존 설정 전체를 이 내용으로 교체하지 말고 permissions 객체에 기존 값과 충돌하지 않게 병합하세요. 예시는 git 상태 조회 한 명령만 대상으로 하며 커밋·푸시·파일 수정 권한을 주지 않습니다.
{
"permissions": {
"allow": ["Bash(git status)"]
}
}
다른 범위의 deny나 ask가 같은 요청에 일치한다면 이 예시를 넣어도 결과가 바뀌지 않을 수 있습니다. /permissions에서 규칙이 보이는지 확인한 다음, 승인 창에 표시되는 실제 명령이 예시와 같은지 비교합니다. 규칙 문법에 맞는 JSON이라는 사실과 현재 세션에서 적용됐다는 사실을 구분하세요.
5. 모드 변경 후에도 결과를 확인하기
acceptEdits는 파일 편집과 일부 파일 명령을 자동 수락하지만 모든 Bash 요청을 허용하는 이름이 아닙니다. dontAsk는 원래 물어볼 요청을 자동 거부하므로 승인 창이 줄었다고 성공으로 판단하면 안 됩니다. auto 모드 역시 요청에 맞는지 분류기가 검토하는 방식이며 조직 제한을 해제하는 용도가 아닙니다.
한 번에 모드와 여러 설정을 함께 바꾸면 원인을 찾기 어렵습니다. 요청 한 건, 규칙 한 곳, 결과 한 건 순으로 기록합니다. 변경이 필요 없다면 설정은 유지하고, 관리 정책 때문에 실행할 수 없는 작업은 담당 관리자에게 정확한 도구·인수·규칙 출처를 전달하세요.
완료 확인과 되돌리기
- 원래 묻던 요청의 도구·인수가 기록과 같은지 확인합니다.
- 적용된 규칙의 출처와 의도한 범위를 확인합니다.
- 허용한 작업의 실제 결과를 읽고 성공 여부를 확인합니다.
- 범위를 넓히기 위해 임시로 넣은 규칙이 있으면 제거하고 설정을 다시 읽습니다.
아직 해결되지 않으면 운영체제, Claude Code 버전, 사용 인터페이스, 현재 모드, 적용 규칙과 재현 명령을 함께 남기세요. 비밀키나 사내 파일 내용은 제외합니다. 버전별 회귀 오류는 설정 문법 설명만으로 원인이 확정되지 않습니다.
검증 범위: 2026년 11월 7일 공식 권한 문서와 실제 독자 질문을 대조했습니다. 예시 JSON 구문을 확인했으며 Claude Code 인증 세션을 실행하거나 사용자의 권한을 변경하지 않았습니다. 특정 버전에서의 실행 성공을 보장하지 않습니다.