codex:~/docs$ cat codex.md

Codex CLI: The Definitive Technical Reference

#

words: 10123 read_time: 51m updated: 2026-03-05 08:42
$ less codex.md

요약: Codex는 코드베이스를 읽고, OS 수준의 샌드박스에서 명령을 실행하며, 파일을 패치하고, 작업을 클라우드에 위임하는 멀티 서피스 코딩 에이전트입니다. 다섯 가지 핵심 시스템(config.toml, 샌드박스/승인 모델, AGENTS.md, MCP, Skills)을 숙달하면 Codex는 생산성을 비약적으로 높여주는 도구가 됩니다. 컨텍스트 전환에는 프로파일을 사용하고, 272K 토큰 예산을 관리하려면 /compact를 활용하며, Codex, Cursor, Amp 등 여러 도구에서 통용되는 프로젝트 지침에는 AGENTS.md를 활용하세요.

Codex는 코드를 작성하는 챗봇이 아니라, 멀티 서피스 코딩 에이전트로 작동합니다. CLI는 코드베이스를 읽고, 샌드박스에서 명령을 실행하며, 파일을 패치하고, MCP를 통해 외부 서비스에 연결하고, 장시간 실행되는 작업을 클라우드에 위임합니다. 로컬에서 실행되지만 글로벌하게 사고하며, 동일한 지능이 작업 방식에 따라 네 가지 서로 다른 서피스를 구동합니다.

일상적인 Codex 사용과 효과적인 사용의 차이는 다섯 가지 핵심 시스템의 숙달 여부에 달려 있습니다. 이를 마스터하면 Codex는 생산성을 비약적으로 높여주는 도구가 됩니다:

  1. 설정 시스템: config.toml을 통해 동작을 제어합니다
  2. 샌드박스 및 승인 모델: Codex가 수행할 수 있는 작업을 제한합니다
  3. AGENTS.md: 프로젝트 수준의 운영 계약을 정의합니다
  4. MCP 프로토콜: 외부 서비스로 기능을 확장합니다
  5. Skills 시스템: 재사용 가능한 도메인 전문 지식을 패키지화합니다

저는 수개월 동안 프로덕션 코드베이스, CI/CD 파이프라인, 팀 워크플로에서 Claude Code와 함께 Codex를 운용했습니다. 이 가이드는 그 경험을 바탕으로, 처음 시작했을 때 존재했으면 좋았을 완전한 레퍼런스로 정리한 것입니다. 모든 기능에 실제 문법, 실제 설정 예시, 그리고 숙련된 사용자도 실수하기 쉬운 엣지 케이스가 포함되어 있습니다.

안정성 참고: [EXPERIMENTAL]로 표시된 기능은 릴리스 간에 변경될 수 있습니다. Codex Cloud와 MCP 명령 그룹은 v0.107.0 기준으로 실험적 기능입니다. 핵심 CLI, 샌드박스, AGENTS.md, config.toml, Skills는 안정적입니다.

핵심 요약

  • 네 가지 인터페이스, 하나의 두뇌: CLI, 데스크톱 앱, IDE 확장, 클라우드 작업 모두 동일한 GPT-5.x-Codex 인텔리전스를 공유하므로, 워크플로에 맞는 인터페이스를 선택하세요.
  • OS 수준 샌드박싱: Codex는 컨테이너 내부가 아닌 커널 수준에서 파일시스템 및 네트워크 제한을 적용합니다(macOS에서는 Seatbelt, Linux에서는 Landlock + seccomp).
  • AGENTS.md는 크로스 툴 호환: 프로젝트 지침은 Codex, Cursor, Copilot, Amp, Jules, Gemini CLI, Windsurf, Cline, Aider, Zed 및 60,000개 이상의 오픈소스 프로젝트에서 작동합니다. 한 번 작성하면 어디서나 사용할 수 있습니다.
  • 프로필로 컨텍스트 전환 비용 절감: 이름이 지정된 설정 프리셋(fast, careful, auto)을 정의하고 --profile로 전환할 수 있습니다.
  • 272K 입력 컨텍스트는 빠르게 소진됩니다: /compact, 집중된 프롬프트, @file 참조를 사용하여 토큰 예산을 사전에 관리하세요.

이 가이드 사용 방법

이 문서는 2,500줄 이상의 레퍼런스입니다 — 자신의 경험 수준에 맞는 곳부터 시작하세요:

경험 수준 시작 지점 추가 탐색
Codex 입문자 설치빠른 시작멘탈 모델 설정, 샌드박스
일상적 사용자 AGENTS.md, Skills, Plan Mode MCP, Hooks
팀 리더 / 엔터프라이즈 엔터프라이즈 배포모범 사례 의사결정 프레임워크, 워크플로 레시피
다른 도구에서 마이그레이션 마이그레이션 가이드 의사결정 프레임워크

문서 끝에 있는 빠른 참조 카드에서 모든 주요 명령어의 요약을 한눈에 확인할 수 있습니다.


Codex 작동 원리: 멘탈 모델

기능을 살펴보기 전에, Codex의 아키텍처가 사용 방식 전반에 어떤 영향을 미치는지 이해해야 합니다. 이 시스템은 공유 인텔리전스 레이어를 기반으로 네 가지 인터페이스에서 작동합니다:

┌─────────────────────────────────────────────────────────┐
│                    CODEX SURFACES                        │
├─────────────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌────────┐ │
│  │   CLI    │  │ Desktop  │  │   IDE    │  │ Cloud  │ │
│  │ Terminal │  │   App    │  │Extension │  │  Tasks │ │
│  └──────────┘  └──────────┘  └──────────┘  └────────┘ │
│  Local exec     Multi-task    Editor-native  Async      │
│  + scripting    + worktrees   + inline edits detached   │
├─────────────────────────────────────────────────────────┤
│  EXTENSION LAYER                                         │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐   │
│  │   MCP   │  │ Skills  │  │  Apps   │  │  Search │   │
│  └─────────┘  └─────────┘  └─────────┘  └─────────┘   │
│  External tools, reusable expertise, ChatGPT            │
│  connectors, web search (cached + live)                  │
├─────────────────────────────────────────────────────────┤
│  SECURITY LAYER                                          │
│  ┌─────────────────────────────────────────────────┐    │
│  │    Sandbox (Seatbelt / Landlock / seccomp)      │    │
│  │    + Approval Policy (untrusted → never)        │    │
│  └─────────────────────────────────────────────────┘    │
│  OS-level filesystem + network restrictions              │
├─────────────────────────────────────────────────────────┤
│  CORE LAYER                                              │
│  ┌─────────────────────────────────────────────────┐    │
│  │         GPT-5.x-Codex Intelligence              │    │
│  │   Tools: Shell, Patch, Read, Web Search         │    │
│  └─────────────────────────────────────────────────┘    │
│  Shared model across all surfaces; costs tokens          │
└─────────────────────────────────────────────────────────┘

코어 레이어: GPT-5.x-Codex 모델 패밀리가 모든 것을 구동합니다. v0.107.0 기준으로 gpt-5.3-codex가 기본 모델이며, 272K 토큰 입력 컨텍스트 윈도우(128K 출력, 총 400K 예산)를 제공합니다.35 파일을 읽고, 패치를 작성하고, 셸 명령을 실행하며, 코드베이스에 대해 추론합니다. 컨텍스트가 가득 차면 Codex가 대화를 압축하여 공간을 확보합니다. 이 레이어는 토큰을 소비합니다.

보안 레이어: Codex가 실행하는 모든 명령은 OS 수준 샌드박스를 통과합니다. macOS에서는 Apple의 Seatbelt 프레임워크가 커널 수준 제한을 적용합니다. Linux에서는 Landlock + seccomp이 파일시스템과 시스콜 접근을 필터링합니다. 샌드박스는 컨테이너 내부가 아닌 커널 수준에서 작동합니다. 이후 승인 정책이 사용자 확인을 요청할 시점을 결정합니다.

확장 레이어: MCP가 외부 서비스(GitHub, Figma, Sentry)를 연결합니다. Skills는 Codex가 필요 시 로드하는 재사용 가능한 워크플로를 패키징합니다. Apps는 ChatGPT 커넥터에 연결됩니다. 웹 검색은 인터넷에서 실시간 컨텍스트를 추가합니다.

인터페이스 레이어: CLI는 터미널 파워 유저와 자동화를 위한 것입니다. 데스크톱 앱은 멀티스레드 프로젝트 관리를 위한 것입니다. IDE 확장은 편집-컴파일-테스트 루프를 위한 것입니다. 클라우드는 독립적으로 실행되는 비동기 작업을 위한 것입니다.

핵심 인사이트: 대부분의 사용자는 하나의 인터페이스만 사용합니다. 파워 유저는 네 가지 모두를 활용합니다: 장시간 실행 작업에는 클라우드, 결정론적 저장소 작업에는 CLI, 긴밀한 코딩 루프에는 IDE 확장, 기획과 조율에는 데스크톱 앱을 사용합니다.


목차

  1. Codex 설치 방법
  2. 빠른 시작: 첫 번째 세션
  3. 핵심 상호작용 인터페이스
  4. 설정 시스템 심층 분석
  5. 어떤 모델을 선택해야 할까요?
  6. Codex 비용은 얼마인가요?
  7. 의사결정 프레임워크
  8. 샌드박스 및 승인 시스템 작동 방식
  9. AGENTS.md 작동 방식
  10. Hooks
  11. MCP(Model Context Protocol)란?
  12. JavaScript REPL 런타임
  13. Skills란?
  14. Plan Mode 및 협업
  15. 메모리 시스템
  16. 세션 관리
  17. 비대화형 모드 (codex exec)
  18. Codex 클라우드 및 백그라운드 작업
  19. Codex 데스크톱 앱
  20. GitHub Action 및 CI/CD
  21. Codex SDK
  22. 성능 최적화
  23. 문제 디버깅 방법
  24. 엔터프라이즈 배포
  25. 모범 사례 및 안티패턴
  26. 워크플로 레시피
  27. 마이그레이션 가이드
  28. 빠른 참조 카드
  29. 변경 이력
  30. 참고 자료

Codex 설치 방법

패키지 관리자

# npm (recommended)
npm install -g @openai/codex

# Homebrew (macOS)
brew install --cask codex

# Upgrade to latest
npm install -g @openai/codex@latest

직접 설치 스크립트 (v0.106.0+)

macOS 및 Linux에서는 GitHub 릴리스 에셋으로 제공되는 한 줄 설치 스크립트를 사용할 수 있습니다:62

curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | sh

이 스크립트는 플랫폼과 아키텍처를 자동 감지하고, 올바른 바이너리를 다운로드하여 PATH에 배치합니다.

바이너리 다운로드

npm이나 Homebrew가 없는 환경에서는 GitHub Releases1에서 플랫폼별 바이너리를 다운로드할 수 있습니다:

플랫폼 바이너리
macOS Apple Silicon codex-aarch64-apple-darwin.tar.gz
macOS x86_64 codex-x86_64-apple-darwin.tar.gz
Linux x86_64 codex-x86_64-unknown-linux-musl.tar.gz
Linux arm64 codex-aarch64-unknown-linux-musl.tar.gz

시스템 요구 사항

  • macOS: Apple Silicon 또는 Intel (Seatbelt을 통한 완전한 샌드박스 지원)
  • Linux: x86_64 또는 arm64 (Landlock + seccomp을 통한 샌드박스)
  • Windows: 제한된 토큰을 사용하는 네이티브 샌드박스 (v0.100.0에서 실험 단계에서 정식 전환). WSL도 지원2

인증

codex login                  # Interactive OAuth (recommended)
codex login --device-auth    # OAuth device code flow (headless)
codex login --with-api-key   # API key from stdin
codex login status           # Check auth state (exit 0 = logged in)
codex logout                 # Clear stored credentials

두 가지 인증 경로가 있습니다:

  1. ChatGPT 계정 (권장): 기존 Plus, Pro, Team, Business, Edu 또는 Enterprise 구독으로 로그인합니다. 클라우드 작업을 포함한 모든 기능에 접근할 수 있습니다.
  2. API Key: CODEX_API_KEY 환경 변수 또는 codex login --with-api-key로 설정합니다. 일부 기능(클라우드 스레드)은 사용할 수 없을 수 있습니다.

전문가 팁: 자격 증명 저장소는 config.tomlcli_auth_credentials_store로 설정할 수 있습니다. 옵션: file(기본값), keyring(OS 키체인), auto(keyring 사용 가능 시 keyring, 아니면 file로 폴백).

셸 자동완성

# Generate completions for your shell
codex completion bash > /etc/bash_completion.d/codex
codex completion zsh > ~/.zsh/completions/_codex
codex completion fish > ~/.config/fish/completions/codex.fish

설치 확인

codex --version
# Codex CLI v0.104.0

빠른 시작: 첫 번째 세션

5분 만에 설치부터 실제 사용까지 시작할 수 있습니다.

1. 설치 및 인증:

npm i -g @openai/codex          # Install
codex login                      # Log in with your OpenAI account

2. 프로젝트로 이동:

cd ~/my-project                  # Any git repo works

3. Codex 실행:

codex

대화형 TUI가 표시됩니다. Codex가 프로젝트 구조를 자동으로 읽어들입니다.

4. 질문하기:

> What does this project do? Summarize the architecture.

Codex가 주요 파일을 읽고 코드베이스를 설명합니다. 기본 suggest 모드에서는 어떤 변경도 이루어지지 않습니다.

5. 변경 요청하기:

> Add input validation to the login endpoint

Codex가 diff 형태로 편집 내용을 제안합니다. y를 눌러 승인하거나 n을 눌러 거부할 수 있습니다.

6. 슬래시 명령어 사용하기:

> /plan Refactor the database layer to use connection pooling

Codex가 실행 없이 계획만 생성합니다. 계획을 검토한 후 승인하면 실행이 시작됩니다.

7. 작업 확인하기:

> /diff

현재 세션에서 Codex가 수행한 모든 변경 사항을 확인할 수 있습니다.

다음 단계: - 프로젝트 지침이 담긴 AGENTS.md를 설정하세요 (AGENTS.md는 어떻게 작동하나요? 참조) - 워크플로에 맞는 프로필을 구성하세요 (프로필 참조) - 비대화형 자동화를 위해 codex exec를 사용해 보세요 (비대화형 모드 참조)


핵심 인터페이스

Codex는 동일한 지능을 기반으로 네 가지 고유한 인터페이스를 제공합니다. 각 인터페이스는 서로 다른 워크플로 패턴에 최적화되어 있습니다.

1. 대화형 CLI (터미널 UI)

codex                        # Launch TUI
codex "fix the failing tests" # Launch with initial prompt
codex -m gpt-5.3-codex      # Specify model
codex --full-auto            # Workspace-write sandbox + on-request approval

터미널 UI는 다음과 같은 기능을 갖춘 전체 화면 애플리케이션입니다:

  • 작성기: 프롬프트를 입력하고, @로 파일을 첨부하며, ! 접두사로 셸 명령어를 실행합니다
  • 출력 창: 모델 응답, 도구 호출, 명령어 출력의 실시간 스트리밍을 표시합니다
  • 상태 표시줄: 모델, 토큰 사용량, git 브랜치, 샌드박스 모드를 표시합니다

주요 TUI 단축키:

단축키 동작
@ 퍼지 파일 검색 (컨텍스트에 첨부)
!command 셸 명령어 직접 실행
Ctrl+G 외부 편집기 열기 ($VISUAL / $EDITOR)
Enter (실행 중) 턴 중간에 새 지시사항 삽입
Esc 두 번 이전 메시지 편집
방향키 작성 기록 탐색

TUI에서 사용 가능한 슬래시 명령어:

명령어 설명
/quit 또는 /exit CLI 종료
/new 같은 세션에서 새 대화 시작
/resume 저장된 대화 재개
/fork 현재 대화를 새 스레드로 분기
/model 모델 및 추론 강도 전환
/compact 대화를 요약하여 토큰 확보
/diff 추적되지 않은 파일을 포함한 git diff 표시
/review 작업 트리 코드 리뷰
/plan 계획 모드 진입
/mention 대화에 파일 첨부
/init AGENTS.md 스캐폴드 생성
/status 세션 설정 및 토큰 사용량 표시
/permissions 승인 정책 설정
/personality 커뮤니케이션 스타일 설정 (friendly/pragmatic/none)
/mcp 설정된 MCP 도구 목록 표시
/apps ChatGPT 커넥터 탐색
/ps 백그라운드 터미널 표시
/skills skills 접근 및 실행
/config 적용 중인 설정 값과 출처 표시
/statusline TUI 하단 표시줄 구성
/feedback Codex 유지관리자에게 로그 전송
/logout 로그아웃

2. Codex Desktop App (macOS)

codex app                    # Launch desktop app (auto-installs if missing)

데스크톱 앱은 CLI에는 없는 다음과 같은 기능을 추가로 제공합니다:

  • 멀티태스킹: 여러 프로젝트에서 복수의 병렬 에이전트를 동시에 실행할 수 있습니다
  • Git worktree 격리: 각 스레드가 저장소의 격리된 사본에서 작업합니다
  • 인라인 diff 리뷰: 앱을 벗어나지 않고 변경 사항을 스테이징, 되돌리기, 커밋할 수 있습니다
  • 통합 터미널: 스레드별로 명령어를 실행할 수 있는 터미널을 제공합니다
  • 대화 분기: 대화를 분기하여 대안을 탐색할 수 있습니다
  • 플로팅 팝아웃 창: 대화를 별도의 이동 가능한 창으로 분리할 수 있습니다
  • 자동화: 반복 작업을 예약할 수 있습니다 (이슈 분류, CI 모니터링, 알림 대응)

