Deepseek ArtifactsDeepseek Artifacts
Codex CLI 가이드

Codex 기본 모델: config.toml로 설정·변경·고정하기

Codex CLI가 어떤 모델로 시작하는지 확인하고, /model로 세션 단위로 바꾸고, ~/.codex/config.toml의 model과 model_reasoning_effort로 기본값을 고정하고, 프로젝트별로 덮어쓰는 방법 — 그리고 0.161.0이 2026년 10월 7일에 바꾼 것까지.

빠른 답변

  • 아무것도 수정하지 않고 현재 기본 모델 확인: Codex 시작 시 환영 배너에 활성 모델이 찍히고, 세션 안에서는 /status, codex doctor --summary는 어떤 설정 파일이 로드됐는지 알려줍니다.
  • 이 세션만 바꾸려면 /model 슬래시 명령어 — 세션이 끝나면 전환도 사라지고 config.toml의 기본값으로 돌아옵니다.
  • 영구적으로는 ~/.codex/config.toml에 model = "gpt-6.1-sol"을 쓰고, model_reasoning_effort = "high"를 곁들여 추론 깊이를 조절하세요.
  • 신뢰된 프로젝트는 자체 .codex/config.toml로 사용자 기본값을 덮을 수 있고, 중첩 폴더는 또 덮을 수 있습니다 — 다만 CLI 플래그와 -c 덮어쓰기가 항상 이깁니다. 영상은 스코프 표로 이 우선순위 스택 전체를 증명합니다.
  • Codex CLI 0.161.0(2026년 10월 7일)은 번들 카탈로그와 Amazon Bedrock 카탈로그에서 GPT-6.1 Sol을 기본 모델로 만들었습니다 — 업그레이드하면 기본값이 몰래 바뀌었을 수도 있습니다.

Codex CLI Setup & Configuration: Which Setting Wins?

채널:Coding With Chuck10:12

열기

Config reference — official documentation

문서:developers.openai.com/codex

열기

Release rust-v0.161.0 — default model swap

릴리스:github.com/openai/codex

열기

녹화는 일회성 CODEX_HOME 실험 환경에서 gpt-5.6-terra·gpt-5.6-sol·gpt-5.6-luna를 예시값으로 사용합니다. 시연되는 키 — model, approval_policy, sandbox_mode, projects trust_level — 는 공식 레퍼런스의 실제 config.toml 키입니다. 세션 내 /model과 /status는 공식 슬래시 명령어 문서에서 왔습니다.

영상 장면의 저작권은 Coding With Chuck에게 있으며, 출처와 딥 링크를 밝혀 단계별 문서로 삽입했습니다.

Codex 기본 모델 한 단계씩 설정하기

실제로 돌고 있는 모델 확인하기

  1. 1

    공식 허브에서 설치하거나 열기

    모든 것은 chatgpt.com/codex에서 시작합니다 — 녹화는 터미널을 만지기 전에 허브와 Download 버튼을 엽니다. CLI가 이미 있다면 건너뛰고, 기본 모델이 스스로 바뀐 것 같다면 먼저 버전을 확인하세요. 번들 카탈로그는 릴리스 사이에서 움직입니다.

    ChatGPT Codex download page with the Download for Windows button and the tagline The same powerful coding agent, now in ChatGPT
    Download for Windows 버튼이 있는 chatgpt.com/codex 허브1:30에 보기
  2. 2

    셸이 실행하는 codex가 무엇인지 확인하기

    설정을 탓하기 전에, 실행 중인 게 내가 생각하는 Codex인지부터 확인하세요. PowerShell에서는 Get-Command codex가 codex.ps1로 풀리고 설치 경로를 보여주고, macOS·Linux에서는 which codex가 같은 역할을 합니다. 설치가 여러 개(npm + 독립 바이너리)면 수정한 설정이 무시되는 전형적인 원인이 됩니다.

    PowerShell Get-Command codex output showing codex.ps1 as an ExternalScript with its AppData Roaming npm source path and a Version column
    Get-Command codex가 실행 스크립트와 소스 경로를 풀어내는 장면2:00에 보기
  3. 3

    버전과 로그인 상태 확인하기

    codex --version을 실행하고 이어서 codex login status. 녹화에는 codex-cli 0.146.1과 "Logged in using ChatGPT"가 보입니다. 여기서 버전이 중요합니다: 기본 모델은 CLI의 번들 카탈로그를 따라오므로, 버전이 다른 두 대의 컴퓨터는 '기본이 뭔지'조차 서로 다르게 판단할 수 있습니다.

    PowerShell session showing codex --version report codex-cli 0.146.1 and codex login status reporting Logged in using ChatGPT
    한 화면에 codex --version과 codex login status2:40에 보기
  4. 4

    codex doctor로 실제 설정 검사하기

    codex doctor --summary는 건강 검사 보고서를 출력합니다: 녹화에는 "mixed auth signals" 메모(ChatGPT 로그인과 API 키 환경 변수 공존), runtime·install·git·terminal의 초록 체크, config loaded를 확인하는 Configuration 섹션이 담겨 있습니다. 설정 파일이 애초에 읽히는지 가장 빨리 확인하는 방법입니다.

    codex doctor --summary output with a mixed auth signals warning, green checkmarks for system, runtime, install, search, git and terminal, and the Configuration section confirming config loaded
    인증 메모와 초록 환경 체크가 담긴 doctor 보고서3:00에 보기

