CATEGORY

카테고리 (677)
AI (75)
Language & Specs (260)
FrameWork (36)
Library (20)
App (41)
Git (10)
Build & Dependency (2)
AWS (15)
DataBase (45)
OS (33)
Tool (17)
IT (120)
SEEMINGLY ONLINE

Seemingly
Online

이모저모 방방곡곡 두루두루 개발지식 저장소

RECENT POSTS

AI/Codex

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(다음 턴에 넣을 말 대기)만 있고 권한 전환은 없습니다. 대신 슬래시 명령을 씁니다.

  1. 대화창에 /permissions를 치고 Enter.
  2. Auto(맡기고 싶을 때)나 Read Only(읽고 계획만 시킬 때) 중 고릅니다.
  3. 바꾼 정책은 다시 바꿀 때까지 그 세션에 계속 적용됩니다.

지금 어떤 상태인지는 /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