앱과 CLI 중 선택 기준: 여러 작업 흐름을 조율하거나 시각적 diff 리뷰가 필요할 때는 데스크톱 앱을 사용하세요. 터미널 조합성, 스크립팅 또는 CI/CD 통합이 필요할 때는 CLI를 사용하세요.

3. IDE 확장 (VS Code, Cursor, Windsurf)

Codex IDE 확장은 편집기에 직접 통합됩니다:

  • 에이전트 모드 기본 활성화: 파일 읽기, 편집, 명령어 실행을 수행합니다
  • 인라인 편집: 활성 파일에서 컨텍스트 인식 제안을 제공합니다
  • 세션 공유: CLI와 IDE 확장 간에 세션이 동기화됩니다
  • 동일한 인증: ChatGPT 계정 또는 API 키로 로그인합니다

VS Code Marketplace 또는 Cursor/Windsurf 확장 스토어에서 설치할 수 있습니다.3

4. Codex Cloud [실험적 기능]

클라우드 작업은 OpenAI 관리 환경에서 비동기적으로 실행됩니다:

  • 실행 후 방치: 로컬 머신과 독립적으로 실행되는 작업을 대기열에 추가합니다
  • 병렬 실행: 여러 클라우드 작업을 동시에 실행할 수 있습니다
  • PR 생성: Codex가 완료된 작업에서 풀 리퀘스트를 생성합니다
  • 로컬 적용: codex apply <TASK_ID>로 클라우드 결과를 로컬 저장소에 가져올 수 있습니다
codex cloud list             # List recent cloud tasks
codex apply <TASK_ID>        # Apply diff from a specific cloud task

클라우드 작업은 chatgpt.com/codex에서도 접근할 수 있습니다.4


구성 시스템 심층 분석

Codex는 구성에 TOML을 사용합니다. 우선순위 계층 구조를 이해하는 것이 매우 중요한데, 설정이 충돌할 때 어떤 설정이 우선하는지를 결정하기 때문입니다.

우선순위 (높은 순서에서 낮은 순서)

  1. 세션 오버라이드 (최우선): CLI 플래그 (--model, --sandbox, --ask-for-approval, --search, --enable/--disable, --profile) 및 -c key=value 오버라이드
  2. 프로젝트 구성 (.codex/config.toml, 현재 작업 디렉터리에서 프로젝트 루트까지 상위로 탐색하며 가장 가까운 디렉터리가 우선)
  3. 사용자 구성 ($CODEX_HOME/config.toml, 기본값은 ~/.codex/config.toml)
  4. 시스템 구성 (Unix에서 /etc/codex/config.toml)
  5. 내장 기본값 (최하위)

requirements.toml은 일반 구성 병합 후 사용자가 선택할 수 있는 값을 제한하는 정책 제약 계층 역할을 합니다. 엔터프라이즈 배포를 참조하세요.

구성 파일 위치

범위 경로 용도
사용자 ~/.codex/config.toml 개인 기본 설정
프로젝트 .codex/config.toml 저장소별 오버라이드
시스템 /etc/codex/config.toml 시스템 전체 기본값
관리형 /etc/codex/requirements.toml 관리자 강제 정책 제약

전문가 팁: CODEX_HOME 환경 변수는 기본 ~/.codex 디렉터리를 오버라이드합니다. CI/CD 또는 다중 계정 설정에 유용합니다.

전체 구성 레퍼런스

# ~/.codex/config.toml — annotated reference

# ─── Model Selection ───────────────────────────────────
model = "gpt-5.3-codex"                # Default model (272K input context)
model_provider = "openai"               # Provider (openai, oss, or custom provider id)
model_context_window = 272000           # Token count available to active model (override)
model_auto_compact_token_limit = 200000 # Threshold triggering automatic history compaction
model_reasoning_effort = "medium"       # minimal|low|medium|high|xhigh (model-dependent)
model_reasoning_summary = "auto"        # auto|concise|detailed|none
model_verbosity = "medium"              # low|medium|high
personality = "pragmatic"               # none|friendly|pragmatic
review_model = "gpt-5.2-codex"         # Model for /review command
oss_provider = "lmstudio"              # lmstudio|ollama (used with --oss)

# ─── Sandbox & Approval ───────────────────────────────
sandbox_mode = "workspace-write"        # read-only|workspace-write|danger-full-access
approval_policy = "on-request"          # untrusted|on-failure|on-request|never

[sandbox_workspace_write]
writable_roots = []                     # Additional writable paths
network_access = false                  # Allow outbound network
exclude_tmpdir_env_var = false          # Exclude $TMPDIR from sandbox
exclude_slash_tmp = false               # Exclude /tmp from sandbox

# ─── Web Search ────────────────────────────────────────
web_search = "live"                     # Web search mode (constrained by allowed modes)

# ─── Instructions ──────────────────────────────────────
developer_instructions = ""             # Additional injected instructions
model_instructions_file = ""            # Custom instructions file path
compact_prompt = ""                     # Custom history compaction prompt

# ─── Shell Environment ─────────────────────────────────
allow_login_shell = false               # Allow login shell semantics (loads .profile/.zprofile)

[shell_environment_policy]
inherit = "all"                         # all|core|none
ignore_default_excludes = false         # Set true to keep KEY/SECRET/TOKEN vars
exclude = []                            # Glob patterns to exclude
set = {}                                # Explicit overrides
include_only = []                       # Whitelist patterns

# ─── Authentication ────────────────────────────────────
cli_auth_credentials_store = "file"     # file|keyring|auto
forced_login_method = "chatgpt"         # chatgpt|api
mcp_oauth_callback_port = 0            # Fixed port for MCP OAuth callback (0 = random)
mcp_oauth_credentials_store = "auto"   # auto|file|keyring

# ─── History & Storage ─────────────────────────────────
[history]
persistence = "save-all"                # save-all|none
max_bytes = 0                           # Cap size (0 = unlimited)

tool_output_token_limit = 10000         # Max tokens per tool output
log_dir = ""                            # Custom log directory

# ─── UI & Display ──────────────────────────────────────
file_opener = "vscode"                  # vscode|vscode-insiders|windsurf|cursor|none
hide_agent_reasoning = false
show_raw_agent_reasoning = false
check_for_update_on_startup = true

[tui]
notifications = false                   # Enable notifications
notification_method = "auto"            # auto|osc9|bel
animations = true
show_tooltips = true
alternate_screen = "auto"               # auto|always|never
status_line = ["model", "context-remaining", "git-branch"]

# ─── Project Trust ─────────────────────────────────────
project_doc_max_bytes = 32768           # Max AGENTS.md size (32 KiB)
project_doc_fallback_filenames = []     # Alternative instruction filenames
project_root_markers = [".git"]         # Project root detection

# ─── Feature Flags ─────────────────────────────────────
# Use `codex features list` for current names/stages/defaults.
[features]
shell_tool = true                       # Shell command execution (stable)
collaboration_modes = true              # Plan mode (stable)
personality = true                      # Personality selection (stable)
request_rule = true                     # Smart approvals (stable)
unified_exec = true                     # PTY-backed exec (stable)
shell_snapshot = true                   # Shell env snapshots (stable)
command_attribution = true              # Codex co-author in commits (v0.103.0+)
request_user_input = true               # Allow agent to ask clarifying questions in Default mode (v0.106.0+)
multi_agent = false                     # Enable multi-agent collaboration tools (v0.102.0+)
apply_patch_freeform = false            # Expose freeform apply_patch tool
apps = false                            # ChatGPT Apps/connectors (experimental)
child_agents_md = false                 # AGENTS.md guidance (experimental)
runtime_metrics = false                 # Runtime summary in turns
search_tool = false                     # Enable search_tool_bm25 for Apps discovery

# ─── Multi-Agent Roles (v0.102.0+) ───────────────────
[agents]
max_threads = 4                         # Maximum concurrent agent threads

[agents.explorer]
description = "Read-only codebase navigator"
config_file = "~/.codex/profiles/explorer.toml"

# ─── Notifications ────────────────────────────────────
notify = ["terminal-notifier", "-title", "Codex"]  # Command for notifications

# ─── Per-Project Overrides ────────────────────────────
[projects."/absolute/path/to/repo"]
trust_level = "trusted"                 # Per-project trust override

프로필

다양한 작업 모드를 위한 명명된 구성 프리셋입니다:

# Define profiles in ~/.codex/config.toml

[profiles.fast]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
personality = "pragmatic"

[profiles.careful]
model = "gpt-5.3-codex"
model_reasoning_effort = "xhigh"
approval_policy = "untrusted"
sandbox_mode = "read-only"

[profiles.auto]
model = "gpt-5.3-codex"
model_reasoning_effort = "medium"
approval_policy = "never"
sandbox_mode = "workspace-write"

프로필을 활성화하려면:

codex --profile fast "quick refactor"
codex --profile careful "security audit"
codex -p auto "fix CI"

전문가 팁: 구성 파일의 최상위에 profile = "fast"를 설정하면 기본 프로필을 지정할 수 있습니다. 세션별로 --profile을 사용하여 오버라이드할 수 있습니다.

커스텀 모델 프로바이더

Azure, 로컬 모델 또는 프록시 서비스에 연결할 수 있습니다:

[model_providers.azure]
name = "Azure OpenAI"
base_url = "https://YOUR_PROJECT.openai.azure.com/openai"
wire_api = "responses"
query_params = { api-version = "2025-04-01-preview" }
env_key = "AZURE_OPENAI_API_KEY"

[model_providers.ollama]
name = "Ollama (Local)"
base_url = "http://localhost:11434/v1"
wire_api = "chat"

경고: chat/completions 와이어 API (wire_api = "chat")는 OpenAI 호스팅 모델에서 더 이상 사용되지 않으며, OpenAI는 2026년 2월에 제거를 발표했습니다.36 로컬 프로바이더(Ollama, LM Studio)는 여전히 이 형식을 지원할 수 있습니다. OpenAI 엔드포인트의 경우 wire_api = "responses"를 대신 사용하세요.

--oss 플래그를 사용하여 로컬 모델을 사용할 수 있습니다:

codex --oss "explain this function"               # Uses default OSS provider
codex --oss --local-provider lmstudio "explain"   # Explicit LM Studio
codex --oss --local-provider ollama "explain"      # Explicit Ollama

또는 구성 파일에서 설정할 수 있습니다:

model_provider = "oss"
oss_provider = "lmstudio"   # or "ollama"

인라인 구성 오버라이드

명령줄에서 모든 구성 값을 오버라이드할 수 있습니다:

codex -c model="gpt-5.2-codex" "refactor the API"
codex -c 'sandbox_workspace_write.network_access=true' "install dependencies"
codex -c model_reasoning_effort="xhigh" "debug the race condition"

어떤 모델을 선택해야 할까요?

사용 가능한 모델 (2026년 2월)

모델 입력 / 전체 컨텍스트 기본 추론 수준 최적 용도
gpt-5.3-codex 272K / 400K medium 기본 플래그십: 코딩 + 추론 통합
gpt-5.3-codex-spark 128K / 128K high 실시간 페어링, 빠른 대화형 반복 작업
gpt-5.2-codex 272K / 400K medium 장기 리팩토링, 마이그레이션, 레거시 코드
gpt-5.1-codex-mini 272K / 400K medium 간단한 작업, 비용 민감 작업, 대량 CI

정확한 모델 목록은 계정 및 배포 상태에 따라 다릅니다. v0.106.0 기준으로, gpt-5.3-codex는 API 키 사용자를 위한 CLI 모델 목록에서 확인할 수 있습니다.62 로컬 캐시를 확인하세요: ~/.codex/models_cache.json.

모델 선택 플로차트

Is this a quick fix or simple question?
├─ Yes → gpt-5.1-codex-mini (fastest, cheapest)
└─ No
   ├─ Do you need real-time pairing speed?
   │  ├─ Yes → gpt-5.3-codex-spark (interactive, lower latency)
   │  └─ No
   │     ├─ Is this a multi-file refactor or migration?
   │     │  ├─ Yes → gpt-5.2-codex (272K context, strong at long tasks)
   │     │  └─ No → gpt-5.3-codex (default, best overall)
   └─ Still unsure? → gpt-5.3-codex

추론 수준

모델이 응답하기 전에 얼마나 깊이 “생각”할지 제어합니다:

수준 동작 사용 시기
minimal 최소 추론 (GPT-5 모델 전용) 간단한 작업, 빠른 조회
low 간략한 추론 일반 코딩 작업, 서식 정리
medium 균형 잡힌 수준 (기본값) 대부분의 개발 작업
high 확장된 추론 복잡한 버그, 아키텍처 설계
xhigh 최대 추론 보안 감사, 심층 분석

지원되는 수준은 모델에 따라 다릅니다. minimal은 GPT-5 모델에서만 사용할 수 있습니다. 모든 모델이 모든 수준을 지원하는 것은 아닙니다.

codex -c model_reasoning_effort="xhigh" "find the race condition"

전문가 팁: xhigh 추론은 동일한 프롬프트에 대해 medium보다 3~5배 더 많은 토큰을 사용할 수 있습니다. 추가적인 사고가 실질적으로 도움이 되는 진정으로 어려운 문제에만 사용하세요.

모델 전환

세션 중에 /model slash command로 모델을 전환하거나, --model / -m 옵션으로 실행별 모델을 지정할 수 있습니다:

codex -m gpt-5.3-codex-spark "pair with me on this component"

Codex 비용은 얼마인가요?

모델 기능에 대해서는 모델 선택을, 작업별 적합한 모델 선택은 의사결정 프레임워크를 참고하세요.

ChatGPT 플랜별 접근 방식

Codex 사용 가능 여부는 ChatGPT 플랜 및 조직 설정에 따라 다릅니다:53

플랜 가격 Codex 접근 속도 제한 (5시간 기준)
Free / Go $0 / $5 기간 한정 프로모션 접근 낮음
Plus $20/월 로컬 CLI + 클라우드 작업 (2배 속도 제한) 로컬 메시지 45-225건, 클라우드 작업 10-60건
Pro $200/월 우선 처리, GPT-5.3-Codex-Spark (2배 속도 제한) 로컬 메시지 300-1500건, 클라우드 작업 50-400건
Business $30/사용자/월 팀 할당, 대용량 클라우드 VM, SAML SSO (2배 속도 제한) 로컬 메시지 45-225건, 클라우드 작업 10-60건
Enterprise / Edu 영업팀 문의 맞춤 할당, 관리자 제어, 감사 로그 크레딧에 따라 확장
API 키 사용량 기반 CLI, SDK, IDE 전용 (클라우드 기능 미포함) 토큰 기반

프로모션 요금: Free/Go 접근 및 유료 플랜의 2배 속도 제한은 Codex Desktop App 출시(2026년 2월)와 동시에 적용되었습니다. 이 상향된 제한은 앱, CLI, IDE, 클라우드 등 모든 인터페이스에 적용됩니다. OpenAI는 종료 일자를 발표하지 않았습니다.17

크레딧 비용

Codex 작업은 플랜 할당량에서 크레딧을 소비합니다:

작업 대략적 크레딧 비고
로컬 메시지 (GPT-5.3-Codex) ~5 표준 플래그십 모델
로컬 메시지 (GPT-5.1-Codex-Mini) ~1 크레딧 예산 대비 4배 더 많은 메시지
클라우드 작업 ~25 OpenAI 관리 환경에서 실행
코드 리뷰 (PR당) ~25 /review 또는 클라우드 리뷰를 통해 실행

Enterprise 및 Edu 플랜은 계약 할당량에 따라 크레딧이 확장됩니다. TUI에서 /status를 확인하여 현재 사용량을 조회하세요.

API 요금 청구

API를 통해 Codex를 사용하면, OpenAI는 선택한 모델에 대한 표준 OpenAI API 가격 정책에 따라 토큰 단위로 사용량을 청구합니다(해당되는 프롬프트 캐싱 할인 포함). 현재 요금은 공식 API 가격 페이지에서 확인하세요.21

비용 최적화 전략

  1. 프로필 활용: 일상적인 작업을 위해 gpt-5.1-codex-minimodel_reasoning_effort = "low"fast 프로필을 생성하세요
  2. 높은 추론 수준은 아껴서 사용: xhigh는 3~5배 더 많은 토큰을 소비하므로, 진정으로 어려운 문제에만 사용하세요
  3. --ephemeral 사용: CI/CD에서 세션 지속성을 건너뛰어 오버헤드를 줄이세요
  4. 추론 요약 최소화: 설명이 필요하지 않을 때 model_reasoning_summary = "none"으로 설정하세요
  5. exec 모드로 일괄 처리: codex exec는 자동화 워크플로에서 TUI 오버헤드를 방지합니다
  6. 사용량 모니터링: TUI에서 /status와 조직 결제 대시보드를 확인하세요

실제 비용 사례

일반적인 작업에 대한 대표적인 API 비용 (gpt-5.3-codex 표준 가격, medium 추론 기준):

작업 입력 토큰 출력 토큰 대략적 비용
500줄 모듈 설명 ~15K ~2K ~$0.25
실패하는 테스트 수정 (파일 1-2개) ~30K ~5K ~$0.50
테스트 포함 새 API 엔드포인트 추가 ~60K ~15K ~$1.10
인증 모듈 리팩토링 (파일 10개) ~120K ~30K ~$2.25
codex exec를 통한 전체 저장소 감사 ~200K ~20K ~$3.00
클라우드 작업: 미해결 이슈 20건 분류 ~250K ~40K ~$4.50

