codex auto mode
Codex의 Auto 모드는 따로 켜는 플래그가 없습니다. 그냥 codex로 실행하면 들어가는 기본 프리셋이고, 풀어 쓰면 --sandbox workspace-write --ask-for-approval on-request 두 값의 조합입니다. 즉 작업 폴더 안에서는 읽기·수정·명령 실행을 묻지 않고 하되, 폴더 밖을 건드리거나 네트워크를 쓸 때는 승인을 받는 상태입니다. 세션 도중에 바꾸려면 /permissions를 치면 됩니다. 아래는 codex-cli 0.153.4 · 윈도우 11에서 직접 확인한 내용입니다.
codex auto mode가 정확히 뭔가
먼저 알아야 할 게 있습니다. Codex의 권한은 한 개가 아니라 두 층입니다.
- 샌드박스 모드(
--sandbox) — 기술적으로 무엇을 할 수 있는가. 어디에 쓸 수 있고 네트워크를 쓸 수 있는가. - 승인 정책(
--ask-for-approval) — 언제 사람에게 물어보는가. 샌드박스 밖으로 나갈 때, 네트워크를 쓸 때 등.
Auto는 이 둘을 각각 workspace-write와 on-request로 맞춘 프리셋 이름입니다. 그래서 codex --help를 아무리 뒤져도 --auto 같은 플래그는 나오지 않습니다. 실제 도움말에 있는 값은 이게 전부입니다.
> codex --help
-s, --sandbox <SANDBOX_MODE>
[possible values: read-only, workspace-write, danger-full-access]
-a, --ask-for-approval <APPROVAL_POLICY>
- on-request: The model decides when to ask the user for approval
- never: Never ask for user approval
공식 문서는 Codex가 시작할 때 폴더가 버전 관리 중인지 보고 추천을 바꾼다고 설명합니다. Git 저장소면 Auto, 아니면 read-only를 권합니다. 되돌릴 수 있는 곳에서만 자동으로 손대게 하겠다는 뜻입니다.
켜는 방법 세 가지
1) 그냥 실행 (가장 흔한 경우)
codex
플래그가 없으면 Auto입니다. 명시적으로 쓰고 싶다면 아래 두 줄은 같은 뜻입니다.
codex
codex --sandbox workspace-write --ask-for-approval on-request
2) 설정 파일에 고정
~/.codex/config.toml(윈도우는 C:\Users\사용자\.codex\config.toml)에 적어 두면 매번 안 쳐도 됩니다.
approval_policy = "on-request"
sandbox_mode = "workspace-write"
# 선택: workspace-write 에서 네트워크도 열고 싶을 때
[sandbox_workspace_write]
network_access = true
한 번만 다르게 쓰고 싶으면 파일을 고치지 말고 -c로 덮어씁니다. 실제로 이 오버라이드가 먹는지 확인해 봤습니다.
> codex doctor # 빈 설정
approval policy OnRequest
> codex -c approval_policy="never" doctor
approval policy Never
자주 쓰는 조합이 여러 개라면 프로파일 파일로 빼 두는 방법도 있습니다. ~/.codex/full_auto.config.toml처럼 만들고 codex --profile full_auto로 고릅니다. 설정 파일의 위치와 우선순위는 agents.md 작성법에서 다룬 지침 파일과는 별개이니 헷갈리지 마세요.
3) 세션 도중에 바꾸기 — /permissions
"codex auto mode 단축키"를 찾는 분이 많은데, 모드를 바꾸는 전용 단축키는 없습니다. 공식 명령 레퍼런스의 인터랙티브 단축키 목록에도 Ctrl+R(기록 검색), Ctrl+O(마지막 응답 복사), Tab(다음 턴에 넣을 말 대기)만 있고 권한 전환은 없습니다. 대신 슬래시 명령을 씁니다.
- 대화창에
/permissions를 치고 Enter. - Auto(맡기고 싶을 때)나 Read Only(읽고 계획만 시킬 때) 중 고릅니다.
- 바꾼 정책은 다시 바꿀 때까지 그 세션에 계속 적용됩니다.
지금 어떤 상태인지는 /status로 봅니다. 활성 모델, 승인 정책, 쓰기 가능한 루트 목록, 남은 컨텍스트가 같이 나옵니다. 모델을 바꾸는 방법은 codex vscode 사용법 쪽에서 IDE 화면과 함께 정리해 두었습니다.
모드별로 뭐가 다른가
| 쓰임새 | 플래그 / 설정 | 결과 |
|---|---|---|
| Auto (기본) | 플래그 없음 또는 --sandbox workspace-write --ask-for-approval on-request |
작업 폴더 안은 자동. 폴더 밖 수정·네트워크는 승인. |
| 읽기만 (계획·리뷰) | --sandbox read-only --ask-for-approval on-request |
파일을 읽고 명령은 읽기 전용 샌드박스 안에서만. |
| CI 등 비대화형 | --sandbox read-only --ask-for-approval never |
절대 묻지 않는다. 물어볼 사람이 없는 자리용. |
| 자동 검토 (Auto-review) | approvals_reviewer = "auto_review" (CLI는 --approve-for-me) |
경계는 Auto와 같지만, 승인 요청을 사람 대신 모델이 검토. |
| 전체 허용 (권장 안 함) | --dangerously-bypass-approvals-and-sandbox (별칭 --yolo) |
샌드박스 없음, 승인 없음. |
--ask-for-approval never와 --dangerously-bypass-approvals-and-sandbox는 전혀 다릅니다. 앞은 묻지 않을 뿐 샌드박스는 그대로고, 뒤는 샌드박스 자체를 끕니다. "안 물어봐서 편하다"는 이유로 뒤쪽을 쓰면 안 됩니다. 자동 검토(auto_review)는 모델 호출을 추가로 쓰므로 codex 사용량 확인으로 한도를 같이 보는 편이 좋습니다.
Auto 모드에서도 못 건드리는 것
workspace-write라고 해서 폴더 전체가 열리는 건 아닙니다. 쓰기 가능한 루트 안에도 읽기 전용으로 잠긴 경로가 있습니다 — .git, .codex, .agents이고 그 아래 전부가 재귀적으로 잠깁니다. 그래서 Auto 모드여도 Codex가 커밋 기록을 직접 뜯어고치지는 못합니다. 네트워크도 기본은 막혀 있어서 따로 열어야 합니다.
이 두 가지는 Auto만의 이야기가 아니라 workspace-write 샌드박스 자체의 성질이라, codex 샌드박스 설정에 무엇이 어떻게 막히는지 실제로 돌려 본 결과와 함께 따로 정리해 두었습니다.
Auto 모드를 쓰면서 알아 두면 좋은 건 하나입니다. 워크스페이스는 현재 디렉터리만이 아닙니다 — /tmp 같은 임시 디렉터리도 포함됩니다. 그래서 "작업 폴더 밖인데 왜 안 물어보지" 싶은 일이 생깁니다. 정확한 목록은 /status로 확인하세요.
실제로 겪은 함정 두 가지
설정 키 오타는 조용히 무시된다
이게 제일 까다롭습니다. approval_policy를 aproval_policy로 잘못 쳐도 평소에는 에러가 나지 않습니다. 모르는 키는 그냥 무시되고 정책은 조용히 기본값으로 돌아갑니다. 잡아내려면 --strict-config를 붙여야 합니다.
# config.toml 에 aproval_policy = "never" (오타) 를 넣은 상태
> codex review --strict-config
Error loading config.toml:
...\config.toml:1:1: unknown configuration field `aproval_policy`
그런데 doctor는 --strict-config를 붙여도 이걸 안 잡습니다. "parse ok"로 통과시키고 넘어갑니다. 그래서 점검은 두 가지를 같이 해야 합니다 — 키 이름은 --strict-config로, 실제 적용값은 doctor의 approval policy 줄로 확인하는 것입니다.
> codex --strict-config doctor # 오타가 든 설정인데도
config.toml parse ok
approval policy OnRequest <- never 로 안 바뀌었다
빈 설정에서는 OnRequest, approval_policy = "never"를 제대로 넣으면 Never로 바뀌는 것까지 확인했습니다. 설정 파일 자체를 손보는 이야기는 codex mcp 설정에서도 같은 파일을 다룹니다.
--full-auto는 이제 안 받는다
예전 글이나 스크립트에 codex exec --full-auto가 남아 있다면 고쳐야 합니다. 공식 문서에는 "경고를 출력하는 폐기 예정 호환 경로로 남아 있다"고 적혀 있지만, 0.153.4에서는 아예 인자로 받지 않습니다.
> codex exec --full-auto
error: unexpected argument '--full-auto' found
> codex --full-auto
error: unexpected argument '--full-auto' found
비대화형으로 돌릴 때는 codex exec --sandbox workspace-write로 바꿔 쓰면 됩니다. 반대로 --yolo는 도움말에 안 보이지만 별칭으로 살아 있습니다(codex --yolo, codex exec --yolo 둘 다 정상 동작). 문서에 적힌 것과 설치된 버전이 다를 수 있으니, 플래그는 --help로 한 번 확인하고 쓰는 게 안전합니다. 윈도우에서 Codex를 처음 깔았다면 codex cli 윈도우 설치부터 보시면 됩니다.
자주 묻는 것
Q. Auto 모드인데 계속 승인을 물어봅니다.
승인을 부르는 동작은 세 가지입니다 — 워크스페이스 밖 수정, 네트워크 접근, 그리고 보호 경로(.git·.codex·.agents) 쓰기입니다. /status로 쓰기 가능한 루트를 먼저 확인하세요. 프로젝트가 여러 폴더에 걸쳐 있다면 --add-dir로 쓰기 루트를 추가하는 방법도 있습니다.
Q. 승인만 끄고 샌드박스는 남기고 싶습니다.
--ask-for-approval never(짧게 -a never)를 쓰면 됩니다. 모든 샌드박스 모드와 같이 쓸 수 있어서, 예를 들어 --sandbox workspace-write -a never는 "폴더 안에서는 알아서 하되 밖으로는 못 나가는" 상태가 됩니다. 승인이 필요한 동작은 실패로 처리되어 모델에게 바로 돌아갑니다.
Q. 어떤 건 물어보고 어떤 건 자동으로 넘기고 싶습니다.
approval_policy = { granular = { ... } }가 있습니다. sandbox_approval·rules·mcp_elicitations·request_permissions·skill_approval 항목을 각각 켜고 끌 수 있습니다. 끈 항목은 자동으로 거절된다는 점만 주의하세요(자동 승인이 아닙니다).
Q. 버전 관리가 안 되는 폴더에서도 Auto로 쓸 수 있나요?
가능하지만 권하지 않습니다. Codex가 read-only를 추천하는 이유가 되돌릴 수단이 없어서입니다. Git 저장소로 만들어 두면 Auto로 맡겨도 git diff로 언제든 확인하고 되돌릴 수 있습니다.
마무리
정리하면 Auto는 켜는 게 아니라 이미 켜져 있는 기본값이고, 실체는 workspace-write + on-request입니다. 바꿀 일이 생기면 세션 중에는 /permissions, 고정하려면 config.toml의 sandbox_mode·approval_policy 두 줄이면 됩니다. 고친 뒤에는 codex doctor로 실제 적용됐는지 눈으로 확인하는 것만 잊지 마세요 — 오타는 에러가 아니라 침묵으로 돌아옵니다.
플래그와 설정 키는 버전에 따라 달라집니다. 이 글은 codex-cli 0.153.4 기준이며, 설치된 버전이 다르면 codex --help와 아래 공식 문서에서 현재 내용을 확인하세요.
📚 참고 출처 (2026년 9월 18일 확인 · codex-cli 0.153.4 · 윈도우 11 기준)
· Approvals and security — Codex 공식 문서
· Developer commands (CLI) — Codex 공식 문서
· Config basics — Codex 공식 문서

COMMENTS