logo

구성 참조

이 페이지는 Codex 구성 파일을 검색하며 확인할 수 있는 참조 문서입니다. 개념 설명과 예시는 기본 구성고급 구성부터 참고하십시오.

config.toml

사용자 수준 구성은 ~/.codex/config.toml에 저장됩니다. .codex/config.toml 파일로 프로젝트 범위의 오버라이드를 추가할 수도 있습니다. Codex는 사용자가 프로젝트를 신뢰한 경우에만 프로젝트 범위의 구성 파일을 로드합니다.

Sandbox와 승인 관련 key(approval_policy, sandbox_mode, sandbox_workspace_write.*)는 이 참조 문서와 함께 Sandbox와 승인, writable root 안의 보호 경로, 네트워크 접근을 같이 확인하십시오.

Key타입설명
modelstring사용할 모델입니다(예: gpt-5.5).
review_modelstring/review에서 사용할 선택적 모델 오버라이드입니다. 기본값은 현재 세션 모델입니다.
model_providerstringmodel_providers의 provider id입니다(기본값: openai).
openai_base_urlstring내장 openai model provider에 사용할 base URL 오버라이드입니다.
model_context_windownumber활성 모델에서 사용할 수 있는 context window token 수입니다.
model_auto_compact_token_limitnumber자동 history compaction을 트리거하는 token threshold입니다. 설정하지 않으면 모델 기본값을 사용합니다.
model_catalog_jsonstring (path)시작 시 로드할 선택적 JSON model catalog 경로입니다. Profile 수준의 profiles.<name>.model_catalog_json으로 profile별 오버라이드를 지정할 수 있습니다.
oss_providerlmstudio | ollama--oss로 실행할 때 사용할 기본 local provider입니다. 설정하지 않으면 Codex가 물어봅니다.
approval_policyuntrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }Codex가 명령을 실행하기 전에 언제 승인을 요청하며 멈출지 제어합니다. approval_policy = { granular = { ... } }로 특정 prompt category를 허용하거나 자동 거절하면서 다른 prompt는 interactive 상태로 둘 수 있습니다. on-failure는 deprecated입니다. Interactive 실행에는 on-request, non-interactive 실행에는 never를 사용하십시오.
approval_policy.granular.sandbox_approvalbooleantrue이면 sandbox escalation 승인 prompt를 표시할 수 있습니다.
approval_policy.granular.rulesbooleantrue이면 execpolicy prompt rule이 트리거한 승인을 표시할 수 있습니다.
approval_policy.granular.mcp_elicitationsbooleantrue이면 MCP elicitation prompt를 자동 거절하지 않고 표시할 수 있습니다.
approval_policy.granular.request_permissionsbooleantrue이면 request_permissions tool의 prompt를 표시할 수 있습니다.
approval_policy.granular.skill_approvalbooleantrue이면 skill-script 승인 prompt를 표시할 수 있습니다.
approvals_revieweruser | auto_reviewon-request 또는 granular approval policy에서 승인 가능한 prompt를 누가 검토할지 지정합니다. 기본값은 user이며, auto_review는 reviewer subagent를 사용합니다. 이 설정은 sandboxing이나 sandbox 안에서 이미 허용된 review action을 바꾸지 않습니다.
auto_review.policystring자동 review에 사용할 local Markdown policy 지침입니다. 관리형 guardian_policy_config가 우선합니다. 빈 값은 무시됩니다.
allow_login_shellbooleanShell 기반 tool이 login-shell semantics를 사용할 수 있게 합니다. 기본값은 true입니다. false이면 login = true 요청이 거절되고, login이 생략된 경우 non-login shell이 기본값이 됩니다.
sandbox_moderead-only | workspace-write | danger-full-access명령 실행 중 파일 시스템과 네트워크 접근에 적용할 sandbox 정책입니다.
sandbox_workspace_write.writable_rootsarray<string>sandbox_mode = "workspace-write"일 때 추가로 쓰기 가능한 root입니다.
sandbox_workspace_write.network_accessbooleanworkspace-write sandbox 안에서 outbound network access를 허용합니다.
sandbox_workspace_write.exclude_tmpdir_env_varbooleanworkspace-write 모드에서 $TMPDIR를 writable root에서 제외합니다.
sandbox_workspace_write.exclude_slash_tmpbooleanworkspace-write 모드에서 /tmp를 writable root에서 제외합니다.
windows.sandboxunelevated | elevatedWindows에서 Codex를 native로 실행할 때 사용하는 Windows 전용 native sandbox mode입니다.
windows.sandbox_private_desktopbooleanNative Windows에서 최종 sandboxed child process를 기본적으로 private desktop에서 실행합니다. 기존 Winsta0\\Default 동작과의 호환성이 필요할 때만 false로 설정하십시오.
notifyarray<string>알림을 위해 호출할 command입니다. Codex에서 JSON payload를 받습니다.
check_for_update_on_startupboolean시작할 때 Codex update를 확인합니다. 중앙에서 update를 관리할 때만 false로 설정하십시오.
feedback.enabledbooleanCodex surface 전반에서 /feedback을 통한 feedback 제출을 활성화합니다(기본값: true).
analytics.enabledboolean이 machine/profile의 analytics를 켜거나 끕니다. 설정하지 않으면 client 기본값을 사용합니다.
instructionsstring향후 사용을 위해 예약된 key입니다. model_instructions_file 또는 AGENTS.md 사용을 권장합니다.
developer_instructionsstring세션에 주입할 추가 developer instruction입니다(선택 사항).
log_dirstring (path)Codex가 log file(예: codex-tui.log)을 쓰는 디렉터리입니다. 기본값은 $CODEX_HOME/log입니다.
sqlite_homestring (path)Agent job과 기타 resume 가능한 runtime state에서 사용하는 SQLite 기반 state DB를 Codex가 저장할 디렉터리입니다.
compact_promptstringHistory compaction prompt의 inline 오버라이드입니다.
commit_attributionstring[features].codex_git_commit이 켜져 있을 때 사용할 commit co-author trailer입니다. 기본값은 Codex <noreply@openai.com>이며, 비활성화하려면 ""로 설정합니다.
model_instructions_filestring (path)AGENTS.md 대신 사용할 내장 지침 대체 파일입니다.
personalitynone | friendly | pragmaticsupportsPersonality를 지원한다고 표시한 모델의 기본 커뮤니케이션 스타일입니다. Thread/turn 단위 또는 /personality로 오버라이드할 수 있습니다.
service_tierflex | fast새 turn에 사용할 선호 service tier입니다.
experimental_compact_prompt_filestring (path)Compaction prompt 오버라이드를 파일에서 로드합니다(실험적 기능).
skills.configarray<object>config.toml에 저장되는 skill별 enablement override입니다.
skills.config.<index>.pathstring (path)SKILL.md가 들어 있는 skill folder의 경로입니다.
skills.config.<index>.enabledboolean참조된 skill을 활성화하거나 비활성화합니다.
apps.<id>.enabledboolean특정 app/connector를 id 기준으로 활성화하거나 비활성화합니다(기본값: true).
apps._default.enabledbooleanApp별 오버라이드가 없을 때 모든 app에 적용할 기본 enabled 상태입니다.
apps._default.destructive_enabledbooleandestructive_hint = true인 app tool을 기본적으로 허용할지 거부할지 지정합니다.
apps._default.open_world_enabledbooleanopen_world_hint = true인 app tool을 기본적으로 허용할지 거부할지 지정합니다.
apps.<id>.destructive_enabledboolean이 app에서 destructive_hint = true라고 표시된 tool을 허용하거나 차단합니다.
apps.<id>.open_world_enabledboolean이 app에서 open_world_hint = true라고 표시된 tool을 허용하거나 차단합니다.
apps.<id>.default_tools_enabledbooleanTool별 오버라이드가 없을 때 이 app의 tool에 적용할 기본 enabled 상태입니다.
apps.<id>.default_tools_approval_modeauto | prompt | approveTool별 오버라이드가 없을 때 이 app의 tool에 적용할 기본 승인 동작입니다.
apps.<id>.tools.<tool>.enabledbooleanApp tool 하나에 대한 tool별 enabled 오버라이드입니다(예: repos/list).
apps.<id>.tools.<tool>.approval_modeauto | prompt | approveApp tool 하나에 대한 tool별 승인 동작 오버라이드입니다.
tool_suggest.discoverablesarray<table>추가로 발견 가능한 connector 또는 plugin에 대해 tool suggestion을 허용합니다. 각 entry는 type = "connector" 또는 "plugin"id를 사용합니다.
tool_suggest.disabled_toolsarray<table>특정 discoverable connector 또는 plugin에 대한 suggestion을 비활성화합니다. 각 entry는 type = "connector" 또는 "plugin"id를 사용합니다.
features.appsbooleanChatGPT Apps/connectors 지원을 활성화합니다(실험적 기능).
features.codex_hooksbooleanhooks.json 또는 inline [hooks] config에서 로드한 lifecycle hook을 활성화합니다.
features.codex_git_commitbooleanCodex가 생성하는 git commit을 활성화합니다. 이 기능이 켜져 있으면 Codex는 commit_attribution을 사용해 생성된 commit message에 Co-authored-by: trailer를 추가합니다.
hookstableconfig.toml 안에 inline으로 구성한 lifecycle hook입니다. hooks.json과 같은 event schema를 사용합니다. 예시와 지원 event는 Hooks guide를 참고하십시오.
features.memoriesbooleanMemories를 활성화합니다(기본값: off).
mcp_servers.<id>.commandstringMCP stdio server를 시작할 launcher command입니다.
mcp_servers.<id>.argsarray<string>MCP stdio server command에 전달할 argument입니다.
mcp_servers.<id>.envmap<string,string>MCP stdio server에 전달할 환경 변수입니다.
mcp_servers.<id>.env_varsarray<string | { name = string, source = "local" | "remote" }>MCP stdio server에 대해 추가로 allowlist에 넣을 환경 변수입니다. String entry는 기본적으로 source = "local"이며, executor-backed remote stdio에서만 source = "remote"를 사용하십시오.
mcp_servers.<id>.cwdstringMCP stdio server process의 working directory입니다.
mcp_servers.<id>.urlstringMCP streamable HTTP server의 endpoint입니다.
mcp_servers.<id>.bearer_token_env_varstringMCP HTTP server의 bearer token을 가져올 환경 변수입니다.
mcp_servers.<id>.http_headersmap<string,string>각 MCP HTTP request에 포함할 static HTTP header입니다.
mcp_servers.<id>.env_http_headersmap<string,string>MCP HTTP server에서 환경 변수로 채울 HTTP header입니다.
mcp_servers.<id>.enabledboolean구성을 제거하지 않고 MCP server를 비활성화합니다.
mcp_servers.<id>.requiredbooleantrue이면 활성화된 이 MCP server를 초기화할 수 없을 때 startup/resume이 실패합니다.
mcp_servers.<id>.startup_timeout_secnumberMCP server의 기본 10초 startup timeout을 오버라이드합니다.
mcp_servers.<id>.startup_timeout_msnumberstartup_timeout_sec의 millisecond 단위 alias입니다.
mcp_servers.<id>.tool_timeout_secnumberMCP server tool별 기본 60초 timeout을 오버라이드합니다.
mcp_servers.<id>.enabled_toolsarray<string>MCP server가 노출하는 tool name allow list입니다.
mcp_servers.<id>.disabled_toolsarray<string>MCP server에 대해 enabled_tools 뒤에 적용되는 deny list입니다.
mcp_servers.<id>.scopesarray<string>해당 MCP server에 인증할 때 요청할 OAuth scope입니다.
mcp_servers.<id>.oauth_resourcestringMCP login 중 포함할 선택적 RFC 8707 OAuth resource parameter입니다.
mcp_servers.<id>.experimental_environmentlocal | remoteMCP server의 실험적 placement입니다. remote는 remote executor environment를 통해 stdio server를 시작합니다. Streamable HTTP remote placement는 구현되어 있지 않습니다.
agents.max_threadsnumber동시에 열 수 있는 agent thread의 최대 수입니다. 설정하지 않으면 기본값 6입니다.
agents.max_depthnumberSpawn된 agent thread에 허용되는 최대 nesting depth입니다. Root session은 depth 0에서 시작하며, 기본값은 1입니다.
agents.job_max_runtime_secondsnumberspawn_agents_on_csv job에서 worker별 기본 timeout입니다. 설정하지 않으면 tool은 worker당 1800초를 사용합니다.
agents.<name>.descriptionstringCodex가 해당 agent type을 선택하고 spawn할 때 참고하는 role guidance입니다.
agents.<name>.config_filestring (path)해당 role에 적용할 TOML config layer 경로입니다. 상대 경로는 role을 선언한 config file 기준으로 해석됩니다.
agents.<name>.nickname_candidatesarray<string>해당 role에서 spawn된 agent에 사용할 선택적 display nickname pool입니다.
memories.generate_memoriesbooleanfalse이면 새로 생성된 thread가 memory-generation input으로 저장되지 않습니다. 기본값은 true입니다.
memories.use_memoriesbooleanfalse이면 Codex가 future session에 기존 memory를 주입하지 않습니다. 기본값은 true입니다.
memories.disable_on_external_contextbooleantrue이면 MCP tool call, 웹 검색, tool search 같은 external context를 사용하는 thread를 memory generation에서 제외합니다. 기본값은 false입니다. Legacy alias: memories.no_memories_if_mcp_or_web_search.
memories.max_raw_memories_for_consolidationnumberGlobal consolidation을 위해 보관할 최근 raw memory의 최대 수입니다. 기본값은 256이며 최대 4096까지 허용됩니다.
memories.max_unused_daysnumber마지막으로 사용된 뒤 consolidation 대상에서 제외되기 전까지 허용되는 최대 일수입니다. 기본값은 30이며 0-365로 제한됩니다.
memories.max_rollout_age_daysnumberMemory generation 대상으로 고려할 thread의 최대 age입니다. 기본값은 30이며 0-90으로 제한됩니다.
memories.max_rollouts_per_startupnumberStartup pass마다 처리할 rollout candidate의 최대 수입니다. 기본값은 16이며 최대 128까지 허용됩니다.
memories.min_rollout_idle_hoursnumberThread를 memory generation 대상으로 고려하기 전 필요한 최소 idle time입니다. 기본값은 6이며 1-48로 제한됩니다.
memories.min_rate_limit_remaining_percentnumberMemory generation을 시작하기 전에 Codex rate-limit window에 남아 있어야 하는 최소 비율입니다. 기본값은 25이며 0-100으로 제한됩니다.
memories.extract_modelstringThread별 memory extraction에 사용할 선택적 모델 오버라이드입니다.
memories.consolidation_modelstringGlobal memory consolidation에 사용할 선택적 모델 오버라이드입니다.
features.unified_execboolean통합 PTY 기반 exec tool을 사용합니다. 안정화된 기능이며, Windows를 제외하고 기본적으로 켜져 있습니다.
features.shell_snapshotboolean반복 명령을 빠르게 실행하기 위해 shell environment snapshot을 만듭니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.undobooleanUndo support를 활성화합니다. 안정화된 기능이며 기본값은 off입니다.
features.multi_agentbooleanMulti-agent collaboration tool(spawn_agent, send_input, resume_agent, wait_agent, close_agent)을 활성화합니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.personalitybooleanPersonality selection control을 활성화합니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.web_searchbooleanDeprecated legacy toggle입니다. 최상위 web_search 설정을 권장합니다.
features.web_search_cachedbooleanDeprecated legacy toggle입니다. web_search가 unset이면 true가 web_search = "cached"로 매핑됩니다.
features.web_search_requestbooleanDeprecated legacy toggle입니다. web_search가 unset이면 true가 web_search = "live"로 매핑됩니다.
features.shell_toolboolean명령 실행에 사용할 기본 shell tool을 활성화합니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.enable_request_compressionboolean지원되는 경우 streaming request body를 zstd로 압축합니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.skill_mcp_dependency_installbooleanSkill에 필요한 MCP dependency가 없을 때 prompt를 표시하고 설치할 수 있게 합니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.fast_modebooleanFast mode 선택과 service_tier = "fast" 경로를 활성화합니다. 안정화된 기능이며 기본적으로 켜져 있습니다.
features.prevent_idle_sleepbooleanTurn이 실행 중일 때 machine이 sleep 상태로 들어가지 않게 합니다. 실험적 기능이며 기본값은 off입니다.
suppress_unstable_features_warningboolean개발 중인 feature flag가 활성화되었을 때 나타나는 경고를 숨깁니다.
model_providers.<id>tableCustom provider 정의입니다. Built-in provider ID(openai, ollama, lmstudio)는 예약되어 있으며 오버라이드할 수 없습니다.
model_providers.<id>.namestringCustom model provider의 display name입니다.
model_providers.<id>.base_urlstringModel provider의 API base URL입니다.
model_providers.<id>.env_keystringProvider API key를 제공하는 환경 변수입니다.
model_providers.<id>.env_key_instructionsstringProvider API key 설정에 대한 선택적 안내 문구입니다.
model_providers.<id>.experimental_bearer_tokenstringProvider에 직접 전달할 bearer token입니다. 권장하지 않으며 env_key를 사용하십시오.
model_providers.<id>.requires_openai_authbooleanProvider가 OpenAI authentication을 사용하는지 지정합니다. 기본값은 false입니다.
model_providers.<id>.wire_apiresponsesProvider가 사용하는 protocol입니다. responses만 지원되며, 생략하면 기본값입니다.
model_providers.<id>.query_paramsmap<string,string>Provider request에 덧붙일 추가 query parameter입니다.
model_providers.<id>.http_headersmap<string,string>Provider request에 추가할 static HTTP header입니다.
model_providers.<id>.env_http_headersmap<string,string>존재할 경우 환경 변수에서 채우는 HTTP header입니다.
model_providers.<id>.request_max_retriesnumberProvider로 보내는 HTTP request의 retry 횟수입니다(기본값: 4).
model_providers.<id>.stream_max_retriesnumberSSE streaming interruption의 retry 횟수입니다(기본값: 5).
model_providers.<id>.stream_idle_timeout_msnumberSSE stream의 idle timeout입니다. 단위는 millisecond입니다(기본값: 300000).
model_providers.<id>.supports_websocketsboolean해당 provider가 Responses API WebSocket transport를 지원하는지 지정합니다.
model_providers.<id>.authtableCustom provider를 위한 command-backed bearer token 구성입니다. env_key, experimental_bearer_token, requires_openai_auth와 함께 사용하지 마십시오.
model_providers.<id>.auth.commandstringCodex가 bearer token을 필요로 할 때 실행할 command입니다. 이 command는 token을 stdout에 출력해야 합니다.
model_providers.<id>.auth.argsarray<string>Token command에 전달할 argument입니다.
model_providers.<id>.auth.timeout_msnumberToken command의 최대 runtime입니다. 단위는 millisecond입니다(기본값: 5000).
model_providers.<id>.auth.refresh_interval_msnumberCodex가 token을 proactive하게 refresh하는 주기입니다. 단위는 millisecond입니다(기본값: 300000). 인증 retry 이후에만 refresh하려면 0으로 설정합니다.
model_providers.<id>.auth.cwdstring (path)Token command의 working directory입니다.
model_providers.amazon-bedrock.aws.profilestringBuilt-in amazon-bedrock provider가 사용할 AWS profile name입니다.
model_providers.amazon-bedrock.aws.regionstringBuilt-in amazon-bedrock provider가 사용할 AWS region입니다.
model_reasoning_effortminimal | low | medium | high | xhigh지원되는 모델의 reasoning effort를 조정합니다. Responses API 전용이며, xhigh 지원 여부는 모델에 따라 다릅니다.
plan_mode_reasoning_effortnone | minimal | low | medium | high | xhighPlan mode 전용 reasoning 오버라이드입니다. 설정하지 않으면 Plan mode의 내장 preset 기본값을 사용합니다.
model_reasoning_summaryauto | concise | detailed | noneReasoning summary의 detail 수준을 선택하거나 summary를 완전히 끕니다.
model_verbositylow | medium | highGPT-5 Responses API의 선택적 verbosity 오버라이드입니다. 설정하지 않으면 선택한 모델/preset 기본값을 사용합니다.
model_supports_reasoning_summariesbooleanCodex가 reasoning metadata를 보낼지 여부를 강제로 지정합니다.
shell_environment_policy.inheritall | core | noneSubprocess를 생성할 때의 기본 environment inheritance입니다.
shell_environment_policy.ignore_default_excludesboolean다른 filter가 실행되기 전에 KEY/SECRET/TOKEN이 포함된 variable을 유지합니다.
shell_environment_policy.excludearray<string>기본값 적용 이후 제거할 환경 변수 glob pattern입니다.
shell_environment_policy.include_onlyarray<string>Pattern allowlist입니다. 설정하면 match되는 variable만 유지합니다.
shell_environment_policy.setmap<string,string>모든 subprocess에 주입할 명시적 environment override입니다.
shell_environment_policy.experimental_use_profilebooleanSubprocess를 생성할 때 사용자 shell profile을 사용합니다.
project_root_markersarray<string>Project root를 찾기 위해 parent directory를 검색할 때 사용하는 marker filename 목록입니다.
project_doc_max_bytesnumberProject instruction을 만들 때 AGENTS.md에서 읽을 최대 byte 수입니다.
project_doc_fallback_filenamesarray<string>AGENTS.md가 없을 때 추가로 시도할 filename입니다.
profilestringStartup 시 기본으로 적용할 profile입니다(--profile과 동일).
profiles.<name>.*various지원되는 구성 key에 대한 profile 범위의 오버라이드입니다.
profiles.<name>.service_tierflex | fast새 turn에 대한 profile 범위의 service tier preference입니다.
profiles.<name>.plan_mode_reasoning_effortnone | minimal | low | medium | high | xhighProfile 범위의 Plan mode reasoning 오버라이드입니다.
profiles.<name>.web_searchdisabled | cached | liveProfile 범위의 web search mode 오버라이드입니다(기본값: "cached").
profiles.<name>.personalitynone | friendly | pragmatic지원되는 모델에 대한 profile 범위의 커뮤니케이션 스타일 오버라이드입니다.
profiles.<name>.model_catalog_jsonstring (path)Profile 범위의 model catalog JSON path 오버라이드입니다. 시작 시에만 적용되며, 해당 profile의 최상위 model_catalog_json을 오버라이드합니다.
profiles.<name>.model_instructions_filestring (path)Profile 범위에서 built-in instruction file을 대체할 파일입니다.
profiles.<name>.experimental_use_unified_exec_toolbooleanUnified exec를 활성화하는 legacy name입니다. [features].unified_exec 사용을 권장합니다.
profiles.<name>.oss_providerlmstudio | ollama--oss session에 사용할 profile 범위의 OSS provider입니다.
profiles.<name>.tools_view_imageboolean해당 profile에서 view_image tool을 활성화하거나 비활성화합니다.
profiles.<name>.analytics.enabledbooleanProfile 범위의 analytics enablement 오버라이드입니다.
profiles.<name>.windows.sandboxunelevated | elevatedProfile 범위의 Windows sandbox mode 오버라이드입니다.
history.persistencesave-all | noneCodex가 session transcript를 history.jsonl에 저장할지 제어합니다.
tool_output_token_limitnumber개별 tool/function output을 history에 저장할 때의 token budget입니다.
background_terminal_max_timeoutnumberwrite_stdin poll의 최대 poll window입니다. 단위는 millisecond입니다(background terminal polling). 기본값: 300000(5분). 이전 background_terminal_timeout key를 대체합니다.
history.max_bytesnumber설정하면 history file 크기를 byte 단위로 제한하고, 오래된 entry부터 삭제합니다.
file_openervscode | vscode-insiders | windsurf | cursor | noneCodex output의 citation을 여는 데 사용할 URI scheme입니다(기본값: vscode).
otel.environmentstring전송되는 OpenTelemetry event에 적용할 environment tag입니다(기본값: dev).
otel.exporternone | otlp-http | otlp-grpcOpenTelemetry exporter를 선택하고 endpoint metadata를 제공합니다.
otel.trace_exporternone | otlp-http | otlp-grpcOpenTelemetry trace exporter를 선택하고 endpoint metadata를 제공합니다.
otel.metrics_exporternone | statsig | otlp-http | otlp-grpcOpenTelemetry metrics exporter를 선택합니다(기본값: statsig).
otel.log_user_promptbooleanOpenTelemetry log에 raw user prompt를 export하도록 opt in합니다.
otel.exporter.<id>.endpointstringOTEL log exporter endpoint입니다.
otel.exporter.<id>.protocolbinary | jsonOTLP/HTTP exporter가 사용하는 protocol입니다.
otel.exporter.<id>.headersmap<string,string>OTEL exporter request에 포함할 static header입니다.
otel.trace_exporter.<id>.endpointstringOTEL log의 trace exporter endpoint입니다.
otel.trace_exporter.<id>.protocolbinary | jsonOTLP/HTTP trace exporter가 사용하는 protocol입니다.
otel.trace_exporter.<id>.headersmap<string,string>OTEL trace exporter request에 포함할 static header입니다.
otel.exporter.<id>.tls.ca-certificatestringOTEL exporter TLS의 CA certificate path입니다.
otel.exporter.<id>.tls.client-certificatestringOTEL exporter TLS의 client certificate path입니다.
otel.exporter.<id>.tls.client-private-keystringOTEL exporter TLS의 client private key path입니다.
otel.trace_exporter.<id>.tls.ca-certificatestringOTEL trace exporter TLS의 CA certificate path입니다.
otel.trace_exporter.<id>.tls.client-certificatestringOTEL trace exporter TLS의 client certificate path입니다.
otel.trace_exporter.<id>.tls.client-private-keystringOTEL trace exporter TLS의 client private key path입니다.
tuitableInline desktop notification 활성화 같은 TUI 전용 옵션입니다.
tui.notificationsboolean | array<string>TUI notification을 활성화합니다. 특정 event type으로 제한할 수도 있습니다.
tui.notification_methodauto | osc9 | belTerminal notification 방식입니다(기본값: auto).
tui.notification_conditionunfocused | alwaysTUI notification을 terminal에 focus가 없을 때만 보낼지, focus와 관계없이 보낼지 제어합니다. 기본값은 unfocused입니다.
tui.animationsbooleanTerminal animation(welcome screen, shimmer, spinner)을 활성화합니다(기본값: true).
tui.alternate_screenauto | always | neverTUI의 alternate screen 사용을 제어합니다. 기본값은 auto이며, auto는 Zellij에서 scrollback 보존을 위해 건너뜁니다.
tui.show_tooltipsbooleanTUI welcome screen에서 onboarding tooltip을 표시합니다(기본값: true).
tui.status_linearray<string> | nullTUI footer status-line item identifier의 순서 있는 목록입니다. null은 status line을 비활성화합니다.
tui.terminal_titlearray<string> | nullTerminal window/tab title item identifier의 순서 있는 목록입니다. 기본값은 ["spinner", "project"]이며, null은 title update를 비활성화합니다.
tui.themestringSyntax-highlighting theme 오버라이드입니다(kebab-case theme name).
tui.keymap.<context>.<action>string | array<string>TUI action에 대한 keyboard shortcut binding입니다. 지원 context에는 global, chat, composer, editor, pager, list, approval이 있으며, context-specific binding은 tui.keymap.global을 오버라이드합니다.
tui.keymap.<context>.<action> = []empty array해당 keymap context에서 action binding을 해제합니다. Key name은 ctrl-a, shift-enter, page-down 같은 normalized string을 사용합니다.
tui.model_availability_nux.<model>integerModel slug를 key로 쓰는 내부 startup-tooltip state입니다.
hide_agent_reasoningbooleanTUI와 codex exec output 모두에서 reasoning event를 숨깁니다.
show_raw_agent_reasoningboolean활성 모델이 raw reasoning content를 emit할 때 이를 표시합니다.
disable_paste_burstbooleanTUI에서 burst-paste 감지를 비활성화합니다.
windows_wsl_setup_acknowledgedbooleanWindows onboarding acknowledgement를 추적합니다(Windows 전용).
chatgpt_base_urlstringChatGPT login flow에서 사용하는 base URL을 오버라이드합니다.
cli_auth_credentials_storefile | keyring | autoCLI가 cached credential을 저장할 위치를 제어합니다(file-based auth.json 또는 OS keychain).
mcp_oauth_credentials_storeauto | file | keyringMCP OAuth credential의 선호 저장소입니다.
mcp_oauth_callback_portintegerMCP OAuth login 중 local HTTP callback server에 사용할 선택적 고정 port입니다. 설정하지 않으면 Codex가 OS가 선택한 ephemeral port에 bind합니다.
mcp_oauth_callback_urlstringMCP OAuth login의 선택적 redirect URI 오버라이드입니다(예: devbox ingress URL). mcp_oauth_callback_port는 여전히 callback listener port를 제어합니다.
experimental_use_unified_exec_toolbooleanUnified exec를 활성화하는 legacy name입니다. [features].unified_exec 또는 codex --enable unified_exec 사용을 권장합니다.
tools.web_searchboolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }선택적 web search tool 구성입니다. Legacy boolean form도 여전히 허용되지만, object form을 쓰면 search context size, allowed domain, 대략적인 user location을 설정할 수 있습니다.
tools.view_imagebooleanLocal-image attachment tool view_image를 활성화합니다.
web_searchdisabled | cached | liveWeb search mode입니다(기본값: "cached"). cached는 OpenAI가 관리하는 index를 사용하고 live page를 가져오지 않습니다. --yolo 또는 다른 full access sandbox 설정을 사용하면 기본값은 "live"가 됩니다. 웹에서 최신 데이터를 가져오려면 "live"를, tool을 제거하려면 "disabled"를 사용하십시오.
default_permissionsstringSandboxed tool call에 적용할 기본 permissions profile 이름입니다. Built-in은 :read-only, :workspace, :danger-no-sandbox이며, custom profile name을 쓰려면 대응하는 [permissions.<name>] table이 필요합니다.
permissions.<name>.filesystemtable이름이 붙은 filesystem permission profile입니다. 각 key는 absolute path 또는 :minimal, :project_roots 같은 special token입니다.
permissions.<name>.filesystem.glob_scan_max_depthnumberSandbox startup 전에 match를 snapshot하는 platform에서 deny-read glob pattern을 확장할 최대 depth입니다. 설정할 경우 최소 1이어야 합니다.
permissions.<name>.filesystem.<path-or-glob>"read" | "write" | "none" | tablePath, glob pattern, special token에 직접 access를 부여하거나, 해당 root 아래에 nested entry를 scope합니다. Match되는 path의 read를 거부하려면 "none"을 사용합니다.
permissions.<name>.filesystem.":project_roots".<subpath-or-glob>"read" | "write" | "none"감지된 project root를 기준으로 한 filesystem access입니다. Root 자체에는 "."를 사용하며, "**/*.env" 같은 glob subpath는 "none"으로 read를 거부할 수 있습니다.
permissions.<name>.network.enabledboolean이 named permissions profile에 network access를 활성화합니다.
permissions.<name>.network.proxy_urlstring이 permissions profile이 managed network proxy를 활성화할 때 사용할 HTTP proxy endpoint입니다.
permissions.<name>.network.enable_socks5boolean이 permissions profile이 managed network proxy를 활성화할 때 SOCKS5 listener를 노출합니다.
permissions.<name>.network.socks_urlstring이 permissions profile에서 사용할 SOCKS5 proxy endpoint입니다.
permissions.<name>.network.enable_socks5_udpboolean활성화되면 SOCKS5 listener를 통한 UDP를 허용합니다.
permissions.<name>.network.allow_upstream_proxybooleanManaged proxy가 다른 upstream proxy에 chain할 수 있게 합니다.
permissions.<name>.network.dangerously_allow_non_loopback_proxybooleanManaged proxy listener가 non-loopback bind address를 사용할 수 있게 합니다.
permissions.<name>.network.dangerously_allow_all_unix_socketsbooleanProxy가 기본 제한 set 대신 임의의 Unix socket을 사용할 수 있게 합니다.
permissions.<name>.network.modelimited | fullSubprocess traffic에 사용할 network proxy mode입니다.
permissions.<name>.network.domainsmap<string, allow | deny>Managed proxy의 domain rule입니다. Domain name이나 wildcard pattern을 key로 쓰고, 값은 allow 또는 deny를 사용합니다.
permissions.<name>.network.unix_socketsmap<string, allow | none>Managed proxy의 Unix socket rule입니다. Socket path를 key로 쓰고, 값은 allow 또는 none을 사용합니다.
permissions.<name>.network.allow_local_bindingbooleanManaged proxy를 통한 local bind/listen 작업을 허용합니다.
projects.<path>.trust_levelstringProject 또는 worktree를 trusted 또는 untrusted로 표시합니다("trusted" | "untrusted"). Untrusted project에서는 project-local config, hook, rule을 포함한 project-scoped .codex/ layer를 건너뜁니다.
notice.hide_full_access_warningbooleanFull access warning prompt를 확인했는지 추적합니다.
notice.hide_world_writable_warningbooleanWindows world-writable directory warning을 확인했는지 추적합니다.
notice.hide_rate_limit_model_nudgebooleanRate limit model switch reminder를 opt out했는지 추적합니다.
notice.hide_gpt5_1_migration_promptbooleanGPT-5.1 migration prompt를 확인했는지 추적합니다.
notice.hide_gpt-5.1-codex-max_migration_promptbooleangpt-5.1-codex-max migration prompt를 확인했는지 추적합니다.
notice.model_migrationsmap<string,string>확인한 model migration을 old->new mapping으로 추적합니다.
forced_login_methodchatgpt | apiCodex를 특정 authentication method로 제한합니다.
forced_chatgpt_workspace_idstring (uuid)ChatGPT login을 특정 workspace identifier로 제한합니다.