비용은 추론 수준, 캐싱, 대화 길이에 따라 달라집니다. 일상적인 작업에는 gpt-5.1-codex-mini를 사용하면 비용을 약 40~60% 절감할 수 있습니다. 캐시된 입력 토큰은 할인된 요금이 적용됩니다.

숨겨진 토큰 오버헤드

모든 도구 호출은 눈에 보이는 프롬프트 외에 추가 토큰을 소비합니다:

오버헤드 원인 대략적 비용
시스템 프롬프트 + AGENTS.md 턴당 ~2-5K 토큰 (최초 로드 후 캐시)
도구 정의 등록된 도구당 ~500 토큰
파일 읽기 (@file) 전체 파일 내용 토큰
MCP 도구 정의 연결된 서버당 ~200-500 토큰
추론 트레이스 가변적; xhigh는 3~5배 오버헤드 추가 가능

전문가 팁: TUI에서 /status를 통해 실제 사용량을 모니터링하세요. 토큰 수에는 눈에 보이는 메시지뿐만 아니라 모든 오버헤드가 포함됩니다. 비용이 예상보다 높다면 연결된 MCP 서버 수를 확인하세요 — 각 서버는 모든 API 호출에 도구 정의를 추가합니다.

팀 비용 관리

팀 규모 권장 설정 예상 월간 비용
개인 개발자 기본 모델, medium 추론 $20-80
소규모 팀 (3-5명) 프로필 (fast/careful), codex exec를 통한 코드 리뷰 $200-500
중규모 팀 (10-20명) Enterprise 플랜, requirements.toml 제한, CI 통합 $1,000-3,000
대규모 조직 (50명 이상) Enterprise + 관리자 제어, 감사 로깅, 할당 예산 맞춤 가격

팀 비용 관리 전략: - requirements.toml 설정: 조직 전체에서 모델 및 추론 수준 제한을 적용하세요 - CI/CD에는 gpt-5.1-codex-mini 사용: 자동화 파이프라인은 최대 추론이 거의 필요하지 않습니다 - 프로필 기반 예산 관리: 적절한 비용 한도를 설정한 ci, review, dev 프로필을 정의하세요 - OpenTelemetry를 통한 모니터링: 엔터프라이즈 배포에서는 사용량 텔레메트리를 기존 관측 가능성 스택으로 내보낼 수 있습니다


결정 프레임워크

각 환경별 사용 시기

시나리오 최적 환경 이유
빠른 버그 수정 CLI 빠르고 집중적이며 스크립트 가능
다중 파일 리팩터링 CLI 또는 App CLI는 결정적 패치에, App은 시각적 diff 검토에 적합
익숙하지 않은 코드 탐색 CLI 터미널 조합성, grep/find 통합
병렬 작업 흐름 Desktop App worktree 격리, 다중 작업 관리
활발한 파일 편집 IDE Extension 인라인 편집, 긴밀한 컴파일-테스트 루프
장기 실행 마이그레이션 Cloud 독립적으로 실행되며, 완료 시 PR 생성
CI/CD 자동화 codex exec 비대화형, JSON 출력, 스크립트 가능
코드 리뷰 CLI 또는 App /review 명령어와 프리셋 제공
팀 온보딩 Desktop App 시각적이고 안내형이며, 터미널 지식이 적게 필요

각 Sandbox 모드별 사용 시기

시나리오 모드 승인 방식 이유
알려지지 않은 코드 탐색 read-only untrusted 최대 안전성, 아무것도 손상시킬 수 없음
일상 개발 workspace-write on-request 속도와 안전성의 적절한 균형
신뢰할 수 있는 자동화 workspace-write never 빠르고 중단 없이 샌드박스 내 실행
시스템 관리 danger-full-access on-request 전체 접근 권한이 필요하지만 사람의 승인 필요
CI/CD 파이프라인 workspace-write never 자동화되며 작업 공간으로 샌드박스 제한

각 추론 수준별 사용 시기

작업 유형 추론 수준 모델 프로필
포매팅, 린팅 low gpt-5.1-codex-mini fast
일반 코딩 low-medium gpt-5.3-codex default
복잡한 디버깅 high gpt-5.3-codex careful
보안 감사 xhigh gpt-5.3-codex careful
빠른 프로토타이핑 low gpt-5.3-codex-spark fast
마이그레이션/리팩터링 medium-high gpt-5.2-codex default

Plan 모드 vs 직접 실행

Will Codex need to change more than 3 files?
│
├── YES → Use Plan Mode (/plan)
│         Codex designs the approach BEFORE making changes.
│         You review and approve the plan.
│         Best for: refactors, new features, migrations
│
└── NO → Is the change well-defined?
         │
         ├── YES → Direct execution
         │         Just describe the task. Codex executes immediately.
         │         Best for: bug fixes, small features, test additions
         │
         └── NO → Use Plan Mode (/plan)
                  Let Codex explore and propose an approach first.
                  Best for: unfamiliar codebases, ambiguous requirements

Steer 모드: Enter vs Tab

상황 Enter 사용 Tab 사용
Codex가 실수하려고 할 때 즉시 수정 사항 전송
후속 작업이 있을 때 현재 작업 완료 후를 위해 대기열에 추가
Codex가 잘못된 파일을 선택했을 때 즉시 리디렉션 전송
범위를 추가하고 싶을 때 추가 사항을 대기열에 추가
긴급한 우선순위 변경 즉시 새 우선순위 전송
긴급하지 않은 컨텍스트 대기열에 추가 — 급하지 않음

경험 법칙: Enter = “멈추고, 지금 이것을 들어라.” Tab = “끝나면, 이것도 해라.”

Desktop App vs CLI

How do you prefer to work?
│
├── Terminal-first → Use CLI
│   │
│   ├── Single focused task → codex (interactive TUI)
│   ├── Scripted automation → codex exec (non-interactive)
│   └── Quick one-shot → codex exec "prompt" -o result.txt
│
└── Visual/multi-project → Use Desktop App
    │
    ├── Multiple parallel tasks → Multi-thread with worktree isolation
    ├── Visual diff review → Built-in Git diff viewer
    ├── Scheduled automation → Automations tab
    └── Voice-driven → Ctrl+M for voice dictation
기능 CLI Desktop App
대화형 세션 지원 지원
병렬 에이전트 수동 (여러 터미널) 내장 (worktree 격리)
Diff 검토 /diff (텍스트) 시각적 인라인 diff
자동화 Cron + codex exec GUI 스케줄러
음성 입력 미지원 지원 (Ctrl+M)
CI/CD 통합 codex exec + GitHub Action 미지원
세션 동기화 지원 지원 (CLI와 공유)

어떤 프로필을 선택할까?

작업에 맞는 사전 구성된 프로필을 선택하세요:

작업 유형 프로필 주요 설정
빠른 질문, 포매팅 fast model = "gpt-5.1-codex-mini", model_reasoning_effort = "low"
일상 개발 (default) model = "gpt-5.3-codex", model_reasoning_effort = "medium"
아키텍처, 보안 careful model = "gpt-5.3-codex", model_reasoning_effort = "xhigh"
실시간 페어링 pair model = "gpt-5.3-codex-spark", model_reasoning_effort = "high"
CI/CD 자동화 ci model = "gpt-5.1-codex-mini", model_reasoning_effort = "low", sandbox_mode = "workspace-write"

config.toml 설정:

# Default profile
profile = "default"

[profiles.fast]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"

[profiles.careful]
model = "gpt-5.3-codex"
model_reasoning_effort = "xhigh"

[profiles.pair]
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "high"

[profiles.ci]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"
sandbox_mode = "workspace-write"

세션별 프로필 전환: codex --profile careful


샌드박스 및 승인 시스템은 어떻게 작동하나요?

Codex는 기술적으로 가능한 것Codex가 사용자 승인을 요청하는 시점을 분리하는 이중 보안 모델을 사용합니다. 이 접근 방식은 Claude Code의 권한 시스템과 근본적으로 다릅니다 — Codex는 OS 커널 수준에서 제한을 적용합니다.5 관리자가 조직 전체에 적용하는 requirements.toml 제약 조건에 대해서는 엔터프라이즈 배포도 참조하세요.

레이어 1: 샌드박스 (가능한 범위)

샌드박스는 OS 네이티브 메커니즘을 사용하여 파일시스템 및 네트워크 접근을 제어합니다:

모드 파일 접근 네트워크 구현 방식
read-only 모든 곳에서 읽기 전용 차단 가장 엄격함; 변경 작업은 명시적 승인 필요
workspace-write 워크스페이스 + /tmp에서 읽기/쓰기 기본적으로 차단 일반 개발; 안전한 기본값
danger-full-access 전체 시스템 접근 활성화 최대 기능; 주의하여 사용

플랫폼별 적용 방식:

  • macOS: Apple의 Seatbelt 프레임워크를 sandbox-exec를 통해 사용하며, 런타임에 컴파일되고 커널에 의해 적용되는 모드별 프로필을 사용합니다6
  • Linux: 파일시스템 제한을 위한 Landlock + 시스콜 필터링을 위한 seccomp. 독립 헬퍼 프로세스(codex-linux-sandbox)가 심층 방어 격리를 제공합니다.5 Bubblewrap(bwrap)은 번들로 포함되며 Linux 빌드의 일부로 컴파일됩니다(v0.100.0에서 선택사항에서 승격)7
  • Windows: 제한된 토큰을 사용하는 네이티브 샌드박스(v0.100.0에서 실험적 단계에서 승격). WSL도 지원됩니다(Linux Landlock + seccomp 상속)

중요한 이유: 컨테이너 기반 샌드박싱(Docker)과 달리, OS 수준 샌드박싱은 더 빠르고, 가볍고, 탈출하기 어렵습니다. 커널이 Codex가 시스템 호출을 보기도 전에 제한을 적용합니다.

보안 수정사항: - zsh-fork 샌드박스 우회 (v0.106.0): zsh 포크를 통한 셸 실행이 샌드박스 제한을 우회할 수 있는 취약점이 수정되었습니다.62 이전 버전을 사용 중이라면 즉시 업그레이드하세요. - 입력 크기 제한 (v0.106.0): Codex는 이제 과도하게 큰 페이로드로 인한 행(hang)을 방지하기 위해 약 100만 자의 입력 제한을 적용합니다.62 - Linux /dev 파일시스템 (v0.105.0): Linux에서 샌드박스 내 명령어는 이제 최소한의 /dev 파일시스템을 제공받아, 디바이스 노드를 필요로 하는 도구와의 호환성이 향상되었습니다.63

ReadOnlyAccess 정책 (v0.100.0+): 세밀한 읽기 접근 제어를 위한 구성 가능한 정책 형태입니다. workspace-write 모드에서도 Codex가 읽을 수 있는 디렉토리를 제한하는 데 사용하세요:

[sandbox_workspace_write]
read_only_access = ["/etc", "/usr/local/share"]  # Only these paths readable outside workspace

레이어 2: 승인 정책 (요청 시점)

승인 정책은 Codex가 사용자 확인을 위해 일시 중지하는 시점을 결정합니다:

정책 동작 사용 사례
untrusted 안전한 읽기는 자동 실행; 그 외 모든 작업은 확인 요청 최고 신뢰 장벽; 익숙하지 않은 저장소
on-failure 실패할 때까지 자동 실행 후 확인 요청 반자동화; 오류 포착
on-request 샌드박스 내에서 승인; 경계 위반 시 확인 요청 기본값; 적절한 균형
never 확인 요청 없음 CI/CD, 신뢰된 자동화

개별 승인 ID (v0.104.0+)

Codex는 이제 다단계 셸 실행 내 각 명령어에 개별 승인 ID를 할당합니다. 이는 승인이 세분화된다는 의미입니다 — 시퀀스 내 하나의 명령어를 승인해도 동일한 셸 호출 내 후속 명령어가 자동으로 승인되지 않습니다.51

유연한 승인 제어 (v0.105.0+)

승인 흐름은 이제 추가 샌드박스 권한과 세분화된 거부를 지원합니다:63

  • 추가 샌드박스 권한: 명령어가 현재 샌드박스 모드 이상의 접근이 필요할 때, Codex는 전체 모드 변경 대신 특정 추가 권한을 요청할 수 있습니다
  • 세분화된 거부: 개별 도구 호출을 피드백과 함께 거부할 수 있어, Codex가 동일한 명령어를 단순히 재시도하는 대신 접근 방식을 조정할 수 있습니다

--full-auto 플래그

--full-auto는 다음의 편의 별칭입니다:

codex --sandbox workspace-write --ask-for-approval on-request

핵심 주의사항: --full-auto는 명시적인 --sandbox 값을 덮어씁니다. --full-auto --sandbox read-only를 전달하면 --full-auto가 우선하기 때문에 workspace-write가 적용됩니다.8

권장 구성

일상 개발 (안전한 기본값):

sandbox_mode = "workspace-write"
approval_policy = "on-request"

고급 사용자 (전체 접근, 사람이 개입):

sandbox_mode = "danger-full-access"
approval_policy = "untrusted"

이 조합은 커뮤니티에서 권장하는 “최적 지점”입니다: 최대 기능을 제공하면서 모든 명령어에 승인이 필요합니다.9

CI/CD 자동화:

sandbox_mode = "workspace-write"
approval_policy = "never"

네트워크 접근 활성화

Codex는 workspace-write 모드에서 기본적으로 네트워크 접근을 차단합니다. 필요할 때 활성화하세요:

# Per-run
codex -c 'sandbox_workspace_write.network_access=true' "install the packages"

# In config.toml
[sandbox_workspace_write]
network_access = true
writable_roots = ["/path/to/extra/dir"]   # Additional writable directories
exclude_slash_tmp = false                  # Prevent /tmp from being writable
exclude_tmpdir_env_var = false             # Prevent $TMPDIR from being writable

WebSocket 프록시 지원 (v0.104.0+)

WebSocket 트래픽을 프록시를 통해 라우팅하는 기업 환경에서, Codex는 이제 WS_PROXYWSS_PROXY 환경 변수를 지원합니다:51

export WSS_PROXY="https://proxy.corp.example.com:8443"
codex "update the README"

이들은 기존 HTTPS_PROXY 및 SOCKS5 프록시 지원(v0.93.0+)을 보완하여 모든 전송 계층을 포괄합니다.

샌드박스 테스트

샌드박스를 신뢰하기 전에 동작을 확인하세요:

codex sandbox macos --full-auto -- ls /etc/passwd   # macOS test
codex sandbox linux --full-auto -- cat /etc/shadow   # Linux test

샌드박스가 올바르게 작동하면, 두 명령어 모두 권한 거부 오류로 실패해야 합니다 — 샌드박스는 --full-auto 모드에서도 민감한 시스템 파일의 읽기를 방지합니다. 둘 중 하나라도 성공하면 샌드박스 구성을 점검해야 합니다.


AGENTS.md는 어떻게 작동하나요?

AGENTS.md는 Codex의 프로젝트 지침 시스템으로, 현재 Linux Foundation의 Agentic AI Foundation이 관리하는 오픈 표준10입니다. Codex, Cursor, Copilot, Amp, Jules (Google), Gemini CLI, Windsurf, Cline, Aider, Zed, Factory, RooCode, 그리고 60,000개 이상의 오픈소스 프로젝트에서 지원됩니다. 이는 특정 저장소나 디렉토리 내에서 Codex의 동작 방식을 정의합니다. AGENTS.md를 보완하는 재사용 가능한 전문 지식 패키지에 대해서는 Skills를 참조하세요.

탐색 계층

Codex는 세션 시작 시 디렉토리 트리를 순회하여 지침 체인을 구성합니다:

  1. 전역 (~/.codex/): AGENTS.override.md > AGENTS.md
  2. 프로젝트 (git 루트에서 현재 디렉토리까지): 각 레벨에서 AGENTS.override.md > AGENTS.md > 폴백 파일명 확인
  3. 병합: 파일은 루트부터 아래로 연결됩니다; 가까운 파일이 프롬프트에서 나중에 나타나며 이전 지침을 덮어씁니다
~/.codex/AGENTS.md                     ← Global defaults
  └─ /repo/AGENTS.md                   ← Project-wide rules
      └─ /repo/services/AGENTS.md      ← Service-specific rules
          └─ /repo/services/payments/
               AGENTS.override.md      ← Overrides everything above for this dir

좋은 AGENTS.md란

Codex 자체의 직접적인 안내와 커뮤니티 패턴을 기반으로 합니다11:

권장: - 구체적으로 작성하세요: "Use rg --files for discovery""search efficiently"보다 낫습니다 - 완료 조건을 정의하세요: “완료”란 무엇을 의미하나요? (테스트 통과, 린트 클린 등) - 명령어를 포함하세요: 빌드, 테스트, 린트, 포맷 (정확한 호출 명령) - 작업별로 구성하세요: 코딩, 리뷰, 릴리스, 인시던트/디버그 섹션 - 에스컬레이션을 정의하세요: 차단되거나 예상치 못한 상태를 만났을 때 어떻게 할지

지양: - 실행 규칙 없이 전체 스타일 가이드를 덤프하지 마세요 - 모호한 지시문을 사용하지 마세요 (“be careful,” “optimize”) - 상충하는 우선순위를 혼합하지 마세요 (속도 + 철저한 검증 + 런타임 예산 없음) - 산문 형태의 문서를 작성하지 마세요 (AGENTS.md는 운영 정책이지 README가 아닙니다)

예시: 프로덕션 AGENTS.md

# Repository Guidelines

## Build, Test, and Development Commands
- Run API (dev): `python3 -m uvicorn main:app --reload`
- Install deps: `pip install -r requirements.txt`
- Lint: `python3 -m ruff check .` (auto-fix: `--fix`)
- Format: `python3 -m ruff format .`
- Tests: `python3 -m pytest -v`
- Coverage: `python3 -m pytest --cov=app --cov-report=term-missing`

