Codex untrusted 승인 정책 폐지: 무엇을 바꿔야 하나
Codex CLI v0.149.0(2026년 8월 20일 stable)은 PR #39630 “Retire the untrusted approval policy”(untrusted 승인 정책 폐지)에서 untrusted 승인 정책을 폐지했습니다.1 이 PR은 untrusted를 CLI, 설정 스키마, MCP 도구 인터페이스에서(“from the CLI, configuration schema, and MCP tool interface”) 제거하며, 명시적인 approval_policy = "untrusted" 설정은 이제 “with an actionable error”(조치 가능한 오류와 함께) 실패합니다.4 2026년 8월 25일 0.149.1에서 재현한 결과, 값이 config.toml에 있든 프로필 파일에 있든 -c 오버라이드에 있든 세션 시작은 Error: approval_policy = "untrusted" is no longer supported; remove this setting으로 멈추고, codex 바이너리는 인수 파싱 단계에서 -a untrusted를 거부합니다.5 값을 on-request로 바꾸고 샌드박스 모드는 그대로 두세요. 가장 신중한 구성을 원한다면 --sandbox read-only와 on-request를 짝지으세요.3 현재 정책 집합은 on-request, never, 그리고 granular 테이블 형식입니다.2 npm latest인 v0.149.1(2026년 8월 24일, UTC) 기준으로 최신 내용입니다.1
{.answer-block}
요약
- 변경 내용: v0.149.0의 전체 변경 로그에는 PR #39630 “Retire the untrusted approval policy”가 실려 있습니다. 릴리스 노트는 그 제목 외에 마이그레이션 안내를 주지 않지만,1 PR 설명은 줍니다:
untrusted는 CLI, 설정 스키마, MCP 도구 인터페이스에서 사라졌고, 명시적 설정은 “now fail with an actionable error”(이제 조치 가능한 오류와 함께 실패)합니다.4 - 조치해야 할 사람:
~/.codex/config.toml이나 프로필에approval_policy = "untrusted"가 있는 모든 사람, 그리고 스크립트, 별칭, CI에서--ask-for-approval untrusted(또는-a untrusted)를 넘기는 모든 사람. - 대체 값:
on-request이며 샌드박스 모드는 그대로입니다.read-only와on-request의 조합이 문서의 “Safe read-only browsing”(안전한 읽기 전용 탐색) 쌍입니다.2 예전의workspace-write와untrusted조합에는 직접적인 후속 조합이 없으며, 명령별 프롬프트는 이제 exec policy 규칙에 있습니다.48 - 현재 집합:
on-request,never, 또는 범주별 제어를 위한approval_policy = { granular = { ... } }. 샌드박스 모드는read-only,workspace-write,danger-full-access그대로입니다.2 - 조용히 넘어가지 않고 즉시 실패: 남아 있는
approval_policy = "untrusted"는config.toml, 프로필 파일,-c오버라이드 어디에 있든Error: approval_policy = "untrusted" is no longer supported; remove this setting으로 세션을 멈춥니다.codex doctor는 키 이름 없이 설정을 불러올 수 없다고만 보고합니다.5
Codex 0.149는 무엇을 바꿨나요?
주요 항목은 codex agents 대시보드, codex queue, 확장된 codex doctor 같은 새로운 표면이고, 승인 정책 변경은 그 아래 전체 변경 로그에 있습니다.1 PR #39630의 설명에는 릴리스 노트가 생략한 세부 사항이 담겨 있습니다. 세 항목 중 두 개가 여기서 중요합니다: “Remove untrusted from the CLI, configuration schema, and MCP tool interface. Explicit approval_policy = "untrusted" settings now fail with an actionable error.”(CLI, 설정 스키마, MCP 도구 인터페이스에서 untrusted를 제거. 명시적 approval_policy = “untrusted” 설정은 이제 조치 가능한 오류와 함께 실패) 그리고 “Remove the known-safe command allowlist. Projects marked untrusted now request approval for every command unless an explicit exec policy rule allows it.”(알려진 안전 명령 허용 목록을 제거. untrusted로 표시된 프로젝트는 명시적인 exec policy 규칙이 허용하지 않는 한 이제 모든 명령에 승인을 요청)입니다.4 같은 릴리스의 버그 수정 하나도 같은 독자에게 중요합니다: “Resumed and forked threads now restore their active permission profile instead of silently falling back to current defaults.”(재개되거나 포크된 스레드는 이제 조용히 현재 기본값으로 되돌아가는 대신 활성 권한 프로필을 복원)1
| 릴리스 항목 | 원문 그대로 | 여기서 중요한 이유 |
|---|---|---|
| PR #39630 | “Retire the untrusted approval policy” | 제거해야 할 값 |
| 스레드 복원 수정(PR #39153) | “Resumed and forked threads now restore their active permission profile instead of silently falling back to current defaults.” | 예전 세션은 예전 정책을 지니고 있으므로, 재개된 스레드가 무엇을 보고하는지 확인 |
codex doctor 확장 |
“diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity” | 설정 편집 후 가장 먼저 실행할 도구이지만, 폐지된 키의 이름은 알려주지 않음 |
각 행은 v0.149.0 릴리스 노트를 그대로 인용한 것입니다.1
누가 무엇을 수정해야 하나요?
네 곳에 이 값이 있을 수 있습니다. 먼저 전부 찾으세요. 메인 파일을 고쳐도 프로필이나 셸 별칭이 예전 정책을 다시 적용하기 때문입니다.
| 위치 | 검색할 것 | 일반적인 담당자 |
|---|---|---|
~/.codex/config.toml |
approval_policy = "untrusted" |
개별 개발자 |
프로필 파일(~/.codex/<name>.config.toml) |
approval_policy = "untrusted" |
프리셋이 둘 이상인 사람 |
config.toml 안의 레거시 [profiles.<name>] 테이블 |
테이블 아래의 approval_policy = "untrusted". Codex는 --profile 없이는 이 테이블을 무시하고(인식되지 않는 필드를 거부하는 --strict-config를 넘기지 않는 한), --profile은 테이블이 존재하는 동안 시작을 거부합니다. 키를 ~/.codex/<name>.config.toml로 옮기고 거기서 값을 고치세요5 |
프로필별 파일 형식 이전에 프리셋을 설정한 사람 |
| 스크립트, 별칭, Makefile, CI | --ask-for-approval untrusted, --ask-for-approval=untrusted, -a untrusted, -c approval_policy=untrusted |
자동화 및 팀 도구 |
레거시 테이블 실패는 요란합니다. 0.149.1에서 config.toml에 [profiles.safe] 테이블이 남아 있는 상태로 codex exec --profile safe "hi"를 실행하면 Error loading config.toml: --profile `safe` cannot be used while .../config.toml contains legacy `profile = "safe"` or `[profiles.safe]` config; move those settings into .../safe.config.toml ...으로 멈추므로, 팀원의 --profile safe는 Codex가 승인 값을 읽기도 전에 실패합니다.5
각 쪽마다 grep 하나씩:
# Config and profiles: match the key, not the bare word
grep -rnE 'approval_policy\s*=\s*"untrusted"' ~/.codex/*.toml .codex/config.toml 2>/dev/null
# Scripts, aliases, CI
grep -rn --exclude-dir=node_modules \
-e "ask-for-approval untrusted" -e "ask-for-approval=untrusted" \
-e "-a untrusted" -e "approval_policy=untrusted" \
~/.zshrc ~/.bashrc . 2>/dev/null
# CI directories: read every bare hit, because YAML can split a flag from its value
grep -rn --exclude-dir=node_modules "untrusted" .github .gitlab-ci.yml .circleci 2>/dev/null
첫 번째 grep이 단어 하나가 아니라 키를 매칭하는 데에는 이유가 있습니다. trust_level = "untrusted"는 다른 설정이니 그대로 두세요. 설정 참조 문서는 projects.<path>.trust_level을 “a project or worktree as trusted or untrusted”(프로젝트나 워크트리를 신뢰됨 또는 신뢰되지 않음으로) 표시하는 키로 정의하며, 신뢰되지 않는 프로젝트는 “skip project-scoped .codex/ layers, including project-local config, hooks, and rules.”(프로젝트 로컬 설정, 훅, 규칙을 포함한 프로젝트 범위 .codex/ 계층을 건너뜀)7 PR #39630은 이 키가 아니라 신뢰되지 않는 프로젝트가 명령을 다루는 방식을 바꿉니다: “Projects marked untrusted now request approval for every command unless an explicit exec policy rule allows it.”4 untrusted를 무작정 찾아 바꾸면 이 키가 망가집니다.
프로필 파일은 문서화된 프리셋 메커니즘이므로(~/.codex/<name>.config.toml, codex --profile <name>으로 선택), 메인 설정이 무엇이든 팀원의 프로필이 폐지된 값을 다시 들여올 수 있습니다.2
현재 승인 정책 집합은 무엇인가요?
Codex의 보안은 두 계층에서 나옵니다: 샌드박스 모드는 Codex가 기술적으로 무엇을 할 수 있는지 정하고, 승인 정책은 Codex가 언제 멈추고 물어야 하는지 정합니다.2 이번 폐지는 두 번째 계층만 건드립니다.
| 계층 | 현재 값 | 비고 |
|---|---|---|
| 승인 정책 | on-request, never, { granular = { ... } } |
on-request는 Auto 프리셋의 대화형 기본값이고, never는 프롬프트를 끄며, granular는 선택한 범주만 대화형으로 유지하고 나머지는 자동 거부합니다2 |
| 샌드박스 모드 | read-only, workspace-write, danger-full-access |
workspace-write는 [sandbox_workspace_write] network_access = true가 아닌 한 네트워크를 차단합니다2 |
Auto 프리셋 |
--sandbox workspace-write --ask-for-approval on-request |
워크스페이스 안에서 읽고, 편집하고, 명령을 실행하며, 바깥을 편집하거나 네트워크를 쓰기 전에 묻습니다2 |
| 안전한 읽기 전용 탐색 | --sandbox read-only --ask-for-approval on-request |
파일을 읽고 질문에 답하며, 편집, 명령, 네트워크 전에 묻습니다2 |
| 비대화형(CI) | --sandbox read-only --ask-for-approval never |
읽기만 하고 절대 묻지 않습니다2 |
granular 형식은 다섯 가지 프롬프트 범주를 다룹니다: sandbox_approval, rules(execpolicy 프롬프트), mcp_elicitations, request_permissions, skill_approval.2 이 중 어느 것도 untrusted를 재현하지 못하는데, 이는 프롬프트 범주 필터가 아니라 명령 분류 규칙(알려진 안전한 읽기는 자동 실행, 상태를 바꿀 수 있는 것은 프롬프트)이었기 때문입니다.2
workspace-write와 untrusted의 조합, 즉 문서의 “Automatically edit but ask for approval to run untrusted commands”(자동으로 편집하되 신뢰되지 않는 명령 실행 전에는 승인 요청) 행에는 직접적인 후속 조합이 없습니다.2 workspace-write와 on-request는 샌드박스 안에서 실행되는 명령에 대해 더 이상 묻지 않고, read-only와 on-request는 명령뿐 아니라 편집에 대해서도 묻습니다.2 PR #39630은 “the known-safe command allowlist”(알려진 안전 명령 허용 목록)를 제거했고, 명령별 프롬프트를 위해 남은 메커니즘을 지목합니다: “Projects marked untrusted now request approval for every command unless an explicit exec policy rule allows it.”4 exec policy 규칙은 granular 테이블의 rules 범주 뒤에 있는 것과 같은 메커니즘으로, 승인 페이지가 나열하는 “execpolicy-rule prompts”입니다.2 쓰기 가능한 워크스페이스에서 untrusted에 의존하던 보안 담당자는 이 규칙을 만들어야 합니다. 규칙 문서는 이를 샌드박스 바깥에서 실행되는 명령으로 한정하며, decision = "prompt"를 가진 prefix_rule은 “before each matching invocation”(일치하는 호출마다 그 전에) 프롬프트를 띄웁니다:8
# ~/.codex/rules/default.rules
prefix_rule(pattern = ["git", "push"], decision = "prompt")
읽기 전용 샌드박스는 변경을 아예 차단하는 무딘 대안으로 남아 있습니다.3
정확히 무엇을 수정해야 하나요?
매핑은 한 줄입니다: untrusted는 on-request가 되고, 샌드박스 모드는 있던 그대로 둡니다.3
| 이전(폐지됨) | 이후 | 위치 |
|---|---|---|
approval_policy = "untrusted" |
approval_policy = "on-request" |
config.toml과 모든 프로필 파일 |
--ask-for-approval untrusted |
--ask-for-approval on-request |
codex TUI 바이너리를 실행하는 스크립트와 별칭 |
-a untrusted |
-a on-request |
축약 플래그, codex 바이너리 전용 |
-c approval_policy=untrusted |
-c approval_policy=on-request |
인라인 오버라이드, codex exec가 받는 형식 |
sandbox_mode = "read-only" + untrusted |
sandbox_mode = "read-only" + on-request |
문서의 config.toml 예시, “Always ask for approval mode”(항상 승인을 요청하는 모드)로 표기됨2 |
메인 설정(프로필 파일도 동일하게 수정합니다):
# ~/.codex/config.toml (before)
approval_policy = "untrusted"
sandbox_mode = "read-only"
# ~/.codex/config.toml (after)
approval_policy = "on-request"
sandbox_mode = "read-only"
스크립트:
# before
codex --sandbox workspace-write --ask-for-approval untrusted "$@"
# after
codex --sandbox workspace-write --ask-for-approval on-request "$@"
-a/--ask-for-approval 쌍은 codex TUI 바이너리의 것입니다. codex exec에는 그런 플래그가 없습니다: 0.149.1에서 codex exec --ask-for-approval untrusted "hi"는 error: unexpected argument '--ask-for-approval' found로 실패합니다.5 codex exec에서는 정책을 설정에 두거나 인라인으로 넘기세요:
# non-interactive run, policy set inline
codex exec --sandbox workspace-write -c approval_policy=never "$@"
판단이 필요한 사항이 둘 있습니다. 첫째, 아무도 프롬프트에 답할 수 없는 환경에서 on-request로 실행되는 대화형 codex 바이너리는 첫 승인에서 멈춥니다. 문서화된 비대화형 쌍은 --sandbox read-only --ask-for-approval never이고, codex exec --sandbox workspace-write가 문서화된 비대화형 진입점입니다.2 둘째, “모든 권한을 주되 매번 묻기” 위해 untrusted를 danger-full-access와 짝지었다면, 그 특성은 교체 후에 살아남지 않습니다. 문서가 드는 on-request 프롬프트의 두 예시는 샌드박스를 벗어나는 것과 네트워크를 쓰는 것인데, danger-full-access는 두 트리거를 모두 없앱니다.2 granular 테이블의 나머지 네 범주에서 오는 프롬프트는 전체 접근 상태에서도 여전히 뜹니다: decision = "prompt"인 exec policy 규칙, MCP elicitation, 스킬 승인, request_permissions 프롬프트입니다.28 선택 설정인 approvals_reviewer = "auto_review"는 대상 프롬프트를 리뷰어 에이전트로 보내며, 대화형 정책에만 적용되므로 마이그레이션 후에도 계속 쓸 수 있습니다.2
변경이 적용됐는지 어떻게 확인하나요?
codex doctor를 실행하세요. 폐지된 값이 설정에 남아 있으면 config 줄은✗ config config could not be loaded로 시작하고 상세 줄은· failed to load Codex config라고 나오며, doctor는 문제의 키 이름을 알려주지 않습니다. 키 이름이 담긴 오류는codex나codex exec를 실행할 때 나옵니다. doctor 줄이 깨끗하면 값이 사라진 것이고, 실패했다면 어느 키인지 보려면 여전히 세션을 시작해야 합니다.5 값이config.toml에 있든,--profile로 선택한 프로필 파일에 있든,-c approval_policy=untrusted오버라이드에 있든 실행 오류는 동일합니다.5 플래그 형식은 더 이른 인수 파싱 단계에서 실패합니다:codex -a untrusted --version은error: invalid value 'untrusted' for '--ask-for-approval <APPROVAL_POLICY>'에 이어[possible values: on-request, never]를 출력합니다.5- 임시 디렉터리에서 일회용 세션을 시작하고
/status를 실행하세요. Permissions 줄에 활성 정책이 표시되며,on-request는 거기서 “Ask for approval”로 표시됩니다.5/permissions는 활성 모드를 보고하는 대신 프리셋 메뉴를 열므로/status를 읽으세요.5/status는 워크스페이스 디렉터리도 나열합니다.2 - 예전 스레드 하나를 재개하세요. PR #39153 “Restore permission profiles when resuming threads”는 이제 “the latest persisted approval policy, approvals reviewer, and active permission-profile ID when resuming or forking a thread”(스레드를 재개하거나 포크할 때 마지막으로 저장된 승인 정책, 승인 리뷰어, 활성 권한 프로필 ID)를 복원합니다.6 저장된 정책이
untrusted인 재개 스레드는 테스트하지 못했습니다. 직접 열어보기 전까지는 알 수 없는 경우로 취급하세요.
문서 자체에 대한 주의 사항 하나. 공식 “Agent approvals & security” 페이지는 2026년 8월 24일에 캡처하고 8월 25일에 다시 확인한 시점에도 조합 표에 여전히 --ask-for-approval untrusted를 보여주고, “With --ask-for-approval untrusted, Codex runs only known-safe read operations automatically,”로 시작하는 문단을 여전히 싣고 있으며, config.toml 예시에 여전히 approval_policy = "untrusted"를 쓰고 있습니다.2 설정 참조의 approval_policy 항목은 타입 유니온에서 untrusted를 첫 번째로 나열하면서 설명에서는 다른 값을 폐지됨으로 표시합니다: “on-failure is deprecated; use on-request for interactive runs or never for non-interactive runs.”(on-failure는 지원 중단됨; 대화형 실행에는 on-request, 비대화형 실행에는 never 사용)7 PR과 바이너리가 권위 있는 기록이고, 문서는 그보다 뒤처져 있습니다. 문서의 예시 블록을 값을 바꾸지 않은 채 새 0.149 설치에 그대로 복사하지 마세요.
자주 묻는 질문
Codex에서 approval_policy = "untrusted"를 무엇으로 대체하나요?
approval_policy = "on-request"이며, 기존 sandbox_mode는 그대로 둡니다. 가장 신중한 조합을 원한다면 sandbox_mode = "read-only"를 함께 설정하세요.3
어느 Codex 버전에서 untrusted 정책이 폐지되었나요?
2026년 8월 20일 stable로 나온 v0.149.0이며, 전체 변경 로그의 PR #39630을 통해서입니다. v0.149.1(2026년 8월 24일, UTC)이 현재 npm latest입니다.1
config.toml에 untrusted를 그대로 두면 어떻게 되나요?
Codex가 세션 시작을 거부합니다. 0.149.1에서 codex exec는 Error: approval_policy = "untrusted" is no longer supported; remove this setting으로 멈추고, 프로필 파일과 -c approval_policy=untrusted에서도 같은 오류가 나오며, codex doctor는 설정을 불러올 수 없다고만 보고합니다.5 PR #39630은 이 동작을 “with an actionable error”(조치 가능한 오류와 함께) 실패하는 것으로 설명합니다.4
on-request는 예전 untrusted보다 덜 안전한가요?
workspace-write 안에서는 그렇습니다: untrusted는 상태를 바꿀 수 있는 모든 명령 전에 물었고, on-request는 샌드박스 안 명령을 묻지 않고 실행합니다.2 샌드박스 계층이 그 여유의 일부를 되찾아 줍니다: read-only는 정책과 무관하게 쓰기를 막고, on-request는 여전히 모든 권한 상승 전에 묻습니다.3 쓰기 가능한 워크스페이스에서 명령별 프롬프트가 필요하다면 PR #39630이 지목한 메커니즘인 exec policy 규칙을 작성하세요.48
샌드박스 모드도 바꿔야 하나요?
아니요. 이번 폐지는 승인 정책에만 영향을 미치므로, read-only, workspace-write, danger-full-access는 있던 그대로 두세요.3
핵심 요약
개별 개발자라면:
- ~/.codex/*.toml에서 (단어 하나가 아니라) approval_policy = "untrusted"를 grep하고, 각 항목을 on-request로 바꾸고, sandbox_mode와 trust_level = "untrusted"는 그대로 두세요.
- codex doctor를 실행한 뒤 임시 세션에서 /status를 실행하고, 예전 스레드 하나를 재개해 0.149가 무엇을 복원하는지 확인하세요.
공유 프로필과 스크립트를 관리하는 팀이라면:
- 프로필 파일과 인라인 오버라이드를 config.toml과 같은 커밋에서 고치세요. 레거시 [profiles.<name>] 테이블은 ~/.codex/<name>.config.toml로 옮기기 전까지 --profile을 완전히 막습니다.5
- 무인 작업은 codex 바이너리에서 --sandbox read-only --ask-for-approval never로, 또는 codex exec --sandbox workspace-write -c approval_policy=never로 전환하세요. on-request 상태의 대화형 codex 바이너리는 아무도 답하지 않을 프롬프트에서 멈추고, codex exec에는 --ask-for-approval 플래그가 없습니다.5
보안 담당자라면:
- untrusted 분류기(안전한 읽기는 자동 실행, 변경 시 프롬프트)에는 granular 대응물이 없습니다. PR #39630은 명령별 프롬프트를 위해 exec policy 규칙(“unless an explicit exec policy rule allows it”)을 지목하며,4 이는 ~/.codex/rules/default.rules에 decision = "prompt"인 prefix_rule로 작성하고,8 읽기 전용 샌드박스는 변경을 아예 차단합니다.
- 리뷰어 에이전트가 대상 프롬프트에서 사람을 대신할 수 있는 곳에서는 approvals_reviewer = "auto_review"를 고려하세요.
참고 자료
-
OpenAI, Codex CLI v0.149.0 릴리스 노트, 2026년 8월 20일 게시(stable). 새 기능은 원문 그대로 인용; PR #39630 “Retire the untrusted approval policy”는 릴리스의 전체 변경 로그에 실려 있음; 스레드 복원 버그 수정은 원문 그대로 인용. v0.149.1(2026년 8월 24일, UTC 게시)이 npm
latest. 2026-08-24 확인. ↩↩↩↩↩↩↩ -
OpenAI, “Agent approvals & security”. 샌드박스와 승인 계층,
Auto프리셋, 일반적인 조합 표(“Safe read-only browsing” 및 “Automatically edit but ask for approval to run untrusted commands” 행 포함),--ask-for-approval never, granularapproval_policy테이블과 그 “execpolicy-rule prompts” 범주,approvals_reviewer, 프로필 파일, 워크스페이스 디렉터리를 위한/status, 비대화형 실행을 위한codex exec. 2026-08-24 캡처, 2026-08-25 재확인 시점에도 이 페이지는 조합 표, “With--ask-for-approval untrusted,”로 시작하는 문단,config.toml예시에 여전히untrusted를 보여줌. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Blake Crosley, Codex CLI 가이드, 가이드 v2.59(2026-08-25). 편집상의 마이그레이션 매핑:
approval_policy = "untrusted"를 샌드박스 모드 변경 없이approval_policy = "on-request"로;read-only와on-request의 조합은 가이드의 샌드박스 모드 표에서 “Maximum safety”(최대 안전)로 표기. ↩↩↩↩↩↩ -
OpenAI, PR #39630, “Retire the untrusted approval policy”, 2026년 8월 20일 병합(UTC). 설명 원문 그대로 인용: “Remove
untrustedfrom the CLI, configuration schema, and MCP tool interface. Explicitapproval_policy = "untrusted"settings now fail with an actionable error.” 및 “Remove the known-safe command allowlist. Projects marked untrusted now request approval for every command unless an explicit exec policy rule allows it.” 2026-08-25 확인. ↩↩↩↩↩↩↩↩↩ -
Codex CLI 0.149.1에서의 저자 재현(임시
CODEX_HOME을 사용한npx -y @openai/[email protected]), 2026년 8월 25일. 다음을 포함:-a untrusted인수 오류; 값이config.toml에 있을 때,--profile safe아래~/.codex/safe.config.toml에 있을 때,-c approval_policy=untrusted로 넘길 때codex exec --skip-git-repo-check에서 나오는approval_policy = "untrusted"설정 오류; 그 설정에서의codex doctor출력;codex exec --ask-for-approval거부;--profile safe아래 레거시[profiles.safe]오류;/statusPermissions 라벨. ↩↩↩↩↩↩↩↩↩↩↩↩↩ -
OpenAI, PR #39153, “Restore permission profiles when resuming threads”, 2026년 8월 18일 병합(UTC). 설명 원문 그대로 인용: “Restore the latest persisted approval policy, approvals reviewer, and active permission-profile ID when resuming or forking a thread.” 2026-08-25 확인. ↩
-
OpenAI, Codex 설정 참조, 2026-08-25 Markdown으로 가져옴.
approval_policy항목의 타입 유니온은untrusted | on-request | never | { granular = { ... } }(granular 키 생략)이고 설명에는 “on-failureis deprecated; useon-requestfor interactive runs orneverfor non-interactive runs.”가 포함됨;projects.<path>.trust_level항목은 위에 인용한 신뢰됨/신뢰되지 않음 프로젝트 표시자를 정의함. ↩↩ -
OpenAI, Rules, 2026-08-25 가져옴. 페이지는 “Rules are experimental and may change.”(규칙은 실험적이며 바뀔 수 있음)로 시작함.
decision필드의 세 값, 원문 그대로 인용: “allow: Run the command outside the sandbox without prompting.” “prompt: Prompt before each matching invocation.” “forbidden: Block the request without prompting.” 사용자 계층 파일은~/.codex/rules/default.rules이며, Codex가 “when you add a command to the allow list in the TUI”(TUI에서 명령을 허용 목록에 추가할 때) 쓰는 경로임; 페이지 자체의 예시는gh pr view전에 프롬프트를 띄움. Codex는 “applies the most restrictive decision when more than one rule matches (forbidden>prompt>allow).”(둘 이상의 규칙이 일치하면 가장 제한적인 결정을 적용함) ↩↩↩↩↩