실전
머신을 망가뜨리지 않고 전체 권한 쓰기
자리를 비웠을 때 에이전트를 쓸모없게 만드는 것은 승인 요청이고, 노트북에서 그것을 끄면 오후 하나가 날아갑니다. 해법은 용기가 아닙니다. 다시 만들어도 괜찮은 곳에 에이전트를 두는 것입니다.
빠른 답변
--dangerously-skip-permissions는 모든 도구 호출을 묻지 않고 실행합니다. Anthropic은 격리된 컨테이너나 VM에서만 쓰라고 하며, Claude Code는 root에서 이를 거부합니다. 운영 비밀 정보가 없는 버려도 되는 서버나 컨테이너에서 root가 아닌 사용자로 실행하세요. 아니면 분류기가 안전한 작업을 승인하는 자동 모드를 쓰세요. Anthropic의 모바일 앱으로는 세션을 바이패스로 전환할 수 없습니다.
Claude Code는 영향이 있는 일을 하기 전에 묻습니다. 책상 앞이라면 괜찮습니다. 힐끗 보고, 승인하고, 계속하면 됩니다. 책상을 떠나 있으면 작업이 멈춥니다. 20분짜리 작업의 3단계에서 에이전트가 멈추고 40분 뒤에야 올 탭을 기다립니다. 맡긴 이유가 지켜보지 않아도 된다는 것이었는데 말이죠.
그래서 사람들은 --dangerously-skip-permissions에 손을 뻗습니다. 이 플래그는 잘못된 머신에서는 위험하고 올바른 머신에서는 합리적이며, 그 차이는 얼마나 조심하느냐가 아닙니다. 에이전트가 의도하지 않은 일을 했을 때 무엇에 손이 닿느냐입니다. 이 페이지는 이 플래그가 실제로 하는 일, root에서 실행되지 않는 이유, 이를 정당화할 수 있는 구성, 그리고 Codex, OpenCode, Grok Build, Antigravity의 대응 기능을 다룹니다.
바이패스가 실제로 허용하는 것
Claude Code에는 여섯 가지 권한 모드가 있습니다. Anthropic의 권한 모드 페이지는 이렇게 설명합니다. 표의 순서는 문서를 따랐습니다. default는 Manual 모드의 설정 이름이며, 세션이 시작하는 모드가 아닙니다.
| 모드 | 묻지 않고 실행되는 것 | Anthropic이 말하는 "적합한 용도" |
|---|---|---|
default (수동) | 읽기만 | 민감한 작업 |
acceptEdits | 읽기, 파일 편집, 일반적인 파일 시스템 명령 | 검토 중인 코드를 반복 수정 |
plan | 읽기, 그리고 자동 모드를 쓸 수 있으면 분류기가 승인한 명령 | 변경 전 탐색 |
auto | 모두 (백그라운드 안전 검사 포함) | 긴 작업, 요청 줄이기 |
dontAsk | 읽기와 미리 승인한 도구. 나머지는 모두 거부 | 잠금된 CI |
bypassPermissions | 모두 | 격리된 컨테이너와 VM 전용 |
바이패스는 .git과 Claude 자체 설정 같은 보호 경로에 대한 쓰기를 포함해 모든 도구 호출을 즉시 실행합니다. 그래도 유지되는 것이 몇 가지 있습니다.
- 설정의 거부 규칙은 바이패스를 포함한 모든 모드에서 차단합니다. 허용 규칙은 바이패스에서 효과가 없습니다.
- 명시적인 묻기 규칙은 여전히 묻습니다.
- 중요한 경로를 겨냥한
rm과rmdir은 여전히 묻습니다. 파일 시스템 루트, 최상위 디렉터리, 홈 디렉터리, 작업 디렉터리와 그 상위가 대상입니다.
바이패스가 주지 않는 것은 프롬프트 인젝션이나 확신에 찬 잘못된 명령에 대한 방어입니다. Anthropic 문서도 분명히 말합니다. Claude Code가 호스트를 손상시킬 수 없는 격리된 환경에서만 쓰세요.
Claude Code v2.1.283부터 터미널과 VS Code의 대화형 세션은 기본 제공 설정에서 자동 모드로 시작합니다. 두 번째 모델이 각 작업을 검토해 클라우드 스토리지의 대량 삭제, force push, 승인과 샌드박스를 끈 다른 에이전트 루프 실행 같은 위험한 작업을 막습니다. 모든 확인을 없애지 않으면서 대부분의 요청을 없애 줍니다. 지원되는 모델이 필요하며, 조직이 끌 수 있습니다. 작업에 자동 모드로 충분하다면 바이패스는 아예 필요 없을 수도 있습니다.
비슷해 보이는 두 플래그
--dangerously-skip-permissions는 세션을 바이패스 상태로 시작합니다.--permission-mode bypassPermissions와 같습니다.--allow-dangerously-skip-permissions는 Shift+Tab 순환에 바이패스를 추가할 뿐입니다. 세션은 일반 모드로 시작하고, 원할 때 바이패스로 전환합니다.
두 번째가 중요한 이유는 바이패스를 활성화하지 않고 시작한 세션에서는 바이패스로 들어갈 수 없기 때문입니다. 나중에 쓸 수도 있다면 실행할 때 정해야 합니다. --allow- 형태가 그 신중한 방법입니다. 일부러 전환하기 전까지 세션은 평소처럼 동작합니다.
바이패스를 켜고 처음 대화형으로 실행하면 경고 대화 상자가 나옵니다. 수락하면 ~/.claude/settings.json에 skipDangerousModePermissionPrompt: true가 기록되고, 거절하면 Claude Code가 종료됩니다. -p를 쓰는 비대화형 실행에서는 대화 상자가 나오지 않습니다. 관리자는 관리형 설정에서 permissions.disableBypassPermissionsMode: "disable"로 모든 사람에게 이 모드를 막을 수 있습니다.
root에서 실패하는 이유
Linux와 macOS에서 Claude Code는 root나 sudo로 바이패스 모드 시작을 거부합니다.
--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons
Claude Code가 인식하는 샌드박스 안에서는 이 검사를 건너뛰며, Anthropic의 dev container가 root가 아닌 사용자로 실행하는 것도 그 때문입니다. root로 로그인하는 일반 VPS라면 먼저 일반 사용자를 만드세요. VPS 설정 가이드에 명령 세 줄이 있습니다.
여러 다양한 서버에서 Maude 데몬으로 Claude Code를 실행하며 실용적인 세 가지를 배웠습니다.
- root에서는
--allow-형태도 실패했습니다. Claude Code 2.1.x에서의 테스트에서, 순환에서 바이패스가 빠지는 데 그치지 않고 실행 시점에 프로세스가 종료되었습니다. 이 플래그를 붙이는 래퍼는 먼저 사용자 ID를 확인해야 합니다. 그렇지 않으면 root 서버의 모든 세션이 죽습니다. - 오래된 버전은 플래그를 아예 거부합니다. 이 플래그를 모르는 CLI도 같은 방식으로 종료됩니다. 넘기기 전에
claude --help에 나오는지 확인하세요. - 새 머신에서 테스트하세요. 내
~/.claude/settings.json에는 경고를 클릭해 넘긴 그날부터skipDangerousModePermissionPrompt가 이미 들어 있을 겁니다. 새 서버에서는 그 대화 상자가 프롬프트 전에 나타나고, 무인 세션은 거기서 기다리게 됩니다. 노트북이 아니라 깨끗한 컨테이너에서 테스트하세요.
버려도 되는 서버 패턴
어디서든 권한을 완화하기 전에 한 가지만 물어보세요. 이 프로세스가 지금 임의의 파괴적인 명령을 실행한다면 나는 무엇을 잃을까?
일반적인 노트북이라면 솔직한 답은 불편합니다. SSH 키, ~/.aws와 ~/.config의 클라우드 자격 증명, 로그인된 세션이 살아 있는 브라우저 프로필, 운영 URL이 담긴 .env, 그리고 체크아웃해 둔 다른 모든 저장소. 프로젝트 하나만 있는 버려도 되는 VPS라면 답은 그 프로젝트(어차피 푸시되어 있음)와 다시 만드는 한 시간입니다. 받아들일 수 있는 위험입니다. 에이전트를 둘 곳은 세 가지입니다.
내 머신의 컨테이너
가장 저렴하고 가까운 선택지입니다. Docker나 OrbStack으로 Linux 컨테이너를 실행하고, 안에 root가 아닌 사용자로 Claude Code를 설치하고, 손대게 할 프로젝트만 마운트합니다. 홈 디렉터리는 마운트하지 말고, 호스트 자격 증명을 넘기지 말고, --privileged나 Docker 소켓 마운트도 쓰지 마세요. 둘 다 호스트를 내주는 셈입니다.
전용 VPS
대부분의 사람이 결국 정착하는 선택지입니다. 프로젝트 하나나 둘만 돌리고 다른 것은 없는 작은 머신입니다. 항상 켜져 있으므로 내 머신을 꺼도 작업이 계속됩니다. 만약 침해되면 없애고 새로 만들면 됩니다. 1년 동안 손으로 다듬은 머신이 아니라 짧은 설정 스크립트로 다시 만들 수 있는, 지루할 정도로 단순한 상태를 유지하세요. 사양은 VPS 구매 가이드에서 다룹니다.
일회용 클라우드 샌드박스
Anthropic의 클라우드 세션은 각 작업을 격리된 VM에서 실행하며, git 자격 증명은 샌드박스 밖에 두고 네트워크 접근은 기본적으로 제한합니다. 관리할 것 없는 강력한 격리입니다. 하지만 거기서는 바이패스를 쓸 수 없습니다. 클라우드 세션은 Accept edits, Plan, Auto를 제공하며, 저장소 설정에 지정된 bypassPermissions는 무시합니다.
머신에 두지 말아야 할 비밀 정보
- 운영 자격 증명. 스테이징이나 로컬 복사본을 가리키게 하세요. 막으려는 실패는 악의가 아니라, 우연히 놓여 있던 연결 문자열에 대한 확신에 찬 실수입니다.
- 개인 SSH 키. 서버에는 필요한 저장소로 범위를 좁힌 전용 배포 키나 세분화된 토큰을 주세요. SSH 에이전트 포워딩도 쓰지 마세요. 연결되어 있는 동안 내 키를 그 머신에 빌려주는 셈입니다.
- 범위가 넓은 클라우드 토큰. 관리자 AWS 키나 조직 전체 GitHub 토큰은 두지 마세요. 작업에 필요하다면 범위를 좁히고 만료되게 하세요.
- 그곳에만 있는 것. 자주 푸시해서, 서버를 잃어도 다시 만들 수 없는 것이 없게 하세요.
머신에 있어야 하는 자격 증명이 하나 있습니다. 에이전트 자신의 로그인입니다. Claude Code는 이를 ~/.claude/.credentials.json에 보관하므로, 그 사용자의 셸을 가진 누구나 내 요금제를 쓸 수 있습니다. 에이전트에게 전용 사용자를 줄 이유가 하나 더 생겼습니다.
Codex 등 다른 에이전트의 대응 기능
모든 코딩 에이전트에 이 스위치에 해당하는 것이 있지만, 의미가 모두 같지는 않습니다.
| 에이전트 | 모든 요청 건너뛰기 | 더 안전한 중간 지점 |
|---|---|---|
| Claude Code | --dangerously-skip-permissions (root에서는 거부) | 자동 모드, acceptEdits, 거부 규칙 |
| Codex | --dangerously-bypass-approvals-and-sandbox, 별칭 --yolo: "외부에서 강화된 환경 안에서만 사용하세요" | 요청 시 승인을 쓰는 --sandbox workspace-write(네트워크는 기본적으로 꺼짐). --full-auto는 이제 이것의 지원 중단된 별칭 |
| OpenCode | opencode --auto (거부 규칙은 계속 적용) | opencode.json에서 도구별 allow / ask / deny. 대부분의 도구 기본값이 allow라는 점에 유의 |
| Grok Build | grok --always-approve (거부 규칙과 PreToolUse 훅은 계속 적용) | 자동 모드(분류기가 안전한 도구를 승인). 별도의 샌드박스가 승인된 호출을 제한 |
| Antigravity CLI | agy --dangerously-skip-permissions | 허용, 묻기, 거부 목록(거부 우선). 기본 프리셋은 macOS와 Linux에서 터미널 명령을 네트워크 없는 샌드박스에서 실행 |
출처: Codex CLI 레퍼런스와 승인과 보안, OpenCode 권한, Grok Build 권한, Antigravity 권한, Google의 Antigravity CLI codelab. 2026년 10월에 확인했습니다. Codex와 Antigravity는 모두 기본적으로 샌드박스를 쓰므로, 요청을 끄는 것과 샌드박스를 끄는 것은 별개의 결정입니다. 버려도 되는 머신이 필요한 것은 샌드박스를 끄는 쪽입니다.
휴대폰에서 바이패스를 켤 수 있나요?
Claude 앱에서는 안 됩니다. Anthropic의 모바일 문서에 따르면 클라우드 세션이든 Remote Control이든 앱에서 바이패스 권한을 고를 수 없고, 앱의 Remote Control에서는 자동 모드도 제공되지 않습니다. 범용 클라이언트로서는 합리적인 기본값입니다.
Maude는 다른 경우, 즉 내가 소유하고 다시 만들 수 있는 서버를 위해 만들어졌기 때문에, 각 에이전트의 전체 접근 모드를 그 에이전트의 다른 모드 옆에 "yolo"로 제공합니다. Claude의 경우, 데몬이 root가 아닌 사용자로 실행되고 설치된 Claude Code가 이 플래그를 지원할 때만 적용됩니다. 그렇지 않으면 세션은 일반 모드에 머뭅니다. Maude는 세션을 일반 모드로 시작하고 실행 후에 바이패스로 전환하며, 실행 시점에는 절대 쓰지 않습니다. root만 있는 서버에서는 앱의 버튼으로 root가 아닌 사용자를 만들 수 있습니다. 에이전트마다 기본 모드를 정하거나, 세션마다 바꿀 수 있습니다.
전체 권한은 위험 설정이 아니라 에이전트를 어디서 실행하느냐에 대한 결정입니다. 훔칠 만한 것도, 다시 만들 수 없는 것도 없는 머신에서 Claude Code를 root가 아닌 사용자로 실행하면, 걱정 없이 무인으로 맡길 수 있습니다. 내 키와 고객 작업이 있는 머신에 두면, 아무리 조심해도 좋은 거래가 되지 않습니다.
휴대폰에서 실행하기
버려도 되는 서버를 준비했다면, 휴대폰으로 쓰는 Claude Code에서 Maude가 거기서 어떻게 실행하는지 보여 줍니다. 휴대폰에서 에이전트 권한 승인하기는 반대 방식, 즉 요청을 켜 두고 알림에서 답하는 방법을 다룹니다.
자주 묻는 질문
--dangerously-skip-permissions는 안전한가요?
root에서 왜 실패하나요?
--allow-dangerously-skip-permissions를 넘겨도 실행 시점에 프로세스가 종료되었습니다.Codex의 대응 기능은 무엇인가요?
codex --dangerously-bypass-approvals-and-sandbox이며 --yolo로도 쓸 수 있고, 승인과 샌드박스를 모두 끕니다. OpenAI는 외부에서 강화된 환경 안에서만 쓰라고 합니다. 부담이 적은 기본값은 요청 시 승인을 쓰는 --sandbox workspace-write입니다. 예전의 --full-auto는 지원 중단되었고 경고를 출력합니다.휴대폰에서 바이패스를 켤 수 있나요?
두 skip-permissions 플래그의 차이는 무엇인가요?
--dangerously-skip-permissions는 세션을 바이패스 모드로 시작합니다. --allow-dangerously-skip-permissions는 일반 모드로 시작하고 Shift+Tab 순환에 바이패스를 추가할 뿐이므로, 나중에 전환할 수 있습니다. 둘 다 없이 시작한 세션에서는 바이패스로 아예 전환할 수 없습니다.변경 사항
- — 다시 썼습니다: root 제한, --allow-dangerously-skip-permissions와 --dangerously-skip-permissions의 차이, 기본 중간 지점으로서의 자동 모드, 바이패스에서도 막히는 것, Codex/OpenCode/Grok Build/Antigravity의 대응 기능, Anthropic 모바일 앱과 Maude가 허용하는 것.
- — 최초 게시.