## Coding Style & Naming Conventions
- Python 3.11+. Type hints on all functions.
- Ruff enforced: 88-char lines, double quotes, spaces for indent.
- Naming: modules `snake_case.py`, classes `PascalCase`, functions `snake_case`.

## Commit & Pull Request Guidelines
- Conventional Commits: `feat:`, `fix:`, `docs:`, `refactor:`, `chore:`, `test:`
- Commits should be small and focused.
- PRs must include: description, test plan, and screenshots for UI changes.

## 보안
- 비밀 정보를 절대 커밋하지 마세요. 로컬 설정에는 `.env`를 사용하세요.
- 모든 외부 API 호출에 적절한 오류 처리를 통해 유효성을 검사하세요.

오버라이드 메커니즘

디렉토리 수준에서 AGENTS.override.md는 해당 범위의 일반 AGENTS.md를 대체합니다. 다음과 같은 용도로 사용합니다:

  • 릴리스 동결: “신규 기능 불가, 수정만 가능”
  • 인시던트 모드: “모든 변경 사항은 온콜 담당자의 검토를 받아야 함”
  • 임시 강화: “이번 스프린트에서는 의존성 업데이트 불가”

설정

# Custom fallback filenames (in addition to AGENTS.md)
project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]

# Increase max size for large instruction files
project_doc_max_bytes = 65536    # 64 KiB (default: 32 KiB)

스캐폴드 생성

codex                           # Launch TUI
/init                           # Generate AGENTS.md scaffold

또는 명령어 체인을 확인할 수 있습니다:

codex --ask-for-approval never "Summarize your current instructions"

Hooks

Codex는 v0.99.0에서 hooks를 추가했으며(AfterAgent), v0.100.0에서 AfterToolUse를 추가했습니다. 이 hook 시스템은 Claude Code의 12개 이상의 라이프사이클 이벤트에 비해 초기 단계이지만, 일반적인 워크플로우에 대한 자동화 진입점을 제공합니다.

사용 가능한 Hook 이벤트

이벤트 실행 시점 추가된 버전
AfterAgent 에이전트가 전체 턴을 완료한 후 v0.99.0
AfterToolUse 각 개별 도구 호출이 완료된 후 v0.100.0

Hook 설정

Hooks는 .codex/config.toml에서 설정합니다:

[[hooks]]
event = "AfterToolUse"
command = "echo 'Tool completed' >> /tmp/codex-log.txt"

Claude Code Hook 패턴 복제

Claude Code에서 마이그레이션하는 경우, 전체 hook 이벤트 세트 없이 유사한 자동화를 달성하는 방법은 다음과 같습니다:

Claude Code 패턴 Codex 대안
PreToolUse 파일 차단 AGENTS.md 지침 + sandbox read-only 모드
PostToolUse 린팅 AfterToolUse hook으로 린터 실행
SessionStart 컨텍스트 주입 AGENTS.md (매 세션 자동 로드)
SubagentStop 알림 AfterAgent hook과 알림 스크립트
비동기 hooks 아직 미지원; 백그라운드 작업에는 Cloud 태스크 사용

전문가 팁: hook 시스템은 활발히 확장 중입니다. 각 릴리스의 새로운 hook 이벤트는 Codex 변경 로그를 확인하세요.


MCP (Model Context Protocol)이란? [EXPERIMENTAL]

MCP는 외부 도구와 서비스에 연결하여 Codex의 기능을 확장합니다. codex mcp 명령어 그룹은 현재 실험적으로 표시되어 있으며, 릴리스 간에 명령어와 설정 형식이 변경될 수 있습니다. Codex는 STDIO(로컬 프로세스)와 Streamable HTTP(원격 서버) 두 가지 전송 유형을 지원합니다.12

MCP 서버 설정

STDIO 서버 (로컬 프로세스):

# In ~/.codex/config.toml or .codex/config.toml

[mcp_servers.context7]
enabled = true
required = true                         # Fail startup if unavailable
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env = { "MY_VAR" = "value" }            # Static env vars
env_vars = ["PATH", "HOME"]             # Forward host env vars
cwd = "/path/to/project"                # Optional working directory
startup_timeout_sec = 10
tool_timeout_sec = 60
enabled_tools = ["search", "summarize"]  # Tool allowlist
disabled_tools = ["slow-tool"]           # Tool denylist

HTTP 서버 (원격):

[mcp_servers.figma]
enabled = true
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }
env_http_headers = { "X-Org-Id" = "FIGMA_ORG_ID" }  # Headers from env vars
startup_timeout_sec = 10
tool_timeout_sec = 60

CLI 관리

codex mcp add context7 -- npx -y @upstash/context7-mcp
codex mcp add context7 --env API_KEY=... -- npx -y @upstash/context7-mcp   # With env vars
codex mcp add figma --url https://mcp.figma.com/mcp --bearer-token-env-var FIGMA_OAUTH_TOKEN
codex mcp list                          # List all configured servers
codex mcp list --json                   # JSON output
codex mcp get context7                  # Show server config
codex mcp get context7 --json           # JSON output
codex mcp login <server>                # OAuth flow for HTTP servers
codex mcp logout <server>               # Remove OAuth credentials
codex mcp remove <server>               # Delete server definition

세션 내에서: /mcp로 활성 서버와 사용 가능한 도구를 확인할 수 있습니다.

Codex를 MCP 서버로 실행

Codex는 다중 에이전트 오케스트레이션을 위해 자체를 MCP 서버로 노출할 수 있습니다:13

codex mcp-server                        # Start as MCP server (stdio transport)

이 서버는 두 가지 도구를 노출합니다: 1. codex(): 프롬프트, sandbox, 모델, 승인 매개변수로 새 세션 시작 2. codex-reply(): threadId와 프롬프트로 기존 세션 계속

Agents SDK와 함께 사용 (Python):

from agents import Agent, Runner
from agents.mcp import MCPServerStdio

async with MCPServerStdio(
    name="Codex CLI",
    params={"command": "npx", "args": ["-y", "codex", "mcp-server"]},
    client_session_timeout_seconds=360000,
) as codex_mcp_server:
    agent = Agent(name="Developer", mcp_servers=[codex_mcp_server])
    result = await Runner.run(agent, "Fix the failing tests")

주요 MCP 서버

서버 용도 설치
Context7 최신 라이브러리 문서 npx -y @upstash/context7-mcp
Figma 디자인 파일 접근 HTTP: https://mcp.figma.com/mcp
Playwright 브라우저 자동화 npx -y @anthropic/mcp-playwright
Sentry 오류 모니터링 HTTP: https://mcp.sentry.dev/mcp
GitHub 저장소 작업 npx -y @anthropic/mcp-github

실용적인 패턴

패턴 1: 컨텍스트 인식 개발 — Context7을 프레임워크 문서와 연결하여 Codex가 항상 최신 API 참조를 확보하도록 합니다:

[mcp_servers.context7]
enabled = true
required = true
command = "npx"
args = ["-y", "@upstash/context7-mcp"]

패턴 2: 출력 제한 — MCP 도구 응답은 기본적으로 약 25K 문자에서 잘립니다. 대량 페이로드를 반환하는 도구(데이터베이스 쿼리, 로그 캡처)의 경우, enabled_tools를 사용하여 특정 도구로 제한하고 응답을 집중시키세요.

패턴 2a: 멀티모달 도구 출력 (v0.107.0) — 커스텀 도구가 이제 텍스트와 함께 멀티모달 출력(이미지, 리치 콘텐츠)을 반환할 수 있습니다. 이를 통해 시각적 산출물(스크린샷, 다이어그램, 차트 렌더)을 생성하는 도구가 분석을 위해 모델에 직접 전달할 수 있습니다.64

패턴 3: 엔터프라이즈 MCP 거버넌스requirements.toml을 통해 개발자가 사용할 수 있는 MCP 서버를 제한합니다:

# In /etc/codex/requirements.toml — only approved servers allowed
[mcp_servers.approved-internal]
identity = { command = "npx @company/internal-mcp" }

requirements.toml의 identity와 일치하지 않는 서버는 시작 시 차단됩니다. 전체 정책 설정은 엔터프라이즈 배포를 참조하세요.


JavaScript REPL 런타임 [EXPERIMENTAL]

Codex v0.100.0에서 도구 호출 간 상태를 유지하는 실험적 JavaScript REPL 런타임(js_repl)이 추가되었습니다. v0.106.0에서 REPL은 시작 호환성 검사와 함께 /experimental 슬래시 명령어로 승격되었으며, Node.js 22.22.0 이상이 필요합니다.62

JS REPL 활성화:

# In config.toml
[features]
js_repl = true

또는 TUI에서 /experimental을 통해 세션 내에서 활성화할 수 있습니다.

사용 예시: 활성화하면 Codex가 세션 내 도구 호출 간에 상태를 유지할 수 있습니다:

// Codex can accumulate data across multiple tool calls
const results = await fetchTestResults();
const failures = results.filter(r => r.status === "failed");
console.log(`${failures.length} failures out of ${results.length} tests`);
// Variable 'failures' persists and is available in subsequent tool calls

요구 사항: Node.js 22.22.0+ (시작 검사에서 호환성 확인). v0.105.0에서 REPL 실패에 대한 오류 보고 및 복구가 개선되었습니다.63

이 기능은 실험적입니다. 릴리스 간에 인터페이스가 변경될 수 있습니다.


Skills란?

Skills는 Codex가 필요에 따라 로드하는 재사용 가능한 작업별 기능 패키지입니다. 이는 오픈 에이전트 skills 표준을 따릅니다.14

Skill 구조

my-skill/
  SKILL.md           (required: instructions)
  scripts/           (optional: executable scripts)
  references/        (optional: reference docs)
  assets/            (optional: images, icons)
  agents/openai.yaml (optional: metadata, UI, dependencies)

검색 위치

Codex는 사용자가 설치한 skills를 $CODEX_HOME/skills(기본값: ~/.codex/skills)에 저장하며, .system/ 아래에 내장 시스템 skills를 포함합니다. Codex는 심볼릭 링크된 skill 폴더를 지원합니다.

범위 경로
프로젝트/팀 저장소 skill 폴더 (버전에 따라 레이아웃이 다를 수 있음)
사용자 ~/.codex/skills/ (또는 $CODEX_HOME/skills/)
관리자 /etc/codex/skills/
시스템 OpenAI 번들 제공 (~/.codex/skills/.system/ 아래)

Skill 만들기

SKILL.md 형식:

---
name: security-audit
description: Run a thorough security audit on the codebase.
---

## 보안 감사 절차

1. `rg -i "(api_key|password|secret|token)\s*=" --type py`를 사용하여 하드코딩된 시크릿을 스캔합니다
2. SQL 인젝션 확인: 쿼리에서 문자열 보간이 사용되었는지 검토합니다
3. 모든 API 엔드포인트의 입력 유효성 검사를 확인합니다
4. 의존성 취약점 확인: `pip audit` 또는 `npm audit`
5. 인증 및 권한 부여 패턴을 검토합니다
6. 심각도 수준(Critical/High/Medium/Low)과 함께 결과를 보고합니다

메타데이터 (agents/openai.yaml):

interface:
  display_name: "Security Audit"
  short_description: "Full codebase security review"
  icon_small: "./assets/shield.svg"
  brand_color: "#DC2626"
  default_prompt: "Run a security audit on this repository"

policy:
  allow_implicit_invocation: false    # Require explicit $skill

dependencies:
  tools:
    - type: "mcp"
      value: "snyk"
      transport: "streamable_http"
      url: "https://mcp.snyk.io/mcp"

Skills 호출

  • 명시적 호출: /skills 메뉴 또는 프롬프트에서 $skill-name 언급
  • 암시적 호출: Codex가 작업 설명에서 일치하는 skills를 자동 감지합니다 (allow_implicit_invocation: true인 경우)
  • 생성: $skill-creator를 사용하여 대화형으로 새 skill을 생성합니다
  • 설치: $skill-installer install <name>을 사용하여 커뮤니티 skills를 설치합니다

활성화/비활성화

