네 모드, 실제로 하는 일
ClaudeAgentOptions의 permission_mode가 네 값 중 하나. 'default'가 side effect 가진 어떤 도구든 user한테 prompt. 'acceptEdits'가 Write/Edit 자동 승인하지만 Bash엔 여전히 prompt. 'bypassPermissions'가 모든 거 승인(trusted CI에만 사용). 'plan'이 에이전트를 dry-run 모드 — 실행 없이 plan만.
반대편에 누가 있는지로 픽
개발자가 키보드에서 매 prompt review 중이면 'acceptEdits'가 자주 옳은 tradeoff(파일 편집 flow, 셸은 여전히 묻기). 에이전트가 server 컨텍스트에 unattended run하면 custom permission handler 가진 'default'가 정책 자세. 'bypassPermissions'는 다른 곳에서 review 통과한 trusted CI runner용.
자기 permission handler 작성
모드 너머로 per-tool 결정하는 callback 공급 가능. Callback이 tool name, input, allow / deny / ask 신호 받음. cwkPippa setup이 chat-from-WebUI path에 custom handler 사용 — 아빠가 CLI TUI 통하지 않고 inline으로 위험 명령 승인.
원칙: Permission 자세는 보안 결정만큼 UX 결정. 실제로 루프에 누가 있는지에 매치.