config.toml에 기본값 설정 — 사용자·프로젝트·하위 폴더

  1. 5

    Codex home 위치 찾기

    사용자 설정은 ~/.codex에 있고, CODEX_HOME 환경 변수는 Codex를 완전히 다른 곳으로 보낼 수 있습니다 — 녹화는 일회성 실험 폴더를 만들고 CODEX_HOME을 거기로 향하게 합니다. 동료나 스크립트가 CODEX_HOME을 설정해 뒀다면, ~/.codex/config.toml을 수정해도 Codex가 절대 읽지 않는 파일에 기록되는 셈입니다.

    PowerShell after setup-demo.ps1 announcing a disposable Codex configuration lab with CODEX_HOME pointing to demo/codex-home and run-demo.ps1 ready to launch
    격리된 CODEX_HOME 실험 환경을 알리는 셋업 스크립트4:30에 보기
  2. 6

    사용자 수준 config.toml 열기

    Codex home 안에는 config.toml이 있습니다 — 공식 설정 레퍼런스가 문서화하는 바로 그 파일입니다. 녹화는 VS Code에서 codex-home 폴더를 펼쳐 config.toml을 선택합니다. 일반적인 컴퓨터에서는 ~/.codex/config.toml이고, 없으면 새로 만드세요. TOML 문법(값은 따옴표, 쉼표 없음)을 지키세요.

    VS Code Explorer with the codex-home folder expanded showing its config.toml selected for editing the user-level Codex configuration
    VS Code에서 config.toml이 선택된 codex-home 폴더4:53에 보기
  3. 7

    사용자 수준에서 기본 모델 설정하기

    model = "gpt-5.6-terra"를 추가 — 녹화의 예시로, 그 시절 카탈로그 모델 하나입니다. 오늘날 번들 기본값은 gpt-6.1-sol이므로 /model에서 본 정확한 ID를 쓰세요. 같은 파일에는 approval_policy = "on-request"와 sandbox_mode = "workspace-write", 그리고 [projects.'D:\...\config-lab'] trust_level = "trusted" 블록이 어느 폴더가 자체 프로젝트 설정을 로드할 수 있는지 표시합니다.

    codex-home config.toml in VS Code setting model to gpt-5.6-terra with approval_policy on-request, sandbox_mode workspace-write and a trusted projects entry
    model, approval_policy, sandbox_mode와 신뢰 프로젝트 블록5:00에 보기
  4. 8

    프로젝트별로 모델 덮어쓰기

    신뢰된 리포지토리는 자체 .codex/config.toml을 가질 수 있습니다. 녹화는 config-lab 루트에 model = "gpt-5.6-sol"과 주석 "Trusted repository default for this demonstration"을 담아 하나를 추가합니다 — 이후 이 리포지토리에서 시작한 세션은 Sol을 쓰고 다른 곳은 Terra를 유지합니다. 문서의 규칙도 기억하세요: 프로젝트 파일은 model_provider 같은 머신 로컬 키를 덮을 수 없으므로, 프로바이더 설정은 사용자 수준에 둡니다.

    config-lab .codex config.toml in VS Code setting model to gpt-5.6-sol as the trusted repository default beneath the user config
    gpt-5.6-sol을 고정한 프로젝트의 .codex/config.toml5:25에 보기
  5. 9

    하위 폴더용 덮어쓰기 중첩하기

    한 단계 더: config-lab/tools는 자체 .codex/config.toml에 model = "gpt-5.6-luna"와 주석 "More specific setting for work launched under tools/"를 갖습니다. 신뢰된 프로젝트 설정은 리포지토리 루트부터 작업 디렉터리까지 적용되므로, 가장 구체적인 폴더에서 실행하면 그 폴더가 모델을 정합니다.

    VS Code showing config-lab/tools/.codex/config.toml with model set to gpt-5.6-luna as a more specific setting for work launched under tools
    해당 하위 트리에 gpt-5.6-luna를 고정하는 tools/.codex/config.toml5:50에 보기
  6. 10

    어느 층이 이겼는지 증명하기

    녹화는 run-demo 스크립트로 마무리하며 "Effective model" 표를 출력합니다: user → terra, project-root → sol, nested-project → luna, cli-override → terra. 우선순위 스택 전체가 한 화면에 — 명령줄 플래그와 -c 덮어쓰기가 중첩 폴더를 이기고, 중첩 폴더가 프로젝트 루트를 이기고, 프로젝트 루트가 사용자 설정을 이깁니다.

    PowerShell run-demo.ps1 output table of effective model per scope with user gpt-5.6-terra, project-root gpt-5.6-sol, nested-project gpt-5.6-luna and cli-override gpt-5.6-terra above Codex Doctor notes
    스코프별 유효 모델 표와 그 아래 doctor 메모6:00에 보기

