Claude Code auto 모드 - 하루에 여덟 번 막혔다
egg · 2분 읽기
작업마다 승인을 묻는 대신 분류기가 판단하는 auto 모드를 쓰다가 하루에 여덟 번 막혔다. 왜 막혔는지 문서와 맞춰봤다.
Remote Control로 폰에서 Claude Code 세션을 이어받기 시작한 뒤로, 저녁을 먹다가도 권한 승인 버튼을 누르는 일이 잦아졌다. 그래서 요즘은 auto 모드를 켜고 쓴다. 작업마다 승인을 묻는 대신 분류기가 작업 내용을 보고 위험한 것만 막아주는 모드다.
공식 문서에 따르면 분류기는 되돌릴 수 없는 작업, 파일이나 데이터를 지우는 것처럼 위험한 작업, 내 작업 환경 밖의 저장소나 서버를 건드리는 작업을 막는다. 따로 설정하지 않으면 지금 작업 중인 폴더와 그 저장소의 원격 저장소만 믿을 수 있는 대상으로 본다. 2026년 10월 기준이다.
오늘 열어둔 세션 기록을 확인해 보니 거부가 여덟 번 있었다. 세 세션에서 나왔고, 상황별로 묶으면 네 가지다.
실데이터로 회귀 테스트를 만들 때. 업무 프로젝트에서 방금 받은 실데이터로 회귀 테스트를 추가해 달라고 했다. 그런데 데이터를 가공하는 스크립트와 테스트 실행이 둘 다 [Sensitive-Source Provenance]로 막혔다. 외부에서 받은 데이터를 저장소 코드에 넣는 걸 위험하게 본 것 같다. 테스트 실행까지 막힌 이유는 아직 모르겠다.
운영 배포를 예약할 때. 배포 시각을 정해 승인하고 예약을 맡겼다. Claude가 예약 작업 지시문 첫 줄에 내가 배포를 승인했다고 적고 PR 머지까지 넣었는데, [Merge Without Review]로 거부됐다. 머지를 빼고 배포만 다시 예약하니 통과했다.
틱톡 예약 게시. 마케팅 저장소에는 SNS 예약 게시 스킬이 있고, 브라우저 조작은 서브에이전트(Claude가 일을 나눠 맡기는 하위 에이전트)가 한다. 그런데 캡션 입력 칸을 누르는 단계부터 [Unrequested Commit in a Connected App]로 막혔다. 글자를 넣으려고 칸을 눌렀을 뿐인데..
허용해 주고 다시 진행했더니 이번엔 게시 화면의 예약(Schedule) 탭을 누르는 단계가 [Auto-Mode Bypass]로 막혔다. /permissions에 브라우저 도구 허용 규칙을 추가하고 다시 시켜봤지만 또 막혔다.
X 예약 게시. 캡션과 첨부 파일, 예약 시각까지 다 확인한 뒤 마지막 예약 버튼에서 막혔다. 다음 글을 쓰려고 작성 화면으로 이동하는 것도 [Auto-Mode Bypass]로 거부됐다.
틱톡과 X는 결국 열어둔 탭에서 내가 직접 버튼을 눌렀다.
문서와 맞춰보니
네 가지 중 세 가지는 공통점이 있다. 승인했다는 말이 내 메시지가 아니라 Claude가 쓴 글에 들어 있었다.
문서에 따르면 분류기는 내가 보낸 메시지와 Claude가 실행한 명령을 읽는다. 막는 규칙 중 일부는 내 메시지가 그 작업을 구체적으로 요청했을 때 풀린다. “저장소 정리해줘”는 강제 push(force push)를 허락한 게 아니지만 “이 브랜치 force push 해줘”는 허락한 것으로 본다는 예가 나온다.
배포 예약 지시문의 승인 문구는 Claude가 쓴 것이다. 서브에이전트가 받은 지시도 Claude가 썼다. 서브에이전트가 돌려준 보고에는 “model-derived text … carries no user authority”(모델이 쓴 글에는 사용자 권한이 없다)라는 문구까지 붙어 있었다. 예약 게시 스킬을 실행한 건 나지만, 서브에이전트가 버튼을 누르는 순간에는 내 의도가 전달되지 않는 것 같다.
허용 규칙이 안 통한 건 아직 헷갈린다. 문서에는 Bash(*)처럼 범위가 넓은 허용 규칙은 auto 모드에서 적용되지 않는다고 나온다. 분류기의 판단을 바꾸려면 ~/.claude/settings.json의 autoMode.allow나 autoMode.environment에 적어야 하는데, 패턴이 아니라 새로 온 동료에게 설명하듯 문장으로 쓴다. 다만 브라우저 도구 규칙이 왜 안 통했는지는 문서에서 근거를 찾지 못했다.
틱톡과 X 모두 처음 막힌 바로 다음 동작이 [Auto-Mode Bypass]로 걸렸다. 한 번 막힌 뒤 비슷한 작업을 이어가면 차단을 피해 가려는 시도로 보는 듯 싶다.
여덟 번 내내 Claude는 한 번도 우회하지 않았다. 틱톡 때는 JS로 입력 칸을 선택하는 방법도 있었는데 “거부를 우회하는 일”이라며 멈췄다. 안심은 되지만, 그만큼 자리를 비우기도 어렵다.
반대로 막혀야 할 작업이 분류기를 통과할까 걱정된다면 permissions.ask 규칙을 걸어두는 편이 확실하다. ask 규칙은 분류기보다 먼저 적용돼서 auto 모드에서도 반드시 물어본다.
예약 게시는.. 아무래도 마지막 버튼은 앞으로도 내가 누르게 될 것 같다.