Claude Code 권한 모드는 에이전트가 확인을 거치지 않고 수행할 수 있는 작업을 결정합니다. 네 가지 모드가 있습니다. plan은 읽기만 하고 아무것도 변경하지 않으며, default는 권한 규칙에 따라 수정 및 명령 실행 전에 묻고, acceptEdits는 확인 없이 파일 수정을 적용하지만 명령에 대해서는 여전히 물으며, bypassPermissions는 아무것도 묻지 않습니다. 이 중 하나를 선택하는 것은 해당 디렉터리에서 에이전트를 얼마나 신뢰하는지를 드러내는 일입니다.
요청을 입력하는 사람이 머신의 소유자가 아닌 순간, 이 결정은 한층 더 복잡해집니다. 이 글에서는 Claude Code가 정의하는 모드를 설명한 뒤, 공유 룸에서 무엇이 달라지는지 살펴봅니다.
네 가지 모드
plan. 에이전트는 파일을 읽고 검색하며 추론하여 계획을 세웁니다. 아무것도 수정하거나 실행하지 않습니다. “어떻게 할 것인지 알려줘”라는 상황이나, 코드를 변경해서는 안 되는 사람이 코드베이스를 탐색하도록 허용할 때 적합한 모드입니다.
default. 에이전트는 권한 규칙이 특정 도구나 패턴을 이미 허용하지 않는 한, 각 수정과 각 명령 실행 전에 묻습니다. 사용자가 직접 지켜보며 각 prompt가 실질적인 결정이 되는 페어링 작업에 좋습니다.
acceptEdits. 파일 수정은 prompt 없이 바로 진행되지만, 명령 실행 전에는 여전히 묻습니다. 잘못된 수정을 되돌리는 비용은 저렴하지만(버전 관리 대상이므로) 잘못된 명령을 실행하는 비용은 그렇지 않은 리포지토리에서 유용합니다.
bypassPermissions. 아무것도 묻지 않습니다. Anthropic의 가이드라인에 따르면, 실수나 인젝션된 지침이 사용자의 로컬 권한 전체를 가지고 실행되므로 이 모드는 샌드박스 처리된 일회용 환경 전용으로 둘 것을 권장합니다.
plan에서 bypassPermissions까지의 단계와 에이전트가 공유될 때 모드와 무관하게 일시 정지되는 네 가지 작업.
모드가 사람이 아닌 디렉터리에 관한 이유
권한 모드는 세션별로 설정되며, 이는 실질적으로 작업 디렉터리별로 설정됨을 의미합니다. 혼자 작업할 때는 이것이 적절한 단위입니다. 문서 리포지토리는 acceptEdits로, 인프라 리포지토리는 default로, 일회성 실험은 bypassPermissions로 실행할 수 있습니다.
하지만 다른 사람이 요청을 보낼 수 있게 되면 이것만으로는 부족해집니다. 그들의 요청은 내 세션의 모드로 실행됩니다. 코드를 읽기만 하면 되는 공동 창업자가, 내가 지난주에 스스로를 위해 설정해 둔 acceptEdits 때문에 이제 코드를 수정하게 되는 것입니다. 모드 자체에는 사람별 차원이 존재하지 않습니다.
룸에서 달라지는 점
muti 룸에서도 에이전트는 여전히 Claude Code 권한 모드를 가집니다. 이는 디렉터리에 대해 에이전트를 생성할 때 선택합니다. 그 위에 두 가지 장치가 추가됩니다.
사람별 권한. 소유자가 아닌 사람의 각 요청은 한 번 Approve되거나, 해당 에이전트에 대해 그 사람에게 부여한 상시 “Allow always” 적용을 받습니다. 상시 부여된 권한은 언제든지 Revoke할 수 있으며, 그 사람의 대기 중인 요청은 Cancel됩니다.
항상 일시 정지되는 네 가지 작업. 모드가 무엇이든, 어떤 권한이 부여되었든 간에 공유 브랜치로 push하기, 삭제하기, 비용 지출하기, 자격 증명 건드리기는 소유자의 확인을 받기 위해 멈춥니다. bypassPermissions 상태인 에이전트라 할지라도 요청이 다른 사람에게서 온 경우에는 여기서 일시 정지됩니다. 그 이유는 에이전트가 실행 전 항상 물어봐야 하는 네 가지 작업에서 다룹니다.
실무 가이드
- 다른 사람을 위한 코드 탐색:
plan모드로 에이전트를 생성합니다. 게스트가 질문할 수 있지만 디스크에서 변경되는 것은 없습니다. - 신뢰하는 사람들과의 일상적인 협업:
acceptEdits를 사용하고 이들에게 상시 권한을 부여합니다. 명령은 여전히 확인을 거치며, 네 가지 작업은 항상 일시 정지됩니다. - 나만의 일회용 샌드박스: 룸에 다른 사람이 없으므로
bypassPermissions도 괜찮습니다. 누군가를 Invite하는 순간 다시 검토해야 합니다. - 디렉터리에 프로덕션 자격 증명이 있는 모든 작업:
default를 사용하고 상시 권한을 두지 않으며, 해당 자격 증명이 필요 없는 부분에는 별도의 에이전트를 분리합니다.
자주 묻는 질문
룸이 Claude Code의 모드를 재정의하나요? 아닙니다. 모드는 실행 내에서 에이전트가 수행하는 작업을 여전히 제어합니다. 룸은 누가 실행을 시작할 수 있는지, 그리고 모드와 관계없이 어떤 작업이 일시 정지되는지를 추가합니다.
요청자가 모드를 선택할 수 있나요? 아닙니다. 소유자가 에이전트별로 선택합니다. 요청자는 요청 시 읽기 전용 동작을 요청할 수 있으며, 소유자는 승인 시 “continue read-only”로 응답할 수 있습니다.
공유 에이전트에서 bypassPermissions를 쓰는 것이 허용될 때도 있나요? 되돌릴 수 없는 일이 절대 일어날 수 없는 디렉터리에서만 가능하며, 그 경우에도 네 가지 작업은 일시 정지됩니다. 별도의 글에서 bypassPermissions가 나에게는 괜찮지만 다른 사람에게는 위험한 이유를 다룹니다.
Codex의 경우는 어떤가요? Codex도 비슷한 구조의 자체 승인 설정을 갖추고 있습니다. 룸에서는 사람별 권한과 네 가지 상시 정지 작업이 동일한 방식으로 적용됩니다.
디렉터리에 맞는 모드를 설정하고, 사람에 맞는 권한을 설정한 뒤, 네 가지 작업에 대한 확인을 거치게 하세요. 이것이 모델의 전부입니다. 실제로 확인해 보려면 에이전트에 룸을 만들어 보세요.
게시일