[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false

Skills와 Slash Commands 비교

Skills Slash Commands
정의 위치 선택적 메타데이터가 포함된 SKILL.md 파일 Codex CLI 바이너리에 내장
범위 프로젝트, 사용자 또는 관리자 수준 전역 (항상 사용 가능)
호출 방법 프롬프트에서 $skill-name, /skills 메뉴, 또는 암시적 감지 /command 구문
사용자 정의 완전 사용자 정의 가능 — 직접 지침을 작성합니다 고정된 동작
의존성 MCP 서버 요구 사항을 선언할 수 있습니다 없음
공유 skill 폴더를 팀 저장소 또는 ~/.codex/skills/에 복사 공유 불가

Skills 디버깅

skill이 활성화되지 않는 경우:

  1. 검색 확인: /skills가 TUI에 해당 skill을 표시해야 합니다
  2. 경로 확인: skill 폴더가 인식되는 위치(~/.codex/skills/, 프로젝트 루트 또는 /etc/codex/skills/)에 있는지 확인합니다
  3. enabled 확인: config.toml에서 enabled = false로 설정된 skills는 로드되지 않습니다
  4. 암시적 활성화 확인: 자동 감지에 의존하는 경우, agents/openai.yaml에서 allow_implicit_invocation: true인지 확인합니다
  5. 키워드 사용: 암시적 매칭을 개선하기 위해 프롬프트에 skill의 description 용어를 포함합니다

프로덕션 예제: 배포 Skill

참조 파일과 스크립트가 함께 작동하는 완전한 다중 파일 skill 예제입니다:

deploy-skill/
  SKILL.md
  references/
    runbook.md
    rollback-checklist.md
  scripts/
    pre-deploy-check.sh
    smoke-test.sh
  agents/openai.yaml

SKILL.md:

---
name: deploy
description: Deploy the application to staging or production. Runs pre-flight checks, executes deployment, and verifies with smoke tests.
---

## Deployment Procedure

### Pre-flight
1. Run `scripts/pre-deploy-check.sh` to verify:
   - All tests pass
   - No uncommitted changes
   - Branch is up to date with remote
2. Review the runbook at `references/runbook.md` for environment-specific steps.

### Deploy
3. Execute the deployment command for the target environment.
4. Monitor logs for errors during rollout.

### Verify
5. Run `scripts/smoke-test.sh <environment-url>` to confirm critical paths.
6. If smoke tests fail, follow `references/rollback-checklist.md`.

다음과 같이 호출합니다: $deploy to staging 또는 $deploy production with canary rollout


Plan Mode 및 협업

Plan mode를 사용하면 Codex가 변경 사항을 실행하기 전에 접근 방식을 설계할 수 있습니다. 기본적으로 활성화되어 있습니다 (v0.94.0부터).15 “Plan Mode vs Direct Execution” 의사 결정 트리는 Decision Frameworks를 참조하세요.

Plan Mode 진입

/plan                              # Switch to plan mode
/plan "redesign the API layer"     # Plan mode with initial prompt

Plan mode에서 Codex는: - 파일을 읽고 코드베이스를 분석합니다 - 구현 계획을 제안합니다 - 승인할 때까지 변경 사항을 적용하지 않습니다 - 전용 TUI 뷰에서 계획을 스트리밍합니다

Steer Mode

Steer mode (v0.98.0부터 기본 활성화)를 사용하면 Codex가 활발히 작업하는 동안 현재 작업을 중단하지 않고 새로운 지침을 주입할 수 있습니다.15

두 가지 주입 방법이 있습니다:

입력 동작 사용 시점
Enter 지침을 즉시 전송합니다; Codex가 현재 턴 도중에 이를 확인합니다 긴급 수정(“중지 — 해당 파일을 수정하지 마세요”), 명확한 설명(“설정 파일은 기본 경로가 아니라 /etc/app.conf에 있습니다”), 또는 우선순위 변경(“먼저 테스트에 집중하세요”)
Tab 지침을 다음 턴에 대기시킵니다; Codex가 현재 작업을 먼저 완료합니다 후속 작업(“이 작업 후에 변경 로그도 업데이트하세요”), 범위 추가(“완료되면 린터를 실행하세요”), 또는 긴급하지 않은 컨텍스트(“배포 대상은 프로덕션이 아니라 스테이징입니다”)

실제 사용 예시:

# Codex is refactoring the auth module...

[Enter] "Use bcrypt instead of argon2 — we already have it as a dependency"
→ Codex adjusts immediately, mid-turn

[Tab] "Once auth is done, update the migration script too"
→ Codex finishes auth refactor, then starts the migration

Steer mode는 TUI에서 항상 활성화되어 있습니다. Codex가 완료될 때까지 기다린 후 지침을 제공하려면 턴이 완료된 후 일반적으로 입력하면 됩니다 — 특별한 모드가 필요하지 않습니다.

TUI 개선 사항 (v0.105.0–v0.106.0)

구문 강조 (v0.105.0): TUI가 이제 펜스 코드 블록과 diff를 인라인으로 구문 강조합니다. /theme을 사용하여 색상 구성표를 선택하세요.63

새로운 TUI 명령어 (v0.105.0+):63

명령어 / 키 설명
/copy 마지막 응답을 클립보드에 복사합니다
/clear TUI 화면을 지웁니다
Ctrl+L 화면 지우기 (키보드 단축키)
/theme 구문 강조 색상 구성표를 전환합니다

음성 전사 (v0.105.0, 실험적): 스페이스바를 눌러 음성 전사를 통해 프롬프트를 받아쓰기합니다. 이 기능은 실험적이며 마이크 권한이 필요할 수 있습니다.63 v0.107.0부터는 실시간 음성 세션에서 마이크 및 스피커 장치 선택을 지원하여 특정 오디오 입력/출력 하드웨어를 선택할 수 있습니다.64

기타 개선 사항: - 긴 링크가 TUI 줄 바꿈 시에도 클릭 가능한 상태를 유지합니다 (v0.105.0)63 - 로컬 파일 링크가 개선된 서식으로 렌더링됩니다 (v0.106.0)62 - 하위 에이전트에 대한 Ctrl+C 처리가 자식 프로세스를 올바르게 종료하도록 수정되었습니다 (v0.106.0)62


메모리 시스템

Codex에는 세션 간에 사실, 선호 사항 및 프로젝트 컨텍스트를 저장하는 영구 메모리 시스템이 있습니다 (v0.100.0+).25

메모리 명령어

명령어 설명
/m_update <fact> 메모리를 저장합니다 (예: /m_update always use pytest, never unittest)
/m_drop <query> 쿼리와 일치하는 메모리를 제거합니다

메모리는 ~/.codex/memory/ 아래의 마크다운 파일에 저장됩니다. Codex는 세션 시작 시 이를 로드하고 향후 모든 세션에서 동작에 반영합니다.

저장할 내용

메모리는 영구적인 선호 사항과 프로젝트 관련 사실에 가장 적합합니다:

  • 프로젝트 규칙: “이 프로젝트는 스페이스가 아닌 탭을 사용합니다” 또는 “API 응답에는 항상 meta 필드가 포함됩니다”
  • 도구 선호 사항: “npm 대신 pnpm을 사용합니다” 또는 “pytest -x --tb=short로 테스트를 실행합니다”
  • 아키텍처 결정: “인증 모듈은 src/middleware/가 아닌 src/core/auth/에 있습니다”
  • 워크플로 선호 사항: “diff를 보여주기 전에 항상 린터를 실행합니다”

파이프라인에서의 메모리

codex exec를 실행할 때 메모리가 자동으로 로드됩니다. 이는 CI/CD 파이프라인과 스크립트가 대화형 세션과 동일한 컨텍스트를 활용할 수 있음을 의미합니다 — 매번 호출할 때마다 지침을 반복할 필요가 없습니다.

메모리 개선 사항 (v0.101.0–v0.107.0)

  • 시크릿 삭제: 메모리가 디스크에 기록되기 전에 시크릿이 자동으로 스캔되어 제거됩니다
  • CWD 인식: 메모리 파일에 프로젝트별 회상을 위한 작업 디렉토리 컨텍스트가 포함됩니다
  • 개발자 메시지 제외: 개발자/시스템 메시지가 1단계 메모리 입력에서 제외되어, 사용자 상호작용에 집중함으로써 메모리 품질이 향상됩니다
  • Diff 기반 망각 (v0.106.0): 메모리가 diff 기반 망각을 사용하여 오래된 사실을 제거하고, 메모리 저장소를 간결하고 관련성 있게 유지합니다62
  • 사용량 인식 선택 (v0.106.0): 메모리 검색이 사용량을 인식하여, 자주 접근하고 최근에 관련된 메모리를 우선적으로 처리합니다62
  • 구성 가능한 메모리 (v0.107.0): 메모리가 완전히 구성 가능합니다. codex debug clear-memories를 사용하여 저장된 모든 메모리를 초기화할 수 있습니다 — 관련 없는 프로젝트 간 컨텍스트 전환 시 또는 메모리 상태가 일관성을 잃었을 때 유용합니다64

메모리와 AGENTS.md 비교

사용 사례 메모리 (/m_update) AGENTS.md
개인 선호 사항 메모리 사용 (모든 프로젝트에 걸쳐 지속됨) 적합하지 않음
프로젝트 규칙 둘 다 가능 (개인 회상용 메모리, 팀 공유용 AGENTS.md) 팀용 AGENTS.md
아키텍처 결정 AGENTS.md (공유 컨텍스트) 주요 선택지
도구 명령어 메모리 (빠른 개인 참조용) 팀용 AGENTS.md

: 무기한 지속되어야 하는 사실에는 /m_update를 사용하세요. 세션별 컨텍스트의 경우 대화에서 Codex에게 직접 말하면 됩니다. 팀 공유 컨텍스트의 경우 AGENTS.md를 사용하세요.


세션 관리

Codex는 ~/.codex/sessions/ 아래에 세션을 유지하여, CLI 및 데스크톱 환경에서 이어서 작업하거나, 분기하거나, 멀티 스레드 워크플로우를 수행할 수 있도록 합니다.

이어서 작업하기

이전 작업을 이어서 진행할 수 있습니다:

codex resume                          # Interactive picker (sorted by recency)
codex resume <SESSION_ID>             # Resume a specific session
codex exec resume --last "continue"   # Non-interactive: resume most recent

TUI 내에서 /resume slash command를 사용하면 검색 기능이 포함된 동일한 대화형 선택 화면이 열립니다.

분기(Fork)

현재 진행 상황을 잃지 않고 대안을 탐색하기 위해 대화를 분기할 수 있습니다:

/fork                              # Fork current conversation
/fork "try a different approach"   # Fork with new prompt

분기는 분기 시점까지 동일한 히스토리를 공유하는 독립적인 스레드를 생성합니다. 한 분기에서의 변경 사항은 다른 분기에 영향을 주지 않습니다. 이는 접근 방식을 비교하거나(예: “분기하여 Memcached 대신 Redis를 시도”) 위험한 변경 사항을 안전하게 탐색하는 데 유용합니다.

하위 에이전트로의 스레드 분기 (v0.107.0): 스레드를 독립적인 하위 에이전트로 분기할 수 있게 되어, 대화에서 자율적으로 실행되는 병렬 작업 스트림을 생성할 수 있습니다. 이는 기존 분기 모델의 확장으로, 단순히 대화를 분기하는 것을 넘어 분기된 스레드가 자체 실행 컨텍스트를 가진 하위 에이전트가 됩니다.64

스레드 목록

활성 세션을 조회하고 관리할 수 있습니다:

/status                            # Current session info and token usage
/ps                                # Show background terminals in session

데스크톱 앱에서는 사이드바에서 전체 히스토리와 차이점 미리보기와 함께 스레드를 확인할 수 있습니다.

세션 생명주기

동작 CLI Desktop App
새로 시작 codex 또는 /new New Thread 버튼
이어서 작업 codex resume 또는 /resume 사이드바에서 스레드 클릭
분기 /fork 스레드 우클릭 → Fork
종료 /quit 또는 Ctrl+C 스레드 탭 닫기
삭제 ~/.codex/sessions/에서 제거 우클릭 → Delete

세션은 CLI와 데스크톱 앱 간에 동기화됩니다 — 한쪽에서 시작하고 다른 쪽에서 이어서 작업할 수 있습니다.


비대화형 모드 (codex exec)

codex exec는 스크립팅, CI/CD, 자동화를 위해 Codex를 비대화형으로 실행합니다.16

기본 사용법

codex exec "summarize the repository structure"
codex exec --full-auto "fix the CI failure"
codex exec --json "triage open bugs" -o result.txt

기본적으로 codex exec는 진행 상황/이벤트를 stderr에 출력하고 최종 에이전트 메시지를 stdout에 출력합니다. 이 설계로 인해 표준 Unix 파이프라인과 조합하여 사용할 수 있습니다.

JSON Lines 출력

--json 옵션을 사용하면 stdout가 JSONL 이벤트 스트림이 됩니다:

codex exec --json "fix the tests" | jq

이벤트 유형: thread.started, turn.started/completed/failed, item.started/completed, error

{"type":"thread.started","thread_id":"019c5c94-..."}
{"type":"turn.started"}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_3","type":"agent_message","text":"..."}}
{"type":"turn.completed","usage":{"input_tokens":24763,"cached_input_tokens":24448,"output_tokens":122}}

구조화된 출력

JSON Schema로 응답 형식을 강제할 수 있습니다:

codex exec "Extract project metadata" \
  --output-schema ./schema.json \
  -o ./project-metadata.json

-o / --output-last-message는 최종 메시지를 파일에 저장합니다.

세션 이어서 작업 및 리뷰

codex exec resume --last "continue where you left off"
codex exec resume <SESSION_ID> "fix the remaining issues"
codex exec review --base main           # Code review against a branch

주요 플래그

플래그 설명
--full-auto Workspace-write 샌드박스 + on-request 승인
--json stdout로 JSONL 이벤트 스트림 출력
-o, --output-last-message <file> 최종 메시지를 파일에 저장
--output-schema <file> JSON Schema에 대해 응답 검증
--ephemeral 세션 파일을 유지하지 않음
-C, --cd <dir> 작업 디렉토리 설정
--add-dir <dir> 추가 쓰기 가능 디렉토리
--skip-git-repo-check git 저장소 외부에서도 실행 허용
--dangerously-bypass-approvals-and-sandbox 샌드박스 없음, 승인 없음 (CI 전용)

CI 인증

codex exec는 자동화 환경에서 비대화형 인증을 위해 CODEX_API_KEY를 지원합니다.


Codex Cloud 및 백그라운드 작업 [EXPERIMENTAL]

상태: Codex Cloud는 실험적 기능입니다. 인터페이스, 가격 및 가용성이 변경될 수 있습니다. OpenAI가 클라우드 환경을 관리하며, 사용자는 인프라를 제어하지 않습니다.

Codex Cloud는 OpenAI가 관리하는 환경에서 작업을 비동기적으로 실행합니다.4 Codex를 CI 파이프라인에 통합하는 방법은 GitHub Action 및 CI/CD도 참조하세요.

작동 방식

  1. 작업을 제출합니다 (chatgpt.com/codex, Slack 연동 또는 CLI를 통해)
  2. Codex가 격리된 클라우드 샌드박스에 저장소를 복제합니다
  3. 에이전트가 독립적으로 작업합니다: 코드를 읽고, 테스트를 실행하고, 변경 사항을 만듭니다
  4. 완료되면 Codex가 PR을 생성하거나 리뷰를 위한 diff를 제공합니다
  5. codex apply <TASK_ID>로 결과를 로컬에 적용합니다

클라우드에서의 인터넷 접근

에이전트 인터넷은 기본적으로 꺼져 있으며 환경별로 설정됩니다:

  • 끄기: 에이전트 인터넷 접근 불가 (기본값)
  • 켜기: 선택적 도메인 허용 목록 + HTTP 메서드 제한
Allowed domains: pypi.org, npmjs.com, github.com
Allowed methods: GET, HEAD, OPTIONS

설정 스크립트는 에이전트 인터넷이 꺼져 있어도 의존성 설치를 위해 인터넷을 사용할 수 있습니다.

Slack 연동

Slack 채널이나 스레드에서 @Codex를 멘션하여 클라우드 작업을 시작할 수 있습니다.

사전 요구 사항: 1. 적격한 ChatGPT 플랜 (Plus, Pro, Business, Enterprise 또는 Edu) 2. 연결된 GitHub 계정 3. 하나 이상 설정된 클라우드 환경 4. 워크스페이스에 설치된 Slack 앱

Codex는 작업 링크로 응답하고 완료 시 결과를 게시합니다.

클라우드 CLI

codex cloud exec --env <ENV_ID> "Fix failing tests"  # Start a cloud task
codex cloud status <TASK_ID>                          # Check task progress
codex cloud diff <TASK_ID>                            # View task diff
codex cloud list                                      # List recent tasks
codex cloud list --json                               # JSON output
codex cloud apply <TASK_ID>                           # Apply from cloud subcommand
codex apply <TASK_ID>                                 # Apply diff (top-level shortcut)

## Codex Desktop App

Codex 데스크톱 (macOS 전용, Apple Silicon) 멀티 프로젝트 관리에 최적화된 그래픽 인터페이스를 제공합니다.[^17]

### 설치

```bash
codex app                      # Auto-downloads and installs on first run

또는 직접 다운로드하세요: Codex.dmg

주요 기능

기능 설명
병렬 스레드 여러 프로젝트에서 동시에 다수의 작업을 실행합니다
스레드 모드 Local, Worktree, 또는 Cloud 모드로 스레드를 시작합니다
내장 Git 도구 diff 검토, 코멘트 추가, 청크 스테이징/되돌리기, 커밋/푸시, PR 생성
통합 터미널 스레드별 터미널 (Cmd+J)
음성 받아쓰기 음성으로 프롬프트 입력 (Ctrl+M)
자동화 반복 작업 예약
알림 앱이 백그라운드에 있을 때 완료/승인 알림
절전 방지 작업 실행 중 시스템 절전 모드를 방지하는 선택적 설정
Skills + MCP 앱, CLI, IDE 확장 프로그램 간 공유 설정
MCP 단축키 작성기에서 MCP 도구 빠른 접근 단축키 (App v26.226)65
리뷰 @멘션 코드 리뷰 코멘트에서 협업자를 @멘션 (App v26.226)65

스레드 모드

각 스레드는 생성 시 선택하는 세 가지 모드 중 하나에서 실행됩니다:

모드 격리 수준 파일 접근 적합한 용도
Local 없음 — 프로젝트 디렉토리에서 직접 작업 전체 읽기/쓰기 빠른 작업, 탐색, 비파괴적 작업
Worktree Git worktree — 리포지토리의 격리된 브랜치 복사본 격리된 복사본 기능 개발, 위험한 리팩토링, 병렬 실험
Cloud 원격 서버 — OpenAI 인프라에서 실행 로컬 접근 불가 장시간 실행 작업, CI와 유사한 워크플로, 비동기 위임

Worktree 격리 메커니즘:

Worktree 스레드를 시작하면 데스크톱 앱은 다음과 같이 동작합니다: 1. 임시 디렉토리에 새 git worktree를 생성합니다 (git worktree add) 2. 현재 HEAD에서 새 브랜치를 체크아웃합니다 3. worktree 내부에서 에이전트를 실행합니다 — 모든 파일 변경 사항이 격리됩니다 4. 완료 시 diff 검토를 제시합니다 — 어떤 변경 사항을 다시 병합할지 선택할 수 있습니다

이를 통해 동일한 리포지토리에서 여러 Worktree 스레드를 충돌 없이 동시에 실행할 수 있습니다. 각 스레드는 자체 브랜치와 작업 디렉토리를 갖습니다.

자동화

자동화는 앱 내에서 로컬로 실행되므로 앱이 실행 중이고 프로젝트가 디스크에 있어야 합니다:

  • Git 리포지토리에서는 자동화가 전용 백그라운드 worktree를 사용합니다 (작업 디렉토리와 격리)
  • Git이 아닌 프로젝트에서는 프로젝트 디렉토리에서 직접 실행됩니다
  • 자동화는 기본 sandbox 설정을 사용합니다

자동화 설정 방법: 1. 데스크톱 앱에서 프로젝트를 엽니다 2. 사이드바에서 자동화 탭을 클릭합니다 3. 트리거를 정의합니다 (일정, 웹훅, 또는 수동) 4. 프롬프트를 작성하고 스레드 모드를 선택합니다 5. 자동화가 일정에 따라 실행되고 결과를 검토 대기열에 추가합니다

활용 사례: - 이슈 분류: 새로운 이슈를 자동으로 분류하고 우선순위를 지정합니다 - CI 모니터링: 빌드 실패를 감시하고 수정 방안을 제안합니다 - 알림 대응: 모니터링 알림에 진단 분석으로 대응합니다 - 의존성 업데이트: 보안 패치를 확인하고 적용합니다

결과는 사람의 승인을 위해 검토 대기열에 표시됩니다.

Windows 지원

Windows 지원이 계획되어 있습니다. 가용성 업데이트는 Codex Desktop App 페이지 또는 GitHub 릴리스에서 확인하세요.18


GitHub Action 및 CI/CD

공식 GitHub Action은 Codex를 CI/CD 파이프라인에 통합합니다.19

기본 사용법

# .github/workflows/codex.yml
name: Codex
on:
  pull_request:
    types: [opened]

jobs:
  codex:
    runs-on: ubuntu-latest
    outputs:
      final_message: ${{ steps.run_codex.outputs.final-message }}
    steps:
      - uses: actions/checkout@v5
      - name: Run Codex
        id: run_codex
        uses: openai/codex-action@v1
        with:
          openai-api-key: ${{ secrets.OPENAI_API_KEY }}
          prompt-file: .github/codex/prompts/review.md
          sandbox: workspace-write
          safety-strategy: drop-sudo

설정 옵션

입력 용도
openai-api-key 프록시/인증 설정을 위한 API 키
responses-api-endpoint 엔드포인트 오버라이드 (예: Azure Responses URL)
prompt / prompt-file 작업 지침 (하나 필수)
working-directory codex exec --cd에 전달되는 디렉토리
sandbox workspace-write / read-only / danger-full-access
codex-args 추가 CLI 플래그 (JSON 배열 또는 셸 문자열)
output-schema / output-schema-file --output-schema를 위한 구조화된 출력 스키마
model / effort 에이전트 설정
output-file 최종 메시지를 디스크에 저장
codex-version CLI 버전 고정
codex-home 사용자 지정 Codex 홈 디렉토리
allow-users / allow-bots 트리거 허용 목록 제어
safety-strategy / codex-user 권한 축소 동작 및 사용자 선택

출력: final-message, 다운스트림 단계/작업에서 사용할 수 있는 최종 Codex 응답 텍스트입니다.

안전 전략

전략 설명
drop-sudo (기본값) Linux/macOS; 액션 단계 이후 sudo 권한을 제거합니다
unprivileged-user 사전 생성된 저권한 사용자로 Codex를 실행합니다
read-only 읽기 전용 sandbox (러너/사용자 권한 위험은 여전히 적용됩니다)
unsafe 권한 축소 없음; Windows 러너에서 필수입니다

접근 제어

with:
  allow-users: "admin,maintainer"     # Limit who can trigger
  allow-bots: false                   # Block bot-triggered runs

기본값: 쓰기 접근 권한이 있는 협업자만 Codex 워크플로를 트리거할 수 있습니다.


Codex SDK

TypeScript SDK는 Codex의 에이전트 기능을 사용자 지정 애플리케이션에 내장합니다.20

설치

npm install @openai/codex-sdk

기본 사용법

import { Codex } from "@openai/codex-sdk";

const codex = new Codex();
const thread = codex.startThread();

// Multi-turn conversation
const turn1 = await thread.run("Diagnose CI failures and propose a fix");
console.log(turn1.finalResponse);

const turn2 = await thread.run("Implement the fix and add tests");
console.log(turn2.items);

// Resume a previous session
const resumed = codex.resumeThread("<thread-id>");
await resumed.run("Continue from previous work");

고급 SDK 기능

  • runStreamed(...): 중간 업데이트를 위한 비동기 이벤트 스트림
  • outputSchema: JSON 형태의 최종 출력을 강제합니다
  • 멀티모달 입력: 텍스트 + 로컬 이미지 전달 ({ type: "local_image", path: "..." })

스레드 및 클라이언트 설정

// Custom working directory, skip git check
const thread = codex.startThread({
  workingDirectory: "/path/to/project",
  skipGitRepoCheck: true,
});

// Custom environment and config overrides
const codex = new Codex({
  env: { CODEX_API_KEY: process.env.MY_KEY },
  config: { model: "gpt-5.2-codex" },
});

세션은 ~/.codex/sessions에 저장됩니다.

런타임: Node.js 18+.


성능 최적화

컨텍스트 관리

플래그십 모델은 272K 토큰 입력 윈도우(128K 출력, 총 400K 예산)를 갖추고 있지만, 생각보다 빠르게 소진됩니다. 사전에 적극적으로 관리하세요:

  1. /compact를 정기적으로 사용하세요: 대화 기록을 요약하여 토큰을 확보합니다
  2. 로컬 문서를 제공하세요: 고품질 AGENTS.md와 로컬 문서가 탐색 오버헤드(컨텍스트를 소모하는)를 줄여줍니다
  3. @를 사용하여 특정 파일을 첨부하세요: Codex가 파일을 찾도록 요청하는 대신 파일을 직접 참조하세요
  4. 프롬프트를 집중적으로 유지하세요: 정확한 파일이 지정된 범위가 명확한 프롬프트는 개방형 탐색보다 컨텍스트를 적게 소모합니다

토큰 효율성

기법 효과
model_reasoning_summary = "none" 설정 출력 토큰 약 20% 감소
model_verbosity = "low" 사용 짧은 설명, 더 많은 실행
간단한 작업에 미니 모델 사용 메시지당 비용 대폭 절감
복잡한 작업을 집중된 세션으로 분할 세션당 토큰 효율성 향상
프로필을 사용하여 작업별로 설정 전환 일상적인 작업에 높은 추론 비용을 지불하지 않음

속도 최적화

  1. gpt-5.3-codex-spark: 대화형 페어링을 위한 저지연 변형 모델
  2. --profile fast: 낮은 추론 수준의 미니 모델이 사전 설정된 프로필
  3. 병렬 도구 실행: Codex는 독립적인 읽기/검사를 동시에 실행하므로 이를 활용할 수 있도록 프롬프트를 구성하세요
  4. 결과 중심 루프: 단계별 지시 대신 “구현하고, 테스트하고, 수정하고, 그린이 되면 중지”와 같이 요청하세요

문제를 어떻게 디버깅하나요?

일반적인 문제와 해결 방법

문제 원인 해결 방법
“Re-connecting” 반복 여러 Codex 인스턴스 실행 모든 프로세스를 종료하고 60초 대기 후 단일 인스턴스로 재시작
401 인증 오류 만료된 자격 증명 rm ~/.codex/auth.json && codex login
샌드박스에서 네트워크 차단 기본 동작 -c 'sandbox_workspace_write.network_access=true'
WSL2 연결 끊김 WSL 상태 손상 PowerShell에서 wsl --shutdown 실행, 1분 대기 후 재시작
패치 실패 줄바꿈 문자 불일치 LF로 정규화하고 정확한 파일 텍스트 제공
컨텍스트 압축 실패 컨텍스트 과다 추론 노력도를 줄이거나 작은 작업으로 분할
모델이 예기치 않게 변경됨 config.toml 오버라이드 /config를 실행하여 적용된 설정과 출처 확인
Plan 모드에서 변경이 허용됨 알려진 버그 Issue #11115
AGENTS.md 지침을 잊어버림 컨텍스트 제한 지침을 간결하게 유지하고 상세한 절차는 skill 파일 사용
Read Only 모드에서 멈춤 알려진 문제 Discussion #7380

오류 메시지 참조

오류 메시지 의미 해결 방법
Error: EACCES permission denied 샌드박스가 파일 작업을 차단함 샌드박스 모드를 확인하고, Codex가 파일을 편집해야 하는 경우 workspace-write 사용
Error: rate limit exceeded API 속도 제한 도달 대기 후 재시도하거나 model_reasoning_effort를 줄이거나 더 가벼운 모델로 전환
Error: context length exceeded 대화가 272K 입력 토큰을 초과함 /compact으로 요약하거나 /new로 새 세션 시작
Error: MCP server failed to start MCP 서버 프로세스가 충돌했거나 시간 초과됨 codex mcp get <name>으로 설정 확인 후 startup_timeout_sec 증가
Error: authentication required 유효한 API 키 또는 세션이 없음 codex login 실행 또는 CODEX_API_KEY 설정
Error: sandbox execution failed 샌드박스 내부에서 명령 실행 실패 명령 구문을 확인하고 필요한 도구가 샌드박스 환경에서 사용 가능한지 확인
WARN: skill not found 참조된 skill이 예상 경로에 존재하지 않음 /skills 목록을 확인하고 skill 폴더 위치 검증
Error: wire format mismatch 프로바이더에 대한 wire_api 설정이 잘못됨 OpenAI 엔드포인트에는 wire_api = "responses" 사용 (사용자 정의 모델 프로바이더 참조)

진단 도구

codex --version                        # Check CLI version
codex login status                     # Verify authentication
codex mcp list                         # Check MCP server status
codex debug app-server --help          # Debug app server issues

세션 내 TUI 진단:

/status                                # Token/session overview
/config                                # Inspect effective config values and sources
/compact                               # Summarize history to reclaim context

참고: codex --verbose는 유효한 최상위 플래그가 아닙니다. 위의 debug 하위 명령과 TUI 진단 도구를 사용하세요.

클린 재설치

npm uninstall -g @openai/codex && npm install -g @openai/codex@latest

디버그 모드

codex debug app-server send-message-v2  # Test app-server client

문제 보고

/feedback                              # Send logs to Codex maintainers (in TUI)

또는 github.com/openai/codex/issues에서 이슈를 제출하세요.1


엔터프라이즈 배포

관리자 제어 (requirements.toml)

관리자는 requirements.toml을 통해 엔터프라이즈 정책을 시행합니다. 이 파일은 관리자가 강제하는 설정 파일로, 사용자가 재정의할 수 없는 보안 관련 설정을 제한합니다:22

# /etc/codex/requirements.toml

# Restrict which approval policies users can select
allowed_approval_policies = ["untrusted", "on-request", "on-failure"]

# Limit available sandbox modes
allowed_sandbox_modes = ["read-only", "workspace-write"]

# Control web search capabilities
allowed_web_search_modes = ["cached"]

# Allowlist MCP servers by identity (both name and identity must match)
[mcp_servers.approved-server]
identity = { command = "npx approved-mcp-server" }

# Admin-enforced command restrictions
[[rules.prefix_rules]]
pattern = [{ token = "rm" }, { any_of = ["-rf", "-fr"] }]
decision = "forbidden"
justification = "Recursive force-delete is prohibited by IT policy"

[[rules.prefix_rules]]
pattern = [{ token = "sudo" }]
decision = "prompt"
justification = "Elevated commands require explicit approval"

사용자 수준의 config.toml이 기본 설정을 지정하는 것과 달리, requirements.toml은 사용자가 선택할 수 있는 값을 제한하는 강제 제약 계층이며, 사용자가 이를 재정의할 수 없습니다. 관리자 requirements 규칙은 prompt(확인 요청) 또는 forbid(금지)만 가능하며, 자동 허용은 불가능합니다.

macOS MDM 설정

com.openai.codex 기본 설정 도메인을 사용하여 MDM으로 배포합니다.22 Codex는 표준 macOS MDM 페이로드(Jamf Pro, Fleet, Kandji 등)를 지원합니다. TOML을 줄바꿈 없이 base64로 인코딩하세요:

용도
config_toml_base64 Base64로 인코딩된 관리 기본값 (사용자가 변경할 수 있는 시작 값)
requirements_toml_base64 Base64로 인코딩된 관리자 강제 요구사항 (사용자가 재정의 불가)

우선순위 (높은 순):

  1. macOS 관리 기본 설정 (MDM)
  2. 클라우드에서 가져온 requirements (ChatGPT Business / Enterprise)
  3. /etc/codex/requirements.toml (로컬 파일시스템)

클라우드 requirements는 설정되지 않은 requirement 필드만 채우므로, 우선순위가 높은 관리 계층이 항상 우선합니다. 클라우드 requirements는 최선 노력(best-effort) 방식으로 적용되며, 가져오기가 실패하거나 시간 초과되면 Codex는 클라우드 계층 없이 계속 실행됩니다.

OpenTelemetry 통합

Codex는 표준 OTel 환경 변수를 통해 OpenAI API 호출까지 OpenTelemetry 추적 컨텍스트 전파를 지원합니다. Codex를 실행하기 전에 표준 환경 변수를 설정하세요:

# Point Codex at your OTel collector
export OTEL_EXPORTER_OTLP_ENDPOINT="https://otel-collector.internal:4318"
export OTEL_SERVICE_NAME="codex-cli"
export OTEL_RESOURCE_ATTRIBUTES="team=platform,env=production"

# Launch Codex — trace context propagates to all OpenAI API calls
codex
  • 표준 OTEL_* 환경 변수가 지원됩니다 (엔드포인트, 서비스 이름, 리소스 속성)
  • 추적 컨텍스트가 Codex를 통해 API 호출까지 전파되어 엔드투엔드 관측성을 제공합니다
  • 리소스 속성을 사용하여 팀, 환경 또는 프로젝트별로 추적에 태그를 지정할 수 있습니다
  • 프롬프트/도구 로깅을 활성화할 때 개인정보 보호 요구사항을 고려하세요 — 추적에 코드 스니펫이 포함될 수 있습니다

엔터프라이즈 액세스

  • ChatGPT Business / Enterprise / Edu: 조직 관리자가 제어하는 액세스로, 클라우드에서 가져온 requirements가 자동으로 적용됩니다. ID 제공자(Okta, Entra ID 등)를 통한 SAML/OIDC SSO를 지원합니다
  • API: 표준 API 인증, 과금 및 조직/프로젝트 제어를 사용합니다. OpenAI는 SOC 2 Type II 및 SOC 3 보고서를 발행하며, Enterprise 등급에서는 HIPAA BAA를 사용할 수 있습니다
  • Codex SDK: 내부 도구 및 워크플로에 통합할 수 있습니다
  • 대규모 정책 시행: MDM으로 배포하는 requirements_toml_base64 또는 파일시스템 수준의 /etc/codex/requirements.toml을 사용합니다

데이터 처리 및 규정 준수: - API 입출력은 OpenAI의 Business/Enterprise/API 약관에 따라 학습에 사용되지 않습니다 - 데이터 거주지의 경우, OpenAI API 트래픽은 기본적으로 미국 기반 인프라를 통해 라우팅됩니다. EU 데이터 거주지 요구사항은 OpenAI의 Enterprise 영업팀에 문의하세요 - 세션 기록은 로컬에 저장되며, API 호출만 시스템 외부로 전송됩니다 - ChatGPT Enterprise는 SOC 2, GDPR, CCPA를 포함한 규정 준수 프레임워크를 지원합니다

배포 전략

조직을 위한 권장 단계적 배포:

  1. 파일럿 (1-2주차): 3-5명의 시니어 엔지니어에게 requirements.tomluntrusted 샌드박스 모드와 cached 웹 검색을 강제 적용하여 배포합니다. AGENTS.md 패턴과 MCP 서버 요구사항에 대한 피드백을 수집합니다.
  2. 팀 확장 (3-4주차): 전체 팀에 배포합니다. MDM 또는 저장소를 통해 팀 표준 config.toml을 배포합니다. 신뢰할 수 있는 저장소에 대해 workspace-write 샌드박스를 활성화합니다.
  3. CI 통합 (5-6주차): CI/CD 파이프라인에 codex-action을 추가하여 자동화된 PR 리뷰 및 테스트 생성을 수행합니다. --ephemeral을 사용하여 비용을 예측 가능하게 유지합니다.
  4. 조직 전체 (2개월 이후): MDM을 통해 requirements.toml로 승인된 MCP 서버, 샌드박스 정책 및 모델 허용 목록을 강제 적용하여 배포합니다.

감사 패턴

Codex 사용량을 추적하고 규정 준수를 시행합니다:

  • OpenTelemetry 추적: 팀별 API 호출량, 토큰 사용량 및 지연 시간을 모니터링합니다
  • 세션 지속성: 규정 준수 검토를 위해 ~/.codex/sessions/를 감사합니다 (민감한 컨텍스트에서는 --ephemeral로 비활성화)
  • MCP ID 시행: requirements.toml이 차단된 서버 시도를 기록합니다 — 무단 도구 사용을 검토합니다
  • Git 감사 추적: 모든 Codex 파일 변경은 표준 git을 통해 이루어집니다 — 브랜치 기록과 PR diff를 통해 검토합니다

모범 사례 및 안티패턴

프롬프트 패턴

  1. 제약 조건 기반 프롬프트: 경계를 먼저 설정하세요. “Do NOT change the API contracts. Only refactor internal implementation.”
  2. 구조화된 재현 단계: 번호가 매겨진 단계가 모호한 설명보다 더 나은 버그 수정을 이끌어냅니다
  3. 검증 요청: “Run lint + the smallest relevant test suite. Report commands and results.”로 마무리하세요
  4. 파일 참조: @filename을 사용하여 특정 파일을 컨텍스트에 첨부하세요
  5. 결과 지향 루프: “Implement, run tests, fix failures, stop only when all tests pass.” Codex가 완료될 때까지 반복합니다

테스트 철학

커뮤니티는 테스트 주도 AI 협업으로 수렴하고 있습니다:23

  • 테스트를 완료 신호로 미리 정의하세요
  • 테스트가 통과할 때까지 Codex가 반복하도록 하세요 (red → green → refactor)
  • Tiger Style 프로그래밍 패턴을 도입하세요
  • 패치를 요청할 때 정확한 파일 텍스트를 제공하세요. Codex는 퍼지 AST 기반 패칭이 아닌 엄격한 매칭을 사용합니다

컨텍스트 관리 모범 사례

  • 웹 검색에 의존하기보다 고품질 로컬 문서를 제공하세요
  • 목차와 진행 파일이 포함된 구조화된 마크다운을 유지하세요 (“점진적 공개”)
  • 패치 실패를 방지하기 위해 추적 파일 전체에서 줄 끝 문자(LF vs CRLF)를 통일하세요
  • AGENTS.md를 간결하게 유지하세요. 긴 지침은 컨텍스트에서 밀려납니다

Git 워크플로

  • 익숙하지 않은 저장소에서 Codex를 실행하기 전에 항상 새 브랜치를 생성하세요
  • 직접 편집 대신 패치 기반 워크플로(git diff / git apply)를 사용하세요
  • Codex 제안을 코드 리뷰 PR처럼 검토하세요
  • 커밋하기 전에 /diff를 사용하여 변경 사항을 확인하세요

커뮤니티 스킬 및 프롬프트

feiskyer/codex-settings 저장소에서 커뮤니티가 관리하는 설정을 제공합니다:24

재사용 가능한 프롬프트 (~/.codex/prompts/ 내): - deep-reflector: 개발 세션에서 학습 내용을 추출합니다 - github-issue-fixer [issue-number]: 체계적인 버그 분석 및 PR 생성 - github-pr-reviewer [pr-number]: 코드 리뷰 워크플로 - ui-engineer [requirements]: 프로덕션급 프론트엔드 개발

커뮤니티 스킬: - claude-skill: 권한 모드를 설정하여 Claude Code에 작업을 전달합니다 - autonomous-skill: 진행 상황 추적이 포함된 다중 세션 작업 자동화 - deep-research: 병렬 하위 작업 오케스트레이션 - kiro-skill: 요구사항 → 설계 → 작업 → 실행 파이프라인

안티패턴

토큰을 낭비하거나, 품질이 낮은 결과를 생성하거나, 답답한 워크플로를 만드는 흔한 실수들입니다.

비용 안티패턴

안티패턴 실패 원인 해결 방법
모든 작업에 xhigh 추론 사용 단순한 작업에서 수확 체감과 함께 토큰 비용 3-5배 증가 기본적으로 medium을 사용하고, 다중 파일 아키텍처 결정에만 xhigh를 사용하세요
/compact를 사용하지 않음 컨텍스트가 272K까지 채워져 응답 품질이 저하됩니다 주요 마일스톤마다 또는 /status에서 60% 이상 사용 시 압축하세요
CI에서 플래그십 모델 실행 일상적인 검사에 비용이 많이 듭니다 gpt-5.1-codex-minilow 추론을 사용하는 ci 프로필을 생성하세요

컨텍스트 안티패턴

안티패턴 실패 원인 해결 방법
“모든 것을 탐색해라”는 개방형 프롬프트 Codex가 수십 개의 파일을 읽으며 관련 없는 코드에 컨텍스트를 소모합니다 특정 파일로 범위를 지정하세요: “Review src/auth/login.py and tests/test_auth.py
프로젝트에 AGENTS.md가 없음 Codex가 프로젝트 구조를 파악하는 데 턴을 낭비합니다 주요 경로, 규칙, 테스트 명령이 포함된 20줄짜리 AGENTS.md를 추가하세요
전체 디렉토리를 첨부 관련 없는 파일로 컨텍스트가 넘칩니다 @filename을 사용하여 Codex에 필요한 파일만 첨부하세요

워크플로 안티패턴

안티패턴 실패 원인 해결 방법
main에서 직접 작업 안전망이 없어 위험한 편집을 되돌리기 어렵습니다 Codex를 시작하기 전에 항상 기능 브랜치를 생성하세요
커밋 전 /diff 건너뛰기 Codex가 의도하지 않은 변경을 했을 수 있습니다 모든 작업 후, 커밋 전에 /diff를 검토하세요
테스트 출력 무시 실패를 지적하지 않으면 Codex가 실패를 지나쳐 반복합니다 프롬프트에 “run tests and stop only when all pass”를 사용하세요
대화를 분기하지 않음 잘못된 방향이 전체 컨텍스트를 오염시킵니다 위험한 탐색 전에 /fork하고, 잘못된 브랜치는 폐기하세요

프롬프트 안티패턴

안티패턴 실패 원인 해결 방법
“Fix the bug” (컨텍스트 없음) Codex가 어떤 버그인지 추측하며 모든 것을 읽습니다 “Fix the TypeError in src/api/handler.py:42user.name is None when unauthenticated”
한 메시지에 여러 작업 프롬프트 Codex가 작업을 혼합하고 일부를 놓칩니다 메시지당 하나의 작업을 지정하세요. 후속 작업은 스티어 모드(Tab)를 사용하여 대기열에 추가하세요
매 메시지마다 컨텍스트 반복 중복 정보에 토큰을 낭비합니다 지속적인 사실에는 /m_update를 사용하고, 이전 컨텍스트를 참조하세요

워크플로 레시피

일반적인 개발 시나리오를 위한 엔드투엔드 패턴입니다.

레시피 1: 새 프로젝트 설정

mkdir my-app && cd my-app && git init
codex
> Create a FastAPI project with: main.py, requirements.txt, Dockerfile,
  basic health endpoint, and a README. Use async throughout.
> /init

생성된 AGENTS.md를 검토하고 규칙에 맞게 편집한 후:

> Run the health endpoint test and confirm it passes

레시피 2: 일일 개발 흐름

cd ~/project && git checkout -b feature/user-auth
codex
> @src/models/user.py @src/api/auth.py
  Add password reset functionality. Requirements:
  1. POST /api/auth/reset-request (email → sends token)
  2. POST /api/auth/reset-confirm (token + new password)
  3. Tests for both endpoints
  Run tests when done.

/diff로 검토한 후 커밋하세요.

레시피 3: Plan 모드를 사용한 복잡한 리팩터링

codex
> /plan Migrate the database layer from raw SQL to SQLAlchemy ORM.
  Constraints: don't change any API contracts, keep all existing tests passing.

계획을 검토하세요. 승인하거나 방향을 조정하세요:

[Tab] Also add a migration script using Alembic

Codex가 실행을 완료한 후 확인하세요:

> Run the full test suite and report results
> /diff

레시피 4: codex exec를 사용한 PR 리뷰

codex exec --model gpt-5.1-codex-mini \
  "Review the changes in this branch against main. \
   Flag security issues, missed edge cases, and style violations. \
   Format as a markdown checklist." \
  -o review.md

레시피 5: 클라우드 작업을 활용한 디버깅 [EXPERIMENTAL]

codex cloud exec --env my-env "Diagnose why the /api/orders endpoint returns 500 \
  for orders with > 100 line items. Check the serializer, database query, \
  and pagination logic. Propose a fix with tests."

나중에 진행 상황을 확인하세요:

codex cloud status <TASK_ID>
codex cloud diff <TASK_ID>

완료되면 로컬에 수정 사항을 적용하세요:

codex apply <TASK_ID>

마이그레이션 가이드

Claude Code에서 마이그레이션

Claude Code 개념 Codex 동등 기능
CLAUDE.md AGENTS.md (개방형 표준)
.claude/settings.json .codex/config.toml (TOML 형식)
--print 플래그 codex exec 하위 명령
--dangerously-skip-permissions --dangerously-bypass-approvals-and-sandbox
Hooks (12개 이상의 이벤트) Hooks (AfterAgent, AfterToolUse — 초기 단계; v0.99.0+)
하위 에이전트 (Task 도구) Sub-agents (내부 전용, 최대 6개; 사용자용 Task 도구에 해당하는 기능 없음)
/compact /compact (동일)
/cost /status (토큰 사용량 표시)
모델: Opus/Sonnet/Haiku 모델: gpt-5.3-codex / gpt-5.3-codex-spark / gpt-5.2-codex / gpt-5.1-codex-mini (Codex는 OpenAI의 GPT-5.x 모델 계열만 사용합니다)
claude --resume codex resume
권한 규칙 Sandbox modes + approval policies
MCP 설정 (settings.json 내) MCP 설정 (config.toml 내)

이해해야 할 주요 차이점:

  • 샌드박스는 OS 수준에서 작동합니다: Codex는 컨테이너가 아닌 Seatbelt/Landlock을 사용합니다. 제한이 애플리케이션 계층 아래의 커널 수준에서 작동합니다.
  • Hooks는 초기 단계입니다: Codex는 v0.99.0(AfterAgent)과 v0.100.0(AfterToolUse)에서 hooks를 추가했지만, Claude Code의 12개 이상의 라이프사이클 이벤트에 비하면 아직 초기 단계입니다. 아직 지원되지 않는 자동화 패턴의 경우 AGENTS.md 지침이나 skills를 사용하세요.
  • Sub-agents는 내부 전용이지만 이제 설정 가능합니다: Codex에는 sub-agent 기능이 있습니다(최대 6개 동시 실행, v0.91.0에서 12개에서 축소). v0.104.0부터 다중 에이전트 역할을 설정을 통해 사용자 정의할 수 있으며, 고유한 프로필을 가진 명명된 에이전트 역할을 허용합니다.49 v0.105.0에서는 행 단위 팬아웃을 위한 spawn_agents_on_csv가 추가되어 진행 상황 추적과 예상 완료 시간을 제공합니다.63 Codex에는 아직 Claude Code의 사용자 주도 위임을 위한 명시적 Task 도구 UX가 없습니다 — 위임 패턴에는 클라우드 작업이나 SDK 오케스트레이션을 사용하세요.
  • AGENTS.md는 크로스 도구 호환됩니다: AGENTS.md는 Cursor, Copilot, Amp, Jules, Gemini CLI, 그리고 60,000개 이상의 오픈 소스 프로젝트에서 작동합니다. CLAUDE.md는 Claude 전용입니다.
  • 프로필이 수동 전환을 대체합니다: 실행할 때마다 플래그를 변경하는 대신 config.toml에서 프로필을 정의하세요.

GitHub Copilot에서 마이그레이션

Copilot 개념 Codex 동등 기능
Copilot CLI (에이전트 터미널) 대화형 CLI 또는 데스크톱 앱
특화 에이전트 (Explore, Plan) Skills + plan mode + steer mode
copilot-instructions.md / AGENTS.md AGENTS.md (동일한 표준)
MCP 지원 MCP 지원 (STDIO + HTTP)
ACP (Agent Client Protocol) Hooks (AfterAgent, AfterToolUse)
Copilot SDK Codex SDK (TypeScript)
코딩 에이전트 워크플로 Codex 에이전트 (sandbox/approval 제어 + 클라우드 작업)

얻을 수 있는 것: - OS 수준 샌드박싱 (Seatbelt/Landlock — 컨테이너 기반이 아닌 커널 수준에서 적용) - codex apply를 통한 클라우드 작업 위임 - 워크플로 전환을 위한 설정 프로필 - 워크트리 격리가 가능한 데스크톱 앱

Cursor에서 마이그레이션

Cursor 개념 Codex 동등 기능
프로젝트 규칙 (.cursor/rules) / AGENTS.md AGENTS.md + 프로필/설정
에이전트 채팅/컴포저 워크플로 대화형 CLI 또는 데스크톱 앱
@ 파일 참조 @ 파일 참조 (동일)
적용/편집 + 검토 내장 패칭 및 diff 검토

빠른 참조 카드

╔═══════════════════════════════════════════════════════════════╗
║                    CODEX CLI QUICK REFERENCE                  ║
╠═══════════════════════════════════════════════════════════════╣
║                                                               ║
║  LAUNCH                                                       ║
║  codex                      Interactive TUI                   ║
║  codex "prompt"             TUI with initial prompt           ║
║  codex exec "prompt"        Non-interactive mode              ║
║  codex app                  Desktop app                       ║
║  codex resume               Resume previous session           ║
║  codex fork                 Fork a session                    ║
║                                                               ║
║  FLAGS                                                        ║
║  -m, --model <model>        Select model                      ║
║  -p, --profile <name>       Load config profile               ║
║  -s, --sandbox <mode>       Sandbox mode                      ║
║  -C, --cd <dir>             Working directory                 ║
║  -i, --image <file>         Attach image(s)                   ║
║  -c, --config <key=value>   Override config                   ║
║  --full-auto                workspace-write + on-request      ║
║  --oss                      Use local models (Ollama)         ║
║  --search                   Enable live web search            ║
║                                                               ║
║  SLASH COMMANDS (in TUI)                                      ║
║  /compact      Free tokens   /diff        Git diff            ║
║  /review       Code review   /plan        Plan mode           ║
║  /model        Switch model  /status      Session info        ║
║  /fork         Fork thread   /init        AGENTS.md scaffold  ║
║  /mcp          MCP tools     /skills      Invoke skills       ║
║  /ps           Background    /personality Style               ║
║  /permissions  Approval mode /statusline  Footer config       ║
║  /copy         Copy last response to clipboard                ║
║  /clear        Clear screen  /theme       Syntax highlighting ║
║  /experimental Toggle experimental features (js_repl)        ║
║                                                               ║
║  TUI SHORTCUTS                                                ║
║  @              Fuzzy file search                             ║
║  !command       Run shell command                             ║
║  Ctrl+G         External editor                               ║
║  Ctrl+L         Clear screen                                  ║
║  Enter          Inject instructions (while running)           ║
║  Esc Esc        Edit previous messages                        ║
║                                                               ║
║  EXEC MODE (CI/CD)                                            ║
║  codex exec --full-auto "task"          Sandboxed auto        ║
║  codex exec --json -o out.txt "task"    JSON + file output    ║
║  codex exec --output-schema s.json      Structured output     ║
║  codex exec resume --last "continue"    Resume session        ║
║                                                               ║
║  MCP MANAGEMENT [EXPERIMENTAL]                                ║
║  codex mcp add <name> -- <cmd>    Add STDIO server            ║
║  codex mcp add <name> --url <u>   Add HTTP server             ║
║  codex mcp list                    List servers                ║
║  codex mcp login <name>           OAuth flow                  ║
║  codex mcp remove <name>          Delete server               ║
║                                                               ║
║  CLOUD [EXPERIMENTAL]                                         ║
║  codex cloud exec --env <ID> Start cloud task                 ║
║  codex cloud status <ID>     Check task progress              ║
║  codex cloud diff <ID>       View task diff                   ║
║  codex cloud list            List tasks                       ║
║  codex apply <TASK_ID>       Apply cloud diff locally         ║
║                                                               ║
║  CONFIG FILES                                                 ║
║  ~/.codex/config.toml        User config                      ║
║  .codex/config.toml          Project config                   ║
║  ~/.codex/AGENTS.md          Global instructions              ║
║  AGENTS.md                   Project instructions             ║
║  requirements.toml           Enterprise policy constraints    ║
║                                                               ║
║  SANDBOX MODES                                                ║
║  read-only          Read files only, no mutations             ║
║  workspace-write    Read/write in workspace + /tmp            ║
║  danger-full-access Full machine access                       ║
║                                                               ║
║  APPROVAL POLICIES                                            ║
║  untrusted     Prompt for all mutations                       ║
║  on-failure    Auto-run until failure                         ║
║  on-request    Prompt for boundary violations                 ║
║  never         No prompts                                     ║
║                                                               ║
║  MODELS (Feb 2026, v0.106.0)                                  ║
║  gpt-5.3-codex         Default flagship (272K in / 400K)     ║
║  gpt-5.3-codex-spark   Interactive, lower latency (128K)     ║
║  gpt-5.2-codex         Long-horizon refactors (272K / 400K)  ║
║  gpt-5.1-codex-mini    Quick tasks, cost-efficient (272K/400K)║
║                                                               ║
╚═══════════════════════════════════════════════════════════════╝

변경 이력

날짜 버전 변경 사항 출처
2026-03-02 Guide v2.9 CLI v0.107.0으로 업데이트: 스레드 포킹을 통한 하위 에이전트 분기, 실시간 음성 장치 선택, codex debug clear-memories를 통한 구성 가능한 메모리, 멀티모달 커스텀 도구 출력. App v26.226 추가: 작성기에서 MCP 단축키, 리뷰 코멘트에서 @멘션. 64 65
2026-03-02 CLI 0.107.0 스레드 포킹을 통한 하위 에이전트 분기, 마이크/스피커 장치 선택이 가능한 실시간 음성 세션, 커스텀 도구 멀티모달 출력, 구성 가능한 메모리 + codex debug clear-memories, 버그 수정 64
2026-02-28 Guide v2.8 CLI v0.106.0으로 업데이트: 직접 설치 스크립트, zsh-fork 샌드박스 우회 수정, ~100만 자 입력 제한, Linux /dev 파일시스템, 유연한 승인 제어, JS REPL이 /experimental로 승격(Node 22.22.0+), diff 기반 메모리 삭제, TUI 구문 강조 + /theme, /copy, /clear, Ctrl-L, 음성 전사, spawn_agents_on_csv, Default 모드에서 request_user_input. v0.105.0 및 v0.106.0 변경 이력 항목 추가. 62 63
2026-02-26 CLI 0.106.0 직접 설치 스크립트, Node 22.22.0 최소 요구사항으로 js_repl /experimental 승격, Default 모드에서 request_user_input, API 사용자를 위해 CLI 모델 목록에 5.3-codex 표시, 사용량 인식 선택을 통한 diff 기반 메모리 삭제, zsh-fork 샌드박스 우회 수정, ~100만 자 입력 제한, TUI 파일 링크 렌더링 개선, 하위 에이전트의 Ctrl-C 처리 수정 62
2026-02-25 CLI 0.105.0 TUI에서 펜스드 코드 블록 및 diff 구문 강조와 /theme 선택기, 음성 전사(스페이스바 받아쓰기, 실험적), 진행률/ETA가 포함된 다중 에이전트 팬아웃용 spawn_agents_on_csv, /copy /clear Ctrl-L 명령어, 유연한 승인 제어(추가 샌드박스 권한, 세분화된 거부), 클릭 가능한 줄바꿈 링크, 샌드박스 명령어를 위한 Linux /dev 파일시스템, js_repl 오류 보고 개선 63
2026-02-24 Guide v2.7 접근/가격 섹션 확장: Free/Go 프로모션 티어, 유료 플랜 2배 요청 제한, 플랜별 사용량 제한(5시간 윈도우), 크레딧 비용 표 추가. allow_login_shell 설정 키 추가. 53
2026-02-22 Guide v2.6 누락된 설정 키 추가: features.multi_agent, features.apply_patch_freeform, features.search_tool, agents.*(다중 에이전트 역할), model_context_window, model_auto_compact_token_limit, mcp_oauth_callback_port, mcp_oauth_credentials_store, notify. App v26.217 변경 이력 항목 추가. 52
2026-02-19 Guide v2.5 CLI 0.104.0으로 버전 참조 업데이트, v0.103.0 및 v0.104.0 변경 이력 항목 추가, WS_PROXY/WSS_PROXY 프록시 지원 추가, 고유 승인 ID, 커밋 공동 저자 표시, 제거된 remote_models 기능 플래그를 command_attribution으로 대체.
2026-02-18 CLI 0.104.0 WS_PROXY/WSS_PROXY WebSocket 프록시 지원, 다단계 명령어의 고유 승인 ID, 스레드 아카이브/아카이브 해제 알림 51
2026-02-17 App v26.217 대기 메시지 드래그 앤 드롭 재정렬, 모델 다운그레이드 경고, 재시작 후 첨부 파일 복구가 포함된 퍼지 파일 검색 개선 52
2026-02-17 CLI 0.103.0 prepare-commit-msg 훅을 통한 커밋 공동 저자 표시(command_attribution으로 설정 가능), 더 풍부한 앱 목록 메타데이터/브랜딩, remote_models 기능 플래그 제거 50
2026-02-17 Guide v2.4 CLI 0.102.0에 맞춰 모든 버전 참조 업데이트, v0.102.0 변경 이력 항목 및 각주 추가, 구성 가능한 다중 에이전트 역할에 대한 하위 에이전트 참고사항 업데이트.
2026-02-17 CLI 0.102.0 통합 권한 흐름, 구조화된 네트워크 승인, 사용자 정의 가능한 다중 에이전트 역할, 모델 재라우팅 알림, js_repl 안정성 수정 49
2026-02-16 Guide v2.3 마이그레이션 표 수정: 훅 현재 존재(v0.99.0+), 하위 에이전트 인정(최대 6개), 모델 목록 완성. 전용 Hooks 섹션 추가(AfterAgent, AfterToolUse, 마이그레이션 패턴). Recipe 5 팬텀 명령어 수정(cloud start→cloud exec, cloud pull→apply). codex authcodex login 수정. Windows 샌드박스 실험 단계에서 승격. Linux Bubblewrap 이제 번들/내장. minimal 추론 노력 수준 추가. 메모리 섹션 확장(v0.101.0 개선, 메모리 vs AGENTS.md). AGENTS.md 채택 목록 업데이트(60,000개 이상 프로젝트, Linux Foundation 거버넌스). Copilot 마이그레이션 표 업데이트. [EXPERIMENTAL] 대소문자 일관성 수정. ReadOnlyAccess 정책 문서, JS REPL 런타임 섹션, 프로덕션 Deploy 스킬 예제, 비용 섹션 확장(숨겨진 토큰 오버헤드, 팀 비용 관리) 추가. 태그되지 않은 코드 블록 20개에 태그 추가. 전체 30개 목차 앵커 검증. 사후 평가 수정: /permissions 용어 수정(approval mode→approval policy), 중복 “Project Trust” 헤더 이름 변경, chat/completions 지원 중단 표현 완화, OpenTelemetry 섹션 설정 예제로 확장, 마이그레이션 “harder to escape” 표현 정확하게 수정. Deliberation audit
2026-02-16 Guide v2.2 CLI 마일스톤 릴리스 19개(v0.2.0–v0.91.0) 변경 이력에 추가. 일괄 25 인용을 개별 릴리스 각주 20개(3761)로 대체. 61 Apache 2.0 라이선스 인용 추가. 5 인용을 codex-linux-sandbox 참조에 추가. 22 인용을 MDM 환경설정 도메인에 추가. 6 Seatbelt 참고사항 봇 차단 관련 업데이트. 검증 불가능한 OpenAI 블로그 URL에 대한 참고사항 추가. 총 각주: 56개(이전 36개). Deliberation audit
2026-02-15 Guide v2.1 엔터프라이즈 섹션 수정(managed-admin-config.toml → requirements.toml, 검증된 TOML 키 포함), 272K 컨텍스트를 인용과 함께 입력 윈도우로 명시, 6 Seatbelt 인용 URL 추가, 핵심 요약 블록 추가, 스타일 위반 수정, 메타 설명 축약, AGENTS.md 채택 목록 확장. Blog evaluator audit
2026-02-14 Guide v2 주요 개정: 모델(272K 컨텍스트), 설정 키, 기능 플래그, 가격, 엔터프라이즈 설정, CI/CD 액션, SDK API, MCP 옵션, codex exec 플래그, 데스크톱 앱 기능, 마이그레이션 비교에 대한 Codex 검증 수정. 검증 불가능한 주장 제거. Self-review
2026-02-12 CLI 0.101.0 모델 해석 개선, 메모리 개선, 안정성 37
2026-02-12 CLI 0.100.0 실험적 JS REPL, 다중 요청 제한, WebSocket 전송, 메모리 명령어, 향상된 샌드박스 38
2026-02-12 App v260212 대화 포킹, 플로팅 팝아웃 윈도우, Windows 알파 18
2026-02-12 GPT-5.3-Codex-Spark 출시(저지연 대화형 변형) 26
2026-02-11 CLI 0.99.0 동시 셸 명령어, /statusline, 정렬 가능한 이력 선택기, GIF/WebP 지원, 셸 스냅샷 39
2026-02-06 CLI 0.98.0 GPT-5.3-Codex 지원, steer 모드 안정화 및 기본값 설정, 모델 전환 수정 40
2026-02-06 CLI 0.97.0 “허용 및 기억” MCP 승인, 실시간 스킬 감지, /config 진단, 메모리 배관 41
2026-02-06 CLI 0.96.0 비동기 스레드/compact v2, WebSocket 요청 제한, Windows 외 unified_exec, 설정 출처 추적 42
2026-02-06 CLI 0.95.0 codex app 명령어, 개인 스킬, 병렬 셸 도구, git 보안 강화 43
2026-02-05 GPT-5.3-Codex 출시 — 통합 모델, 25% 더 빠른 속도, 엔드투엔드 컴퓨터 조작 27
2026-02-02 Codex Desktop App 출시(macOS) — 멀티태스킹, worktrees, 자동화 17
2026-01-30 CLI 0.94.0 계획 모드 기본값, 퍼스널리티 안정화, .agents/skills의 스킬, 런타임 메트릭 44
2026-01-29 CLI 0.93.0 SOCKS5 프록시, 계획 모드 스트리밍, /apps, 스마트 승인 기본값, SQLite 로그 45
2026-01-29 CLI 0.92.0 API v2 스레드, 스레드 필터링, MCP OAuth 범위, 다중 에이전트 협업 46
2026-01-25 CLI 0.91.0 더 엄격한 리소스 가드레일을 위해 최대 하위 에이전트를 12개에서 6개로 축소 47
2026-01-21 CLI 0.88.0 디바이스 코드 인증 폴백, 협업 모드, /fork, 원격 모델, model_personality 설정 48
2026-01-06 CLI 0.78.0 Ctrl+G 외부 편집기, 프로젝트 인식 설정 계층화, macOS MDM 설정, TUI2 트랜스크립트 탐색, .dmg 설치 파일 54
2025-12-18 GPT-5.2-Codex 출시 — 컨텍스트 압축, 리팩터링/마이그레이션, 사이버보안 28
2025-12-09 CLI 0.66.0 실행 정책 시스템(TUI 화이트리스트, 샌드박스 거부 수정), CRLF 보존, Linux Sigstore 서명 55
2025-11-19 GPT-5.1-Codex-Max — 다중 윈도우 압축, Windows 학습, 사고 토큰 30% 감소 29
2025-11-19 CLI 0.59.0 네이티브 압축, 도구 출력 제한 10K 토큰으로 상향, Windows Agent 모드 샌드박스, /status에 크레딧 표시 56
2025-10-25 CLI 0.50.0 /feedback 진단, 샌드박스 위반 위험 평가, MCP 시작 개선, 환경 변수 난독화 57
2025-10-06 DevDay에서 Codex GA — Slack 통합, SDK, 관리 도구 30
2025-10-06 CLI 0.45.0 호환성 변경: codex login --api-key--with-api-key(stdin). OAuth MCP 인증, 병렬 도구 호출, 점멸 도트 UI 58
2025-09-23 GPT-5-Codex + IDE 확장 + CLI 개편 — 이미지, 웹 검색, 코드 리뷰 31
2025-09-23 CLI 0.40.0 기본 모델 → gpt-5-codex, 220K 토큰에서 자동 압축, /review 명령어, git 실행 취소, Windows 바이너리 지원 59
2025-06-30 CLI 0.2.0 첫 Rust 바이너리 릴리스 — macOS(aarch64/x86_64) 및 Linux(gnu/musl)용 사전 빌드 바이너리, codex-execcodex-linux-sandbox 도구 60
2025-06 Rust 재작성 발표(“Codex CLI is Going Native”) 32
2025-06-03 Plus 사용자 확대, 클라우드 인터넷 접근, PR 업데이트, 음성 받아쓰기 33
2025-05-16 Codex Cloud 출시 — codex-1 모델 기반 클라우드 에이전트, GitHub PR 생성 34
2025-04-16 Codex CLI 오픈소스 출시(Apache 2.0, TypeScript, codex-mini-latest)61 1

참고 문헌

OpenAI 블로그 URL 관련 참고사항: 참고 문헌 17, 2631, 34openai.com/index/ 블로그 게시물로 연결되며, Cloudflare 봇 보호로 인해 자동화된 접근에 대해 HTTP 403을 반환합니다. 이 URL들은 일반 웹 브라우저를 통해 접근하면 정상적으로 작동합니다.


  1. GitHub — openai/codex — 오픈소스 저장소, 릴리스 및 토론. 

  2. Codex CLI Windows 지원 — Windows 설치 및 WSL 안내. 

  3. Codex IDE 확장 — VS Code, Cursor, Windsurf 통합. 

  4. Codex Cloud — 클라우드 작업 문서 및 인터넷 접근 제어. 

  5. Codex 보안 — 샌드박스 아키텍처 및 보안 모델. 

  6. macOS Seatbelt 샌드박스 — Apple의 sandbox-exec 프레임워크에 대한 커뮤니티 문서(공식 Apple 개발자 문서는 공개되지 않음). 참고: 이 위키는 자동화된 접근을 차단할 수 있습니다(HTTP 403). macOS에서 man sandbox-exec도 참조하세요. 

  7. Linux Landlock LSM — 커널 파일 시스템 접근 제어. 

  8. Codex CLI 플래그의 실제 작동 방식 — 플래그 상호작용에 대한 커뮤니티 분석. 

  9. 샌드박스 탈출하기 — 커뮤니티 샌드박스 구성 패턴. 

  10. AGENTS.md 오픈 표준 — Linux Foundation 하의 크로스 도구 명령 표준. 

  11. AGENTS.md를 사용한 사용자 지정 명령 — 공식 가이드. 

  12. Codex MCP 통합 — MCP 서버 구성 및 관리. 

  13. 에이전트 SDK로 워크플로 구축하기 — 멀티 에이전트 오케스트레이션을 위한 MCP 서버로서의 Codex. 

  14. 에이전트 Skills — Skills 시스템 문서. 

  15. Codex CLI 기능 — Plan 모드, steer 모드 및 협업 기능. 

  16. 비대화형 모드codex exec 문서. 

  17. Codex 앱 소개 — 데스크톱 앱 출시 공지. 

  18. Codex 앱 문서 — 데스크톱 앱 기능 및 문제 해결. 

  19. Codex GitHub Action — CI/CD 통합. 

  20. Codex SDK — TypeScript SDK 문서. 

  21. Codex 요금제 — 구독 및 API 요금. 

  22. Codex 구성 참조 — 엔터프라이즈 requirements.toml 스키마 및 MDM 배포. 

  23. Codex 사용 모범 사례 — 커뮤니티 포럼 스레드. 

  24. feiskyer/codex-settings — 커뮤니티에서 관리하는 구성, skills 및 프롬프트. 

  25. Codex CLI 릴리스 — GitHub 릴리스 노트. 

  26. GPT-5.3-Codex-Spark 소개 — Cerebras 파트너십, 1000+ tok/s. 

  27. GPT-5.3-Codex 소개 — 통합 모델 출시. 

  28. GPT-5.2-Codex 소개 — 컨텍스트 압축 및 대규모 변경. 

  29. GPT-5.1-Codex-Max로 더 많은 것을 구축하기 — 멀티 윈도우 압축. 

  30. Codex 정식 출시 — DevDay 2025 발표. 

  31. Codex 업그레이드 소개 — GPT-5-Codex + IDE 확장. 

  32. Codex CLI 네이티브 전환 — Rust 재작성 논의. 

  33. Codex 업데이트: 인터넷 접근 및 Plus 사용자 확대 — 2025년 6월 확장. 

  34. Codex 소개 — 클라우드 에이전트 출시. 

  35. Codex 컨텍스트 윈도우 논의 — 272K 입력 토큰 + 128K 출력 토큰 = 400K 총 예산, 소스 코드를 통해 확인됨. 

  36. Codex에서 chat/completions 지원 중단 — OpenAI가 Codex의 chat/completions API 제거를 발표, 2026년 2월 완료. 

  37. Codex CLI v0.101.0 — 모델 해석 개선, 메모리 개선, 안정성. 2026년 2월 12일. 

  38. Codex CLI v0.100.0 — 실험적 JS REPL, 다중 속도 제한, WebSocket 전송, 메모리 명령, 향상된 샌드박스. 2026년 2월 12일. 

  39. Codex CLI v0.99.0 — 동시 셸 명령, /statusline, 정렬 가능한 재개 선택기, GIF/WebP 지원, 셸 스냅샷. 2026년 2월 11일. 

  40. Codex CLI v0.98.0 — GPT-5.3-Codex 지원, steer 모드 안정화 및 기본 설정, 모델 전환 수정. 2026년 2월 6일. 

  41. Codex CLI v0.97.0 — “허용 및 기억” MCP 승인, 실시간 skill 감지, /config 진단, 메모리 배관. 2026년 2월 6일. 

  42. Codex CLI v0.96.0 — 비동기 스레드/압축 v2, WebSocket 속도 제한, 비Windows unified_exec, 구성 출처 추적. 2026년 2월 6일. 

  43. Codex CLI v0.95.0codex app 명령, 개인 skills, 병렬 셸 도구, git 보안 강화. 2026년 2월 6일. 

  44. Codex CLI v0.94.0 — Plan 모드 기본값, 성격 안정화, .agents/skills에서의 skills, 런타임 지표. 2026년 1월 30일. 

  45. Codex CLI v0.93.0 — SOCKS5 프록시, plan 모드 스트리밍, /apps, 스마트 승인 기본값, SQLite 로그. 2026년 1월 29일. 

  46. Codex CLI v0.92.0 — API v2 스레드, 스레드 필터링, MCP OAuth 범위, 멀티 에이전트 협업. 2026년 1월 29일. 

  47. Codex CLI v0.91.0 — 더 엄격한 리소스 가드레일을 위해 최대 하위 에이전트를 12개에서 6개로 축소. 2026년 1월 25일. 

  48. Codex CLI v0.88.0 — 디바이스 코드 인증 폴백, 협업 모드, /fork, 원격 모델, model_personality 구성. 2026년 1월 21일. 

  49. Codex CLI v0.102.0 — 통합 권한 흐름, 구조화된 네트워크 승인, 사용자 지정 가능한 멀티 에이전트 역할, 모델 리라우트 알림. 2026년 2월 17일. 

  50. Codex CLI v0.103.0 — prepare-commit-msg 훅을 통한 커밋 공동 저자 표시, 더 풍부한 앱 목록 메타데이터/브랜딩, remote_models 기능 플래그 제거. 2026년 2월 17일. 

  51. Codex CLI v0.104.0 — WS_PROXY/WSS_PROXY WebSocket 프록시 지원, 명령별 고유 승인 ID, 스레드 보관/보관 해제 알림. 2026년 2월 18일. 

  52. Codex 변경 로그 — Codex App v26.217: 드래그 앤 드롭 재정렬, 모델 다운그레이드 경고, 퍼지 파일 검색 개선. Codex 구성 참조 — 전체 구성 키 참조. 2026년 2월. 

  53. Codex 요금제 — 플랜 티어, 5시간 윈도우당 사용 한도, 크레딧 비용 및 Free/Go 프로모션 접근. 2026년 2월. 

  54. Codex CLI v0.78.0Ctrl+G 외부 편집기, 프로젝트 인식 구성 레이어링, macOS MDM 구성, TUI2 트랜스크립트 탐색, .dmg 설치 파일. 2026년 1월 6일. 

  55. Codex CLI v0.66.0 — 실행 정책 시스템, Windows CRLF 보존, 클라우드 실행 --branch, Linux Sigstore 서명. 2025년 12월 9일. 

  56. Codex CLI v0.59.0 — 네이티브 압축, 도구 출력 한도 10K 토큰으로 상향, Windows Agent 모드 샌드박스, /status에서 크레딧 표시. 2025년 11월 19일. 

  57. Codex CLI v0.50.0/feedback 진단, 샌드박스 위반 위험 평가, MCP 시작 개선, 환경 변수 마스킹. 2025년 10월 25일. 

  58. Codex CLI v0.45.0 — 주요 변경: codex login --api-key--with-api-key (stdin). OAuth MCP 인증, 병렬 도구 호출. 2025년 10월 6일. 

  59. Codex CLI v0.40.0 — 기본 모델 → gpt-5-codex, 220K 토큰에서 자동 압축, /review 명령, git 실행 취소, Windows 바이너리. 2025년 9월 23일. 

  60. Codex CLI v0.2.0 — 최초 Rust 바이너리 릴리스. macOS(aarch64/x86_64) 및 Linux(gnu/musl)용 사전 빌드 바이너리, codex-execcodex-linux-sandbox 도구. 2025년 6월 30일. 

  61. GitHub — openai/codex LICENSE — Apache License 2.0. 2025년 4월 최초 오픈소스 출시. 

  62. Codex CLI v0.106.0 — 직접 설치 스크립트, js_repl /experimental로 승격(Node 22.22.0+), Default 모드에서 request_user_input, diff 기반 메모리 삭제, zsh-fork 샌드박스 우회 수정, ~1M 문자 입력 제한, Ctrl-C 하위 에이전트 수정. 2026년 2월 26일. 

  63. Codex CLI v0.105.0 — /theme을 통한 TUI 구문 강조, 음성 전사, spawn_agents_on_csv, /copy /clear Ctrl-L, 유연한 승인 제어, Linux /dev 파일 시스템, js_repl 오류 복구. 2026년 2월 25일. 

  64. Codex CLI v0.107.0 — 하위 에이전트로의 스레드 포크, 실시간 음성 디바이스 선택, 사용자 지정 도구 멀티모달 출력, codex debug clear-memories로 구성 가능한 메모리. 2026년 3월 2일. 

  65. Codex 변경 로그 — App v26.226 — 컴포저에서의 MCP 단축키, 리뷰 댓글의 @멘션, Mermaid 다이어그램 오류 처리. 2026년 2월 26일. 

NORMAL codex.md EOF