Permission modes
Permission modes let you decide once what Claude is allowed to run without stopping to ask you. Instead of approving every action one prompt at a time, you pick a mode that matches the job and let Claude work at the level of trust you're comfortable with.
You've already met a few of these modes. Every time you hit shift-tab, you cycle through them: manual, accept edits, and plan. Those cover the everyday, hands-on work. The rest of the modes are where hands-off Claude Code really lives, and the one to reach for there is auto.
한국어 대본
- 00:00권한 모드를 사용하면 사용자 없이 실행해도 안전한 작업을 한 번만 결정하면 됩니다. 이미
- 00:07shift-tab으로 manual, accept edits, plan 등 여러 모드를 순환하고 있습니다. 나머지는 개입 없는
- 00:12Claude Code가 실행되는 곳이며, 가장 먼저 사용할 모드는 auto입니다. Claude는 프롬프트 없이 실행되는 동안 별도의
- 00:17분류기가 각 작업을 실행 전에 검토하며, 위험하다고 식별한 작업에는 개입합니다.
- 00:22자, 여기에 권한 모드들이 있습니다. 먼저 manual은 프롬프트 없이 읽기만 수행하며,
- 00:28그 외의 모든 것은 묻습니다.
- 00:29Accept edits는 읽기, 파일 편집, 일반적인 파일 시스템 bash 명령을 허용합니다.
- 00:33이는 사후에 검토하는 코드를 반복 작업할 때 사용합니다.
- 00:36Plan은 읽기만 합니다.
- 00:37편집 없이 조사하고 제안합니다.
- 00:39Auto 모드는 분류기 모델로 모든 것을 수락하며,
- 00:42각 작업을 실행 전에 검토합니다.
- 00:44묻지 않습니다.
- 00:45사전 승인된 도구만 허용됩니다.
- 00:47그 외의 모든 것은 프롬프트 없이 자동으로 거부됩니다.
- 00:49이는 CIA 파이프라인에 아주 적합합니다.
- 00:52그리고 bypass permission은 모든 검사를 건너뜁니다.
- 00:54이는 위험하게 권한을 건너뛰는 것과 동일합니다.
- 00:56격리된 컨테이너나 가상 머신 안에서만 실행하세요. shift-tab을 눌러
- 01:01manual, accept edits, plan, auto를 순환하세요. 상태 표시줄에는 현재 어떤 모드인지 표시됩니다.
- 01:07Auto 모드는 Claude가 실행되는 모드이지만, 각 작업이 실행되기 전에 별도의 분류기 모델이
- 01:12그 작업을 검토합니다. 분류기는 의도를 보호합니다. 요청 범위를 넘어서는 작업,
- 01:17프로덕션 배포, 마이그레이션, 강제 푸시 또는 다운로드한 코드를 셸로 파이프하는 작업,
- 01:22민감한 데이터를 외부 엔드포인트로 전송하는 작업, 세션 동안 존재하는 파일을 삭제하는 작업을 차단합니다.
- 01:27일상적인 작업, 프로젝트의 로컬 편집, 로그에서의 종속성 설치를 허용합니다.
- 01:31파일 접근, 읽기 전용 요청, 그리고 자신의 브랜치에 푸시하는 것입니다. 이제 분류기는 코드가
- 01:37작동하는지 여부를 잡아내지 못합니다. 그래서 Claude에게 인증을 리팩터링하라고 요청하고, 그것이 깨진
- 01:42인증을 작성한다면, 분류기는 그것을 통과시킵니다. 깨진 것은 위험하지 않기 때문입니다. 자동 모드를
- 01:47테스트를 실행하는 중지 훅과 함께 사용하세요. 자동 모드는 Claude가 무엇을 하려는지 주시하며,
- 01:50훅은 코드가 실제로 실행되는지 확인합니다. 자동 모드의 안전장치는 아직 진화 중이므로,
- 01:55문서에서 현재 차단 목록과 허용 목록을 확인하세요. 묻지 않기가 올바른 선택입니다. 인간이 프롬프트를 승인하기 위해 없는
- 02:00경우. CI, 예약 작업, 야간 배치.
- 02:06그 목록에서 벗어난 것은 자동으로 거부되므로, 파이프라인은 아무도 해주지 않을 승인을 기다리며 멈추는 대신 계속 진행됩니다.
- 02:14권한 모드에는 여러 가지가 있으며, 일상적인 모드에는 shift tab을 반복해서 눌러 도달할 수 있습니다.
- 02:19자동 모드는 개입 없는 기본값입니다. 분류기는 각 작업이 실행되기 전에 의도를 확인하고, 중지 훅은 실행 후에 정확성을 확인합니다.
- 02:27묻지 않기는 무인 파이프라인을 다루며, 권한 우회는 격리된 컨테이너와 VM 안에서만 허용됩니다. 모드를 작업에 맞추세요.
The six permission modes
Here's the full set. Each mode draws a different line between what runs freely and what needs your sign-off.
- Manual reads only, without prompting. Everything else asks first.
- Accept edits runs reads, file edits, and common file system bash commands without asking. This is for iterating on code that you review after the fact.
- Plan reads only. It researches and proposes changes without editing anything.
- Auto accepts everything, with a separate classifier model reviewing each action before it runs.
- Don't ask allows only pre-approved tools. Everything else is auto-denied with no prompt.
- Bypass permissions skips all checks. This is the equivalent of the dangerously-skip-permissions flag. Only run it inside an isolated container or virtual machine.
Cycling with shift-tab
You don't need to memorize a command for each mode. Press shift-tab to cycle through the everyday ones: manual, accept edits, plan, and auto. The status bar at the bottom always shows which mode you're currently in, so you can glance down and know exactly what Claude is allowed to do.
How auto mode works
Auto is the hands-off mode. Claude runs on its own, but before each action executes, a separate classifier model reviews it. The classifier guards intent. It's watching for moves that escalate beyond what you actually asked for.
Here's the kind of thing it's designed to block:
- Production deploys and migrations
- Force pushing, or piping downloaded code straight into a shell
- Sending sensitive data to external endpoints
- Destroying files that exist for the session
And it waves through the everyday work: local edits in your project, installing dependencies from your lock file, read-only requests, and pushing to your own branch.
What the classifier can't do
The classifier checks intent, not correctness. It won't catch whether the code actually works. So if you ask Claude to refactor authentication and it writes broken authentication, the classifier waves it through, because broken isn't dangerous.
That's why you pair auto mode with a stop hook that runs your tests. The two work together:
- Auto mode watches what Claude is trying to do while it runs.
- The stop hook confirms the code actually runs once Claude finishes.
One guards intent before each action, the other guards correctness after. Auto mode's guardrails are still evolving, so check the docs for the current block and allow lists.
Don't ask, for unattended runs
Don't ask is the right move whenever no human is around to approve prompts: CI pipelines, scheduled jobs, overnight batches. Only pre-approved tools are allowed, and anything off that list gets auto-denied with no prompt. That's the whole point. Your pipeline keeps moving instead of hanging on an approval no one is there to give.
Match the mode to the job
There are several permission modes, and you reach the everyday ones by cycling shift-tab. To sum it up:
- Auto is the hands-off mode. The classifier checks intent before each action, and a stop hook checks correctness after.
- Don't ask covers unattended pipelines where no one is there to approve.
- Bypass permissions belongs only inside isolated containers and VMs.
Pick the mode that fits what you're doing, and let Claude run at that level.