세션 전환, reasoning effort, 0.161.0 기본 교체

  1. 11

    /model로 세션 하나만 전환하기

    세션 안에서는 /model이 피커를 열어 즉석에서 모델을 바꾸고, /status는 현재 적용 중인 모델과 reasoning effort를 알려줍니다. 세션 전환은 설계상 일시적입니다 — 종료 후 재시작하면 config.toml 기본값이 다시 인수합니다. 고정하기 전에 /model로 모델을 오디션하는 게 안전한 방법입니다.

  2. 12

    0.161.0 기본 교체 알아 두기(2026-10-07)

    2026년 10월 7일에 릴리스된 Codex CLI 0.161.0은 이렇게 밝힙니다: "GPT-6.1 Sol is now the default model in the bundled and Amazon Bedrock catalogs." model 키를 설정한 적이 없다면 업그레이드만으로 조용히 옮겨집니다. 이전 기본값을 지키려면 ~/.codex/config.toml에 명시적으로 적고, model_reasoning_effort(문서 예시는 "high")로 깊이를 조정하세요. 팀이라면 agents.default_subagent_model이 스폰된 에이전트의 기본 모델을 정하고, review_model이 /review가 쓰는 모델을 덮는다는 점도 알아 두세요.

기본 모델이 안 붙을 때

설정 파일을 고쳤는데 Codex는 여전히 옛 모델로 시작합니다. 다시 고치기 전에 이 목록을 훑으세요 — 원인은 거의 항상 당신의 설정보다 위에 앉은 또 다른 설정 층입니다.

  • 1실행 위치와 파일 스코프가 어긋남 — 프로젝트의 .codex/config.toml은 사용자 ~/.codex/config.toml을 덮고, 중첩된 것은 프로젝트 루트보다 위입니다. 실제로 실행하는 폴더에서 codex doctor를 돌려 어떤 설정을 로드했다고 보고하는지 확인하세요.
  • 2CLI 플래그나 일회성 -c 덮어쓰기는 모든 파일을 이깁니다 — 래퍼 스크립트, 별칭, IDE 확장이 --model이나 -c model=...을 붙여 codex를 실행하면 당신의 설정은 발언권이 없습니다. 명령이 실제로 어떻게 호출되는지 조사하세요.
  • 3CODEX_HOME이 다른 곳을 가리킴 — CODEX_HOME 환경 변수가 홈을 옮겨 버리면 ~/.codex/config.toml을 고쳐도 아무 일도 일어나지 않습니다. 영상의 실험 환경이 정확히 그걸 합니다. 파서를 탓하기 전에 변수를 echo 하세요.
  • 4프로젝트가 신뢰되지 않음 — 신뢰되지 않은 폴더의 .codex/config.toml은 통째로 건너뛰어집니다. 신뢰는 사용자 설정의 projects.'<path>'.trust_level = "trusted" 항목으로 부여합니다. 녹화의 사용자 파일에도 그렇게 적혀 있습니다.
  • 5머신 로컬 키를 프로젝트 파일에 넣음 — model_provider, model_providers, profile, profiles는 설계상 프로젝트 로컬 설정에서 무시됩니다. 프로젝트마다 커스텀 프로바이더를 붙이려 했다면 사용자 수준으로 옮기고, 로컬에서는 모델 ID만 덮으세요.
  • 6모델 ID 오타·개명 — model 값은 카탈로그와 정확히 일치해야 합니다(0.161.0이 번들·Bedrock 카탈로그를 재편했습니다). /model을 열어 정확한 ID를 복사해 config.toml에 붙여 넣고, 기억으로 타이핑하지 마세요.

파일 층위만 이해하면 동작은 완전히 예측 가능합니다: 사용자 기본값, 그다음 프로필, 그다음 리포지토리 루트부터 디렉터리까지의 신뢰된 프로젝트 설정, 마지막에 CLI 플래그. 영상의 스코프 표는 내 컴퓨터에서 재현해 볼 가치가 있습니다 — 실행 전에 네 줄을 모두 예측하면, 더는 Codex가 어떤 모델을 쓸지 궁금해 하지 않게 됩니다.

Codex 기본 모델 FAQ

계속 탐색하기