최신 config.toml JSON schema는 여기에서 확인할 수 있습니다.

VS Code 또는 Cursor에서 config.toml을 편집할 때 autocompletion과 diagnostics를 사용하려면 Even Better TOML extension을 설치하고 config.toml 맨 위에 다음 줄을 추가합니다.

#:schema https://developers.openai.com/codex/config-schema.json

참고: experimental_instructions_filemodel_instructions_file로 이름을 바꾸십시오. Codex는 이전 key를 deprecated 처리하므로 기존 config를 새 이름으로 업데이트해야 합니다.

requirements.toml

requirements.toml은 관리자가 강제하는 구성 파일로, 사용자가 오버라이드할 수 없는 보안 민감 설정을 제한합니다. 자세한 설명, 위치, 예시는 관리자가 강제하는 요구 사항을 참고하십시오.

ChatGPT Business 및 Enterprise 사용자에게는 Codex가 cloud에서 가져온 requirements도 적용할 수 있습니다. 우선순위 세부 정보는 security page를 참고하십시오.

requirements.toml에서 [features]를 사용하면 config.toml과 같은 canonical key로 feature flag를 고정할 수 있습니다. 생략된 key에는 제약이 적용되지 않습니다.

Key타입설명
allowed_approval_policiesarray<string>approval_policy에 허용되는 값입니다(예: untrusted, on-request, never, granular).
allowed_approvals_reviewersarray<string>approvals_reviewer에 허용되는 값입니다. 예: user, auto_review.
guardian_policy_configstring자동 review에 사용할 관리형 Markdown policy 지침입니다. Local [auto_review].policy보다 우선합니다. 빈 값은 무시됩니다.
allowed_sandbox_modesarray<string>sandbox_mode에 허용되는 값입니다.
remote_sandbox_configarray<table>Host별 sandbox requirement입니다. hostname_patterns가 resolved host name과 match되는 첫 entry가 해당 requirements source의 최상위 allowed_sandbox_modes를 오버라이드합니다. 현재 host-specific entry는 sandbox mode만 오버라이드합니다.
remote_sandbox_config[].hostname_patternsarray<string>대소문자를 구분하지 않는 host name pattern입니다. *는 임의 길이의 문자 sequence, ?는 한 글자를 의미합니다.
remote_sandbox_config[].allowed_sandbox_modesarray<string>이 host-specific entry가 match될 때 적용할 허용 sandbox mode입니다.
allowed_web_search_modesarray<string>web_search에 허용되는 값입니다(disabled, cached, live). disabled는 항상 허용됩니다. 빈 list는 사실상 disabled만 허용합니다.
featurestableconfig.toml[features] table에 있는 canonical name을 key로 삼아 고정한 feature value입니다.
features.<name>boolean특정 canonical feature key가 활성화 또는 비활성화 상태로 유지되도록 요구합니다.
features.in_app_browserbooleanrequirements.toml에서 false로 설정하면 in-app browser pane을 비활성화합니다.
features.browser_usebooleanrequirements.toml에서 false로 설정하면 Browser Use와 Browser Agent 사용 가능 상태를 비활성화합니다.
features.computer_usebooleanrequirements.toml에서 false로 설정하면 Computer Use 사용 가능 상태와 관련 install/enablement flow를 비활성화합니다.
hookstable관리자가 강제하는 managed lifecycle hook입니다. Managed hook directory가 필요하며, config.toml의 inline [hooks]와 같은 event schema를 사용합니다.
hooks.managed_dirstring (absolute path)macOS와 Linux에서 managed hook script가 들어 있는 디렉터리입니다. Codex는 이 경로가 absolute이고 존재하는지 확인한 뒤 managed hook을 로드합니다.
hooks.windows_managed_dirstring (absolute path)Windows에서 managed hook script가 들어 있는 디렉터리입니다. Codex는 이 경로가 absolute이고 존재하는지 확인한 뒤 managed hook을 로드합니다.
hooks.<Event>array<table>PreToolUse, PostToolUse, PermissionRequest, SessionStart, UserPromptSubmit, Stop 같은 hook event의 matcher group입니다.
hooks.<Event>[].hooksarray<table>Matcher group의 hook handler입니다. 현재 command hook이 지원되며, prompt와 agent hook handler는 parse되지만 건너뜁니다.
permissions.filesystem.deny_readarray<string>관리자가 강제하는 filesystem read denial입니다. Entry는 path 또는 glob pattern일 수 있으며, 사용자는 local config로 이를 약화할 수 없습니다.
mcp_serverstable활성화할 수 있는 MCP server allowlist입니다. MCP server가 활성화되려면 server name(<id>)과 identity가 모두 match되어야 합니다. Allowlist에 없거나 identity가 맞지 않는 구성된 MCP server는 비활성화됩니다.
mcp_servers.<id>.identitytable단일 MCP server의 identity rule입니다. command(stdio) 또는 url(streamable HTTP) 중 하나를 설정합니다.
mcp_servers.<id>.identity.commandstringmcp_servers.<id>.command가 이 command와 match될 때 MCP stdio server를 허용합니다.
mcp_servers.<id>.identity.urlstringmcp_servers.<id>.url이 이 URL과 match될 때 MCP streamable HTTP server를 허용합니다.
rulestable.rules file과 merge되는 관리자가 강제하는 command rule입니다. Requirements rule은 제한적인 형태여야 합니다.
rules.prefix_rulesarray<table>강제되는 prefix rule 목록입니다. 각 rule에는 patterndecision이 필요합니다.
rules.prefix_rules[].patternarray<table>Pattern token으로 표현한 command prefix입니다. 각 token은 token 또는 any_of 중 하나를 설정합니다.
rules.prefix_rules[].pattern[].tokenstring이 위치의 단일 literal token입니다.
rules.prefix_rules[].pattern[].any_ofarray<string>이 위치에 허용되는 alternative token 목록입니다.
rules.prefix_rules[].decisionprompt | forbidden필수 항목입니다. Requirements rule은 prompt 또는 forbid만 가능하며 allow는 불가능합니다.
rules.prefix_rules[].justificationstring승인 prompt 또는 rejection message에 표시할 선택적 non-empty rationale입니다.
Previous
Config 고급
Next
인증