Codex CLI: 완전한 기술 레퍼런스
# Codex CLI: 완전한 기술 레퍼런스
Codex CLI: 완전한 기술 레퍼런스
요약: Codex는 코드베이스를 읽고, OS 수준 샌드박스에서 명령을 실행하며, 파일을 패치하고, 작업을 클라우드에 위임하는 멀티 서피스 코딩 에이전트예요. 다섯 가지 핵심 시스템(config.toml, 샌드박스/승인 모델, AGENTS.md, MCP, 스킬)을 숙달하면 Codex는 생산성을 배가시키는 도구가 돼요. 프로필로 컨텍스트를 전환하고,
/compact로 컨텍스트 예산을 관리하며, AGENTS.md로 Codex, Cursor, Amp 등에서 공통으로 사용할 수 있는 프로젝트 지침을 작성하세요. GPT-5.4가 1M 컨텍스트 윈도우를 지원하는 권장 모델이며, GPT-5.4 mini는 할당량의 30%로 서브에이전트 작업을 처리해요.78
Codex는 코드를 작성하는 챗봇이 아니라 멀티 서피스 코딩 에이전트로 동작해요. CLI는 코드베이스를 읽고, 샌드박스에서 명령을 실행하며, 파일을 패치하고, MCP를 통해 외부 서비스에 연결하고, 장시간 실행되는 작업을 클라우드에 위임해요. 로컬에서 실행되지만 글로벌하게 사고하며, 작업 방식에 따라 네 가지 서로 다른 서피스에서 동일한 지능이 구동돼요.
일상적인 Codex 사용과 효과적인 사용의 차이는 다섯 가지 핵심 시스템에 달려 있어요. 이것들을 숙달하면 Codex는 생산성을 배가시키는 도구가 돼요:
- 설정 시스템:
config.toml을 통해 동작을 제어해요 - 샌드박스 및 승인 모델: Codex가 수행할 수 있는 작업을 제어해요
- AGENTS.md: 프로젝트 수준의 운영 계약을 정의해요
- MCP 프로토콜: 외부 서비스로 기능을 확장해요
- 스킬 시스템: 재사용 가능한 도메인 전문 지식을 패키지화해요
저는 수개월 동안 프로덕션 코드베이스, CI/CD 파이프라인, 팀 워크플로에서 Codex를 Claude Code와 함께 운영했어요. 이 가이드는 그 경험을 바탕으로, 처음 시작할 때 있었으면 좋았을 완전한 레퍼런스로 정리한 것이에요. 모든 기능에 실제 구문, 실전 설정 예시, 그리고 숙련된 사용자도 놓치기 쉬운 엣지 케이스를 포함했어요.
안정성 참고:
[EXPERIMENTAL]로 표시된 기능은 릴리스 간에 변경될 수 있어요. Codex Cloud, MCP 명령 그룹, 코드 모드, hooks 엔진은 v0.118.0 기준으로 실험적 기능이에요. 핵심 CLI, 샌드박스, AGENTS.md, config.toml, 스킬, 플러그인 시스템은 안정 버전이에요.
핵심 요약
- 네 가지 인터페이스, 하나의 두뇌: 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로 전환할 수 있어요. - 컨텍스트 관리가 중요합니다: GPT-5.4는 1M 컨텍스트를 제공하고, GPT-5.4 mini는 서브에이전트 작업용으로 400K를, GPT-5.3-Codex는 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 │ │
│ │ (legacy artifact, read_file, grep_files │ │
│ │ removed in v0.117.0) │ │
│ └─────────────────────────────────────────────────┘ │
│ Shared model across all surfaces; costs tokens │
└─────────────────────────────────────────────────────────┘
코어 계층: GPT-5.x-Codex 모델 패밀리가 모든 것을 구동해요. v0.111.0 기준으로 gpt-5.4가 권장 모델입니다 — OpenAI의 플래그십 프론티어 모델로, GPT-5.3-Codex의 코딩 역량에 더 강력한 추론, 네이티브 컴퓨터 사용, 1M 컨텍스트 윈도우를 결합했어요.66 파일을 읽고, 패치를 작성하고, 셸 명령을 실행하며, 코드베이스를 분석해요. 컨텍스트가 가득 차면 Codex가 대화를 압축해 공간을 확보합니다. 이 계층은 토큰을 소비해요.
보안 계층: Codex가 실행하는 모든 명령은 OS 수준 샌드박스를 거쳐요. macOS에서는 Apple의 Seatbelt 프레임워크가 커널 수준 제한을 적용하고, Linux에서는 Landlock + seccomp가 파일 시스템과 시스템 콜 접근을 필터링해요. 샌드박스는 컨테이너 내부가 아닌 커널 수준에서 작동합니다. 이후 승인 정책이 사람의 확인이 필요한 시점을 결정해요.
확장 계층: MCP는 외부 서비스(GitHub, Figma, Sentry)를 연결해요. Skills는 Codex가 필요 시 로드하는 재사용 가능한 워크플로우를 패키징합니다. Apps는 ChatGPT 커넥터에 연결되고, 웹 검색은 인터넷에서 실시간 컨텍스트를 추가해요.
인터페이스 계층: 터미널 파워 유저와 자동화를 위한 CLI. 멀티스레드 프로젝트 관리를 위한 데스크톱 앱. 편집-컴파일-테스트 루프를 위한 IDE 확장. 독립적으로 실행되는 비동기 작업을 위한 클라우드.
핵심 인사이트: 대부분의 사용자는 하나의 인터페이스만 사용해요. 파워 유저는 네 가지 모두를 활용합니다: 장시간 작업에는 클라우드, 결정론적 저장소 작업에는 CLI, 빠른 코딩 루프에는 IDE 확장, 기획과 조율에는 데스크톱 앱을 사용해요.
목차
- Codex 설치 방법
- 빠른 시작: 첫 번째 세션
- 핵심 인터랙션 인터페이스
- 설정 시스템 심층 분석
- 어떤 모델을 선택해야 할까?
- Codex 비용은 얼마인가?
- 의사결정 프레임워크
- 샌드박스 및 승인 시스템 작동 원리
- AGENTS.md 작동 원리
- Hooks
- MCP (Model Context Protocol)란?
- Code Mode
- JavaScript REPL 런타임
- Skills란?
- Plugins
- Plan Mode 및 협업
- 메모리 시스템
- 세션 관리
- 비대화형 모드 (codex exec)
- Codex Cloud 및 백그라운드 작업
- Codex 데스크톱 앱
- GitHub Action 및 CI/CD
- Codex SDK
- 성능 최적화
- 문제 디버깅 방법
- 엔터프라이즈 배포
- 모범 사례 및 안티패턴
- 워크플로우 레시피
- 마이그레이션 가이드
- 빠른 참조 카드
- 변경 이력
- 참고 자료
Codex 설치 방법
패키지 매니저
# npm (recommended)
npm install -g @openai/codex
# Homebrew (macOS)
brew install --cask codex
# winget (Windows)
winget install OpenAI.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 Releases에서 플랫폼별 바이너리를 다운로드할 수 있어요1:
| 플랫폼 | 바이너리 |
|---|---|
| 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
두 가지 인증 경로가 있어요:
- ChatGPT 계정 (권장): 기존 Plus, Pro, Team, Business, Edu, 또는 Enterprise 구독으로 로그인하세요. 클라우드 작업을 포함한 모든 기능에 접근할 수 있어요.
- API Key:
CODEX_API_KEY환경 변수나codex login --with-api-key로 설정하세요. 일부 기능(클라우드 스레드)은 사용하지 못할 수 있어요.
전문가 팁: 자격 증명 저장소는
config.toml의cli_auth_credentials_store로 설정할 수 있어요. 옵션:file(기본값),keyring(OS 키체인), 또는auto(키링 사용 가능 시 키링, 불가 시 파일 폴백).
셸 자동 완성
# 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 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 |
스킬 접근 및 실행 |
/plugins |
설치된 플러그인 탐색 및 관리 (v0.117.0+) |
/title |
터미널 창 제목 설정 (v0.117.0+) |
/config |
적용된 설정 값과 출처 출력 |
/statusline |
TUI 하단 바 구성 |
/feedback |
Codex 관리자에게 로그 전송 |
/logout |
로그아웃 |
2. Codex Desktop App (macOS + Windows)
codex app # Launch desktop app (auto-installs if missing)
데스크톱 앱은 CLI에 없는 기능을 추가로 제공해요:
- 멀티태스킹: 여러 프로젝트에서 여러 병렬 에이전트를 동시에 실행
- Git worktree 격리: 각 스레드가 리포지토리의 격리된 사본에서 작업
- 인라인 diff 리뷰: 앱을 떠나지 않고 변경 사항을 스테이지, 되돌리기, 커밋
- 통합 터미널: 스레드별 명령 실행 터미널
- 대화 포크: 대화를 분기하여 대안 탐색
- 떠다니는 팝아웃 창: 대화를 휴대 가능한 별도 창으로 분리
- 자동화: 반복 작업 예약 (이슈 분류, CI 모니터링, 알림 대응)
앱 vs CLI 사용 시점: 여러 작업 흐름을 조율하거나 시각적 diff 리뷰가 필요할 때는 데스크톱 앱을 사용하세요. 터미널 조합성, 스크립팅, 또는 CI/CD 통합이 필요할 때는 CLI를 사용하세요.
3. IDE 확장 (VS Code, Cursor, Windsurf)
Codex IDE 확장은 에디터에 직접 통합돼요:
- 기본 에이전트 모드: 파일 읽기, 편집, 명령 실행
- 인라인 편집: 활성 파일에서 컨텍스트 인식 제안
- 공유 세션: CLI와 IDE 확장 간 세션 동기화
- 동일한 인증: ChatGPT 계정 또는 API key로 로그인
VS Code Marketplace 또는 Cursor/Windsurf 확장 스토어에서 설치하세요.3
4. Codex Cloud [EXPERIMENTAL]
클라우드 작업은 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을 사용합니다. 설정이 충돌할 때 어떤 값이 우선하는지 결정하므로, 우선순위 계층 구조를 이해하는 것이 매우 중요합니다.
우선순위 (높은 순서에서 낮은 순서)
- 세션 오버라이드 (최고 우선순위): CLI 플래그 (
--model,--sandbox,--ask-for-approval,--search,--enable/--disable,--profile) 및-c key=value오버라이드 - 프로젝트 설정 (
.codex/config.toml, 현재 작업 디렉토리에서 프로젝트 루트까지 상위로 탐색하며, 가장 가까운 디렉토리가 우선) - 사용자 설정 (
$CODEX_HOME/config.toml, 기본값은~/.codex/config.toml) - 시스템 설정 (Unix에서
/etc/codex/config.toml) - 내장 기본값 (최저 우선순위)
requirements.toml은 일반 설정 병합 후 사용자가 선택할 수 있는 값을 제한하는 정책 제약 계층으로 작동합니다. Enterprise Deployment를 참조하세요.
설정 파일 위치
| 범위 | 경로 | 용도 |
|---|---|---|
| 사용자 | ~/.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.4"
model_reasoning_effort = "xhigh"
approval_policy = "untrusted"
sandbox_mode = "read-only"
[profiles.auto]
model = "gpt-5.4"
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년 3월)
| 모델 | 입력 / 전체 컨텍스트 | 기본 추론 | 적합한 용도 |
|---|---|---|---|
| gpt-5.4 | 1M / 1M | medium |
추천 플래그십: 코딩 + 추론 + 네이티브 컴퓨터 사용 |
| gpt-5.4-mini | 400K / 400K | medium |
서브에이전트 작업, 간단한 작업 — GPT-5.4 할당량의 30%, 2배 빠름78 |
| gpt-5.3-codex | 272K / 400K | medium |
코딩 전문: 복잡한 소프트웨어 엔지니어링 |
| gpt-5.3-codex-spark | 128K / 128K | high |
거의 즉각적인 반복 작업, 텍스트 전용 (Pro 사용자, Cerebras 파트너십)69 |
| gpt-5.2-codex | 272K / 400K | medium |
장기 리팩토링, 마이그레이션, 레거시 코드 |
| gpt-5.1-codex-mini | 272K / 400K | medium |
빠른 작업, 비용 민감 작업, 대량 CI |
GPT-5.4는 모든 Codex 환경(CLI, 앱, IDE 확장, 클라우드)에서 사용할 수 있어요.66 정확한 모델 목록은 계정과 배포 상태에 따라 달라요. 로컬 캐시를 확인하세요:
~/.codex/models_cache.json.지원 중단 안내 (2026년 3월 11일): GPT-5.1 모델은 더 이상 ChatGPT에서 사용할 수 없어요. 기존 대화는 GPT-5.3 Instant, GPT-5.4 Thinking, 또는 GPT-5.4 Pro로 자동 전환돼요. GPT-5.1-Codex-Mini는 비용 민감 워크로드를 위해 API와 CLI에서 계속 사용할 수 있어요.73
GPT-5.4 mini (2026년 3월 17일): GPT-5.4의 더 작고 빠른 변형으로, 400K 컨텍스트에 MTok당 $0.75/$4.50 — GPT-5.4 할당량의 30%만 사용해요. 서브에이전트 위임에 이상적이에요: GPT-5.4가 계획과 조율을 담당하고, GPT-5.4 mini 서브에이전트가 더 좁은 하위 작업(코드베이스 검색, 파일 리뷰, 문서 처리)을 병렬로 처리해요.78
모델 선택 플로차트
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 (near-instant, Pro only)
│ └─ No
│ ├─ Subagent or parallel subtask (search, review, processing)?
│ │ ├─ Yes → gpt-5.4-mini (30% of GPT-5.4 quota, 2x faster)
│ │ └─ No
│ │ ├─ Pure coding task (refactor, migration, feature build)?
│ │ │ ├─ Yes → gpt-5.3-codex (coding specialist, 272K context)
│ │ │ └─ No → gpt-5.4 (recommended: coding + reasoning + computer use, 1M context)
└─ Still unsure? → gpt-5.4
추론 수준
모델이 응답 전에 얼마나 “생각”할지 제어할 수 있어요:
| 수준 | 동작 | 사용 시점 |
|---|---|---|
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 Key | 사용량 기반 | 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
비용 최적화 전략
- 프로필 활용:
gpt-5.1-codex-mini와model_reasoning_effort = "low"로 일상 작업용fast프로필을 만드세요 - 높은 추론은 아껴서 사용:
xhigh는 3~5배 더 많은 토큰을 사용하므로 정말 어려운 문제에만 쓰세요 --ephemeral활용: CI/CD에서 세션 영속성을 건너뛰어 오버헤드를 줄이세요- 추론 요약 최소화: 설명이 필요 없을 때는
model_reasoning_summary = "none"으로 설정하세요 - exec 모드로 일괄 처리:
codex exec는 자동화 워크플로에서 TUI 오버헤드를 줄여줘요 - 사용량 모니터링: 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로 모니터링 — Enterprise 배포에서는 사용량 텔레메트리를 기존 관측성 스택으로 내보낼 수 있어요
결정 프레임워크
각 환경별 사용 시기
| 시나리오 | 최적 환경 | 이유 |
|---|---|---|
| 빠른 버그 수정 | 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가 사람의 승인을 요청하는 시점을 분리하는 2계층 보안 모델을 사용합니다. 이 접근 방식은 Claude Code의 권한 시스템과 근본적으로 다릅니다 — Codex는 OS 커널 수준에서 제한을 적용합니다.5 관리자가 조직 전체에 적용하는 requirements.toml 제약 조건에 대해서는 Enterprise Deployment 섹션도 참고하세요.
계층 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 v0.117.0에서는 레거시 커널 구성을 가진 구형 배포판에서의 샌드박스 안정성이 개선되었습니다.77 - Windows: 제한된 토큰을 사용하는 네이티브 샌드박스(v0.100.0에서 실험 단계에서 승격). WSL도 지원됩니다(Linux Landlock + seccomp 상속). v0.117.0에서는 더 나은 프로세스 격리를 위한 제한된 토큰 샌드박스 개선이 포함되었습니다.77
이것이 중요한 이유: 컨테이너 기반 샌드박싱(Docker)과 달리, OS 수준 샌드박싱은 더 빠르고 가벼우며 탈출하기 어렵습니다. Codex가 시스템 콜을 확인하기도 전에 커널이 제한을 적용합니다.
보안 수정 사항:
- zsh-fork 샌드박스 우회 (v0.106.0): zsh 포킹을 통한 셸 실행이 샌드박스 제한을 우회할 수 있는 취약점이 수정되었습니다.62 이전 버전을 사용 중이라면 즉시 업그레이드하세요.
- 입력 크기 제한 (v0.106.0): Codex는 이제 과도하게 큰 페이로드로 인한 멈춤을 방지하기 위해 약 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가 동일한 명령을 단순 재시도하는 대신 접근 방식을 조정할 수 있습니다
런타임 권한 요청 (v0.113.0+)
Codex에는 이제 모델이 런타임에 추가 권한을 요청할 수 있는 내장 request_permissions 도구가 포함되어 있습니다.71 모델이 상승된 접근 권한이 필요한 작업을 만나면, 조용히 실패하거나 사용자가 다른 플래그로 재시작하도록 요구하는 대신 TUI 승인 흐름을 통해 특정 권한(파일 시스템 경로, 네트워크 접근 등)을 공식적으로 요청할 수 있습니다.
권한 프로파일 설정 언어 (v0.113.0+)
권한 프로파일을 위한 새로운 설정 언어가 파일 시스템과 네트워크 샌드박스 정책을 별도의 조합 가능한 섹션으로 분리합니다:71
[permission_profile.filesystem]
read = ["~/Projects", "/usr/local"]
write = ["~/Projects/my-app"]
[permission_profile.network]
allow = ["api.github.com", "registry.npmjs.org"]
deny = ["*"] # Global wildcard domains now rejected (hardened in v0.113.0)
이 설정은 단일 샌드박스 모드를 리소스별 세밀한 정책으로 대체합니다. 실행 가능한 권한 프로파일은 스킬 실행을 위한 턴별 샌드박스 정책과도 통합됩니다(v0.112.0).70
--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"
Guardian 서브에이전트를 활용한 스마트 승인 (v0.115.0+)
스마트 승인은 모든 작업에 대해 사람의 승인을 요구하는 대신 guardian 서브에이전트를 통해 검토 요청을 라우팅할 수 있습니다. guardian 세션은 승인 간에 유지되어 프롬프트 캐시를 재사용하고 시작 오버헤드를 방지합니다. 각 검토는 깨끗한 히스토리를 제공받습니다(이전 결정이 이후 검토에 유출되지 않음).75
config.toml에서 리뷰어를 설정하세요:
approvals_reviewer = "guardian_subagent" # "user" (default) or "guardian_subagent"
이는 무조건적인 approval_policy = "never" 대신 추론이 포함된 자동 검토를 원하는 CI/CD 워크플로에 특히 유용합니다.
네트워크 접근 활성화
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_PROXY 및 WSS_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는 세션 시작 시 디렉토리 트리를 순회하며 지침 체인을 구성합니다:
- 전역 (
~/.codex/):AGENTS.override.md>AGENTS.md - 프로젝트 (git 루트에서 현재 디렉토리까지): 각 레벨에서
AGENTS.override.md>AGENTS.md> 대체 파일명 순으로 확인 - 병합: 파일은 루트부터 아래로 연결되며, 가까운 파일이 프롬프트에서 나중에 나타나 이전 지침을 덮어씁니다
~/.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"보다 훨씬 낫습니다
- 완료 조건을 정의하세요: “완료”가 무엇을 의미하는지 명시하세요 (테스트 통과, 린트 클린 등)
- 명령어를 포함하세요: 빌드, 테스트, 린트, 포맷 (정확한 실행 명령)
- 작업별로 구성하세요: 코딩, 리뷰, 릴리스, 인시던트/디버그 섹션
- 에스컬레이션을 정의하세요: 차단되거나 예상치 못한 상태를 만났을 때의 대응 방법
피해야 할 사항: - 실행 규칙 없이 스타일 가이드 전체를 그대로 넣는 것 - 모호한 지시어 사용 (“조심하세요,” “최적화하세요”) - 상충하는 우선순위 혼합 (속도 + 철저한 검증 + 런타임 예산 없음) - 산문형 문서 작성 (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.
## Security
- Never commit secrets. Use `.env` for local config.
- Validate all external API calls with proper error handling.
오버라이드 메커니즘
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를 추가한 후, v0.114.0에서 SessionStart와 Stop 이벤트가 포함된 실험적 hooks 엔진을 추가했습니다.72 현재 이 시스템은 세션 라이프사이클과 도구 수준의 자동화를 포괄하며, Claude Code의 hook 모델과의 격차를 줄여가고 있습니다.
사용 가능한 Hook 이벤트
| 이벤트 | 실행 시점 | 추가 버전 |
|---|---|---|
SessionStart |
세션 시작 시 한 번 실행되며, hook의 stdout이 첫 번째 턴 이전에 시작 컨텍스트로 주입됩니다 | v0.114.0 [EXPERIMENTAL] |
Stop |
세션이 종료될 때 | v0.114.0 [EXPERIMENTAL] |
AfterAgent |
에이전트가 전체 턴을 완료한 후 | v0.99.0 |
AfterToolUse |
개별 도구 호출이 완료된 후 | v0.100.0 |
UserPromptSubmit |
사용자 프롬프트가 실행되기 전에 실행되며, 프롬프트가 히스토리에 들어가기 전에 차단하거나 보강할 수 있습니다 | v0.116.0 [EXPERIMENTAL] |
Hook 설정
Hooks는 .codex/config.toml에서 설정합니다:
[[hooks]]
event = "AfterToolUse"
command = "echo 'Tool completed' >> /tmp/codex-log.txt"
[[hooks]]
event = "SessionStart"
command = "echo 'Current date: $(date +%Y-%m-%d)'"
SessionStart hook의 stdout은 모델의 컨텍스트에 주입되므로, 세션 시작 시 동적 정보(날짜, 브랜치 이름, 환경 변수)를 주입하는 데 적합합니다.
Claude Code Hook 패턴 재현하기
Claude Code에서 마이그레이션하는 경우, 유사한 자동화를 구현하는 방법은 다음과 같습니다:
| Claude Code 패턴 | Codex 대안 |
|---|---|
PreToolUse 파일 차단 |
AGENTS.md 지침 + sandbox read-only 모드 |
PostToolUse 린팅 |
AfterToolUse hook에서 린터 실행 |
SessionStart 컨텍스트 주입 |
SessionStart hook (v0.114.0)의 stdout 주입 |
Stop 알림 |
Stop hook (v0.114.0)에서 알림 명령 실행 |
SubagentStop 알림 |
AfterAgent hook에서 알림 스크립트 실행 |
| 비동기 hooks | 아직 미지원; 백그라운드 작업에는 Cloud tasks 사용 |
전문가 팁: hooks 엔진은 실험적이며 지속적으로 확장되고 있습니다. 각 릴리스의 새로운 hook 이벤트는 Codex changelog에서 확인하세요.
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(): 프롬프트, 샌드박스, 모델, 승인 매개변수로 새 세션을 시작
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와 일치하지 않는 서버는 시작 시 차단돼요. 전체 정책 설정은 Enterprise Deployment를 참조하세요.
Code Mode [EXPERIMENTAL]
Code mode(v0.114.0)는 에이전트의 범위를 코드 중심 작업으로 제한하여 더 격리된 코딩 워크플로우를 제공해요.72 활성화하면 에이전트가 광범위한 시스템 상호작용 없이 코드 읽기, 쓰기, 테스트에 집중해요.
이 기능은 실험적이에요. 업데이트 사항은 릴리스 노트를 확인하세요.
JavaScript REPL 런타임 [EXPERIMENTAL]
Codex v0.100.0에서 도구 호출 간 상태를 유지하는 실험적 JavaScript REPL 런타임(js_repl)이 추가되었어요. v0.106.0에서 REPL은 시작 호환성 검사와 함께 /experimental slash command로 승격되었으며, 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이 활성화되지 않는 경우:
- 검색 확인:
/skills가 TUI에 해당 skill을 나열해야 합니다 - 경로 확인: skill 폴더가 인식되는 위치(
~/.codex/skills/, 프로젝트 루트 또는/etc/codex/skills/)에 있는지 확인합니다 enabled확인: config.toml에서enabled = false로 설정된 skills는 로드되지 않습니다- 암시적 활성화 확인: 자동 감지에 의존하는 경우,
agents/openai.yaml에서allow_implicit_invocation: true가 설정되어 있는지 확인합니다 - 키워드 사용: 암시적 매칭을 개선하기 위해 프롬프트에 skill의
description용어를 포함합니다
프로덕션 예시: Deploy 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
Plugins
Plugins는 skills, MCP 항목, 앱 커넥터를 하나의 설치 가능한 패키지로 통합합니다 (v0.110.0+).67 v0.117.0부터 plugins는 일급 시민으로 취급됩니다: 제품 범위 plugins는 시작 시 자동으로 동기화되고, /plugins는 TUI 내 브라우저를 통해 검색 및 관리 기능을 제공하며, 설치/제거 작업은 CLI와 TUI 모두에서 수행할 수 있습니다.77
Plugin 소스
| 소스 | 위치 | 설명 |
|---|---|---|
| Config | config.toml |
수동으로 선언된 plugins |
| 로컬 마켓플레이스 | marketplace.json |
프로젝트 로컬 plugin 카탈로그 |
| 설치 엔드포인트 | App server v2 | 원격 plugin 설치 |
| 제품 범위 | 시작 시 동기화 | 자동으로 동기화되는 plugins (v0.117.0+) |
Plugin 검색
Codex는 세션 시작 시 모델에게 어떤 plugins가 활성화되어 있는지 알려줍니다 (v0.111.0). 이를 통해 설치된 MCP, 앱, skills의 검색성이 향상됩니다.67 모델은 작업 컨텍스트에 따라 세션 중에 관련 plugins를 제안할 수 있습니다. v0.117.0에서는 제품 범위 plugins가 시작 시 동기화되어, 수동 개입 없이도 최신 plugin 카탈로그를 사용할 수 있습니다.77
@plugin 멘션 (v0.112.0+)
채팅에서 @plugin-name으로 설치된 plugin을 직접 참조할 수 있습니다.70 plugin을 멘션하면 해당 plugin의 컨텍스트(기능, 도구, 설정)가 모델의 컨텍스트 윈도우에 자동으로 포함됩니다 — plugin이 무엇을 하는지 별도로 설명할 필요가 없습니다.
@deploy push this branch to staging with canary rollout
@linter check for unused imports in src/
이 기능은 커스텀 skills, MCP 서버, 앱 커넥터를 포함한 모든 설치된 plugin에서 작동합니다.
Plugin 마켓플레이스 (v0.113.0+)
Plugin 마켓플레이스는 이제 메타데이터, 카테고리, 평점이 포함된 향상된 검색 기능을 제공합니다.71 설치 시 인증 확인을 통해 API 키나 OAuth가 필요한 plugins의 유효한 자격 증명을 설치 전에 검증합니다. 제거 엔드포인트는 plugins와 관련 설정을 깔끔하게 삭제합니다.
Plugins 관리
codex plugin list # Show installed plugins
codex plugin install <name> # Install from marketplace
codex plugin uninstall <name> # Remove plugin and config (v0.113.0+)
TUI에서는 /plugins (v0.117.0+)를 사용하여 세션을 떠나지 않고 plugins를 탐색, 설치, 제거할 수 있습니다.77
전문가 팁: Plugins는 이전에 별도의 MCP 설정, skill 설치, 앱 커넥터 설정이 필요했던 것을 통합합니다. 하나의 plugin에 세 가지를 모두 번들로 포함할 수 있어 팀 온보딩이 빨라지고 설정의 이식성이 높아집니다.
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 |
구문 강조 색상 테마 변경 |
/plugins |
plugins 탐색, 설치, 제거 (v0.117.0+)77 |
/title |
터미널 창 제목 설정; TUI와 app-server TUI에서 작동 (v0.117.0+)77 |
음성 전사 (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
메모리 vs 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 슬래시 명령어를 사용하면 검색 기능이 있는 동일한 대화형 선택기가 열려요.
포크
현재 진행 상태를 잃지 않고 대화를 분기하여 대안을 탐색할 수 있어요:
/fork # Fork current conversation
/fork "try a different approach" # Fork with new prompt
포크는 포크 시점까지 동일한 히스토리를 공유하는 독립적인 스레드를 생성해요. 한 포크에서의 변경은 다른 포크에 영향을 주지 않아요. 접근 방식을 비교하거나(예: “포크해서 Memcached 대신 Redis를 시도해 보기”) 위험한 변경을 안전하게 탐색할 때 유용해요.
서브 에이전트로의 스레드 포크 (v0.107.0): 스레드를 독립적인 서브 에이전트로 포크할 수 있어서, 대화가 자율적으로 실행되는 병렬 작업 스트림을 생성할 수 있어요. 기존 포크 모델의 확장으로, 단순히 대화를 분기하는 것이 아니라 포크된 스레드가 자체 실행 컨텍스트를 가진 서브 에이전트가 돼요.64 v0.117.0부터 서브 에이전트는 경로 기반 주소(예: /root/agent_a)와 구조화된 에이전트 간 메시징을 사용하여, 멀티 에이전트 조율이 더 명시적이고 디버깅하기 쉬워졌어요.77
스레드 목록
활성 세션을 조회하고 관리할 수 있어요:
/status # Current session info and token usage
/ps # Show background terminals in session
데스크톱 앱에서는 사이드바에서 전체 히스토리와 diff 미리보기와 함께 스레드를 확인할 수 있어요.
세션 생명주기
| 동작 | CLI | 데스크톱 앱 |
|---|---|---|
| 새로 시작 | 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 및 백그라운드 작업 [실험적]
상태: Codex Cloud는 실험적 기능이에요. 인터페이스, 가격, 사용 가능 여부는 변경될 수 있어요. OpenAI가 클라우드 환경을 관리하며, 사용자가 인프라를 직접 제어하지는 않아요.
Codex Cloud는 OpenAI가 관리하는 환경에서 작업을 비동기적으로 실행해요.4 CI 파이프라인에 Codex를 통합하는 방법은 GitHub Action 및 CI/CD도 참고하세요.
작동 방식
- 작업 제출 (chatgpt.com/codex, Slack 연동, 또는 CLI를 통해)
- Codex가 격리된 클라우드 샌드박스에 저장소를 클론
- 에이전트가 독립적으로 작업: 코드 읽기, 테스트 실행, 변경 사항 적용
- 완료 시 Codex가 PR을 생성하거나 리뷰용 diff를 제공
codex apply <TASK_ID>로 결과를 로컬에 적용
클라우드에서의 인터넷 접근
에이전트의 인터넷 접근은 기본적으로 비활성화되어 있으며 환경별로 설정할 수 있어요:
- Off: 에이전트 인터넷 접근 불가 (기본값)
- On: 선택적 도메인 허용 목록 + 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 및 Windows)은 멀티 프로젝트 관리에 최적화된 그래픽 인터페이스를 제공해요.[^17] Windows 버전은 2026년 3월 4일에 네이티브 PowerShell 지원과 네이티브 Windows 샌드박스를 갖추고 출시되었어요.[^68]
### 설치
```bash
codex app # Auto-downloads and installs on first run
또는 직접 다운로드: Codex.dmg (macOS) | Microsoft Store에서 이용 가능 (Windows)
주요 기능
| 기능 | 설명 |
|---|---|
| 병렬 스레드 | 여러 프로젝트에서 동시에 여러 작업을 실행 |
| 스레드 모드 | Local, Worktree, Cloud 모드로 스레드 시작 |
| 내장 Git 도구 | diff 검토, 코멘트 추가, 청크 스테이지/되돌리기, 커밋/푸시, PR 생성 |
| 통합 터미널 | 스레드별 터미널 (Cmd+J) |
| 음성 받아쓰기 | 음성으로 프롬프트 입력 (Ctrl+M) |
| 자동화 | 반복 작업 예약 |
| 알림 | 앱이 백그라운드일 때 완료/승인 알림 |
| 절전 방지 | 작업 실행 중 시스템 절전 방지 옵션 설정 |
| Skills + MCP | 앱, CLI, IDE 확장 프로그램 간 공유 설정 |
| MCP 단축키 | 작성기에서 MCP 도구 빠른 접근 단축키 (App v26.226)65 |
| 리뷰 @멘션 | 코드 리뷰 코멘트에서 협업자 @멘션 (App v26.226)65 |
| 커스텀 테마 | 설정에서 색상 조절 및 폰트 선택 (App v26.312)74 |
| App-server TUI | 기본 활성화 (v0.117.0+): ! 셸 명령, 파일시스템 감시, bearer 인증 기반 원격 WebSocket, 세션 간 프롬프트 히스토리 불러오기77 |
스레드 모드
각 스레드는 생성 시 선택한 세 가지 모드 중 하나로 실행돼요:
| 모드 | 격리 방식 | 파일 접근 | 적합한 용도 |
|---|---|---|---|
| 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이 아닌 프로젝트에서는 프로젝트 디렉토리에서 직접 실행돼요
- 자동화는 기본 샌드박스 설정을 사용해요
자동화 설정 방법: 1. 데스크톱 앱에서 프로젝트 열기 2. 사이드바에서 자동화 탭 클릭 3. 트리거 정의 (스케줄, 웹훅, 또는 수동) 4. 프롬프트 작성 후 실행 모드 선택 (로컬 또는 worktree) 5. 자동화 실행의 추론 수준 설정 (App v26.312)74 6. 자동화가 예약대로 실행되고 결과가 리뷰 큐에 대기
활용 사례: - 이슈 분류: 새 이슈를 자동으로 분류하고 우선순위 지정 - CI 모니터링: 빌드 실패를 감시하고 수정 방안 제안 - 알림 대응: 모니터링 알림에 진단 분석으로 대응 - 의존성 업데이트: 보안 패치 확인 및 적용
결과는 사람의 승인을 위한 리뷰 큐에 표시돼요.
Windows 지원
Codex Desktop App은 2026년 3월 4일(App v26.304)에 Windows에서 출시되었으며, 네이티브 PowerShell 지원, 네이티브 Windows 샌드박스, 그리고 WSL 없이도 skills, 자동화, worktrees를 포함한 완전한 기능 동등성을 갖추고 있어요.68
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 |
읽기 전용 샌드박스 (러너/사용자 권한 위험은 여전히 적용) |
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: "..." }) - 이미지 워크플로우 (v0.117.0):
view_image가 URL을 반환하고, 생성된 이미지를 다시 열 수 있으며, 이미지 히스토리가 세션 재개 후에도 유지77
스레드 및 클라이언트 설정
// 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 예산)을 갖고 있지만, 생각보다 빠르게 채워져요. 사전에 관리하세요:
/compact를 자주 사용하세요: 대화 히스토리를 요약해서 토큰을 확보해요- 로컬 문서를 제공하세요: 잘 작성된
AGENTS.md와 로컬 문서가 탐색 오버헤드를 줄여줘요 (컨텍스트를 소모하는) @로 특정 파일을 첨부하세요: Codex에게 파일을 찾으라고 하지 말고 직접 참조하세요- 프롬프트를 집중적으로 작성하세요: 정확한 파일을 지정한 범위가 좁은 프롬프트가 개방형 탐색보다 컨텍스트를 적게 소모해요
토큰 효율성
| 기법 | 효과 |
|---|---|
model_reasoning_summary = "none" 설정 |
출력 토큰 약 20% 감소 |
model_verbosity = "low" 사용 |
짧은 설명, 더 많은 실행 |
| 간단한 작업에 mini 모델 사용 | 메시지당 비용 대폭 절감 |
| 복잡한 작업을 집중 세션으로 분리 | 세션당 토큰 효율성 향상 |
| 작업별 프로필 전환 | 루틴 작업에 높은 추론 비용 지불 방지 |
속도 최적화
gpt-5.3-codex-spark: 인터랙티브 페어링을 위한 저지연 변형--profile fast: 낮은 추론 수준의 mini 모델 사전 설정 프로필- 병렬 도구 실행: Codex는 독립적인 읽기/검사를 동시에 실행하므로, 이를 활용할 수 있도록 프롬프트를 구성하세요
- 결과 중심 루프: 단계별 지시 대신 “구현하고, 테스트하고, 수정하고, 녹색이 되면 멈춰”라고 요청하세요
문제를 어떻게 디버깅하나요?
일반적인 문제와 해결 방법
| 문제 | 원인 | 해결 방법 |
|---|---|---|
| “Re-connecting” 반복 | 여러 Codex 인스턴스 실행 | 모든 프로세스를 종료하고 60초 대기 후 단일 인스턴스로 재시작 |
| 401 인증 오류 | 만료된 자격 증명 | rm ~/.codex/auth.json && codex login |
| sandbox에서 네트워크 차단 | 기본 동작 | -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 |
sandbox가 파일 작업을 차단함 | sandbox 모드를 확인하고, 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 |
sandbox 내에서 명령 실행 실패 | 명령 구문을 확인하고, sandbox 환경에서 필요한 도구가 사용 가능한지 확인 |
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
Codex Security [프리뷰]
Codex Security는 2026년 3월 6일에 리서치 프리뷰로 공개되었으며, 컨텍스트 인식 애플리케이션 보안 검토 기능을 Codex 스택에 도입했습니다.79 ChatGPT Pro, Enterprise, Business, Edu 고객이 Codex 웹을 통해 사용할 수 있습니다.
작동 방식: Codex Security는 리포지토리를 분석하여 프로젝트 맞춤 위협 모델을 구축하고, 실제 영향도에 따라 분류된 취약점을 식별하며, 샌드박스 환경에서 발견 사항을 검증합니다. 에이전트는 수정 방안과 함께 신뢰도 높은 발견 사항을 제시하여 사소한 버그로 인한 노이즈를 줄여줍니다.
성능: 리서치 프리뷰 기간 동안 Codex Security는 120만 건의 커밋을 스캔하고 10,561건의 고위험 취약점을 식별했습니다. 정밀도는 시간이 지남에 따라 향상되어 노이즈를 84% 줄이고, 과대 보고된 심각도를 90% 이상 감소시켰으며, 오탐률을 절반으로 낮췄습니다. OpenSSH, GnuTLS, Chromium에서 실제 취약점을 발견했으며 14건의 CVE가 할당되었습니다.79
참고: Codex Security는 CLI의 내장 sandbox 보안 모델과는 별개입니다. sandbox는 Codex로부터 사용자의 머신을 보호하고, Codex Security는 취약점으로부터 코드베이스를 보호합니다.
엔터프라이즈 배포
관리자 제어 (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은 사용자가 선택할 수 있는 값을 제한하는 강제 제약 레이어이며, 사용자가 재정의할 수 없어요. 관리자 요구사항 규칙은 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로 인코딩된 관리자 강제 요구사항 (사용자가 재정의 불가) |
우선순위 (높은 순서에서 낮은 순서):
- macOS 관리 환경설정 (MDM)
- 클라우드에서 가져온 요구사항 (ChatGPT Business / Enterprise)
/etc/codex/requirements.toml(로컬 파일시스템)
클라우드 요구사항은 설정되지 않은 필드만 채우므로, 더 높은 우선순위의 관리 레이어가 항상 우선해요. 클라우드 요구사항은 최선 노력 방식이며, 가져오기가 실패하거나 시간 초과되면 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: 조직 관리자가 액세스를 제어하며, 클라우드에서 가져온 요구사항이 자동으로 적용돼요. 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-2주차): 3-5명의 시니어 엔지니어에게
requirements.toml로untrusted샌드박스 모드와cached웹 검색을 적용하여 배포하세요. AGENTS.md 패턴과 MCP 서버 요구사항에 대한 피드백을 수집하세요. - 팀 확장 (3-4주차): 전체 팀에 롤아웃하세요. 팀 표준
config.toml을 MDM 또는 저장소를 통해 배포하세요. 신뢰할 수 있는 저장소에 대해workspace-write샌드박스를 활성화하세요. - CI 통합 (5-6주차): CI/CD 파이프라인에
codex-action을 추가하여 자동화된 PR 리뷰와 테스트 생성을 수행하세요.--ephemeral을 사용하여 비용을 예측 가능하게 유지하세요. - 조직 전체 (2개월 이후): MDM을 통해
requirements.toml로 승인된 MCP 서버, 샌드박스 정책, 모델 허용 목록을 적용하여 배포하세요.
감사 패턴
Codex 사용을 추적하고 컴플라이언스를 적용하세요:
- OpenTelemetry 트레이스: 팀별 API 호출량, 토큰 사용량, 지연 시간을 모니터링하세요
- 세션 영속성: 컴플라이언스 리뷰를 위해
~/.codex/sessions/를 감사하세요 (민감한 컨텍스트에서는--ephemeral로 비활성화) - MCP 신원 확인 적용:
requirements.toml이 차단된 서버 시도를 기록해요 — 비인가 도구 사용을 검토하세요 - Git 감사 추적: Codex의 모든 파일 변경은 표준 git을 통해 이루어져요 — 브랜치 히스토리와 PR diff를 통해 검토하세요
모범 사례 & 안티패턴
프롬프트 패턴
- 제약 조건 중심 프롬프트: 경계부터 설정하세요. “Do NOT change the API contracts. Only refactor internal implementation.”
- 구조화된 재현 단계: 번호가 매겨진 단계가 모호한 설명보다 더 나은 버그 수정을 이끌어내요
- 검증 요청: “Run lint + the smallest relevant test suite. Report commands and results.”로 마무리하세요
- 파일 참조:
@filename으로 특정 파일을 컨텍스트에 첨부하세요 - 결과 중심 루프: “Implement, run tests, fix failures, stop only when all tests pass.” Codex가 완료될 때까지 반복해요
테스트 철학
커뮤니티에서는 테스트 주도 AI 협업으로 수렴하고 있어요:23
- 테스트를 완료 신호로 미리 정의하세요
- 테스트가 통과할 때까지 Codex가 반복하게 하세요 (red → green → refactor)
- Tiger Style 프로그래밍 패턴을 도입하세요
- 패치를 요청할 때 정확한 파일 텍스트를 제공하세요. Codex는 퍼지 AST 기반 패칭이 아닌 엄격한 매칭을 사용해요
컨텍스트 관리 모범 사례
- 웹 검색에 의존하기보다 고품질 로컬 문서를 제공하세요
- 목차와 진행 파일이 포함된 구조화된 마크다운을 유지하세요 (“progressive disclosure”)
- 패치 실패를 방지하기 위해 추적되는 파일의 줄 바꿈 문자(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% 이상 사용 시 compact하세요 |
| CI에서 플래그십 모델 실행 | 일상적인 검사에 비용이 많이 들어요 | gpt-5.1-codex-mini와 low 추론으로 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:42 — user.name is None when unauthenticated” |
| 하나의 메시지에 여러 작업 | Codex가 작업을 혼동하고 일부를 놓쳐요 | 메시지당 하나의 작업만 지정하고, steer 모드(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: Cloud Tasks를 활용한 디버깅 [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 (SessionStart, Stop, UserPromptSubmit, AfterAgent, AfterToolUse; v0.99.0–v0.116.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 |
| 권한 규칙 | 샌드박스 모드 + 승인 정책 |
| MCP 설정 (settings.json) | MCP 설정 (config.toml) |
이해해야 할 주요 차이점:
- 샌드박스는 OS 레벨에서 작동해요: Codex는 컨테이너가 아닌 Seatbelt/Landlock을 사용해요. 제한이 애플리케이션 계층 아래의 커널 레벨에서 적용돼요.
- Hooks는 계속 확장 중이에요: Codex는 현재 5가지 hook 이벤트를 지원해요:
SessionStart,Stop,UserPromptSubmit(v0.114.0–v0.116.0, 실험적) 그리고AfterAgent(v0.99.0)와AfterToolUse(v0.100.0). 세션 라이프사이클, 프롬프트 가로채기, 도구 레벨 자동화를 다루지만, Claude Code의 12개 이상 라이프사이클 이벤트가 여전히 더 넓은 범위를 제공해요. 아직 지원되지 않는 자동화 패턴은 AGENTS.md 지시사항이나 skills를 활용하세요. - Sub-agents v2 (v0.117.0): Sub-agents가 이제 경로 기반 주소(예:
/root/agent_a)와 구조화된 에이전트 간 메시징, 에이전트 목록 조회를 지원해요.77 기존 기능(최대 6개 동시 실행, v0.91.0에서 12개에서 축소)을 확장한 것이에요. 멀티 에이전트 역할은 설정을 통해 커스터마이징할 수 있어요 (v0.104.0+).49 v0.105.0에서는 CSV 행 단위 팬아웃과 진행률 추적, ETA 기능이 포함된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 모드 + steer 모드 |
copilot-instructions.md / AGENTS.md |
AGENTS.md (동일한 표준) |
| MCP 지원 | MCP 지원 (STDIO + HTTP) |
| ACP (Agent Client Protocol) | Hooks (AfterAgent, AfterToolUse) |
| Copilot SDK | Codex SDK (TypeScript) |
| 코딩 에이전트 워크플로 | 샌드박스/승인 제어 + 클라우드 태스크가 포함된 Codex 에이전트 |
얻을 수 있는 이점:
- OS 레벨 샌드박스 (Seatbelt/Landlock — 컨테이너 기반이 아닌 커널 수준 적용)
- codex apply를 활용한 클라우드 태스크 위임
- 워크플로 전환을 위한 설정 프로필
- 워크트리 격리를 지원하는 데스크톱 앱
Cursor에서 마이그레이션
| Cursor 개념 | Codex 대응 기능 |
|---|---|
프로젝트 규칙 (.cursor/rules) / AGENTS.md |
AGENTS.md + 프로필/설정 |
| 에이전트 채팅/컴포저 워크플로 | 대화형 CLI 또는 데스크톱 앱 |
@ 파일 참조 |
@ 파일 참조 (동일) |
| Apply/edit + 리뷰 | 내장 패칭 및 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 ║
║ /fast Toggle fast mode (default: on) ║
║ /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 ║
║ ║
║ PLUGINS ║
║ codex plugin list List installed plugins ║
║ codex plugin install <name> Install from marketplace ║
║ ║
║ 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 (March 2026, v0.118.0) ║
║ gpt-5.4 Recommended flagship (1M context) ║
║ gpt-5.4-mini Subagent work, 2x faster (400K) ║
║ gpt-5.3-codex Coding specialist (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-04-01 | Guide v2.17 | CLI v0.118.0으로 업데이트: Windows 프록시 전용 샌드박스 네트워킹(OS 수준 이그레스), ChatGPT 디바이스 코드 인증 흐름, codex exec 프롬프트+stdin 워크플로, 커스텀 프로바이더용 동적 bearer 토큰 갱신. .codex 파일 최초 생성 시 보호 기능. Linux bwrap PATH 탐색 수정. TUI 앱 서버 회귀 수정(hooks 재생, /copy, /resume <name>, /agent, skills 선택기 스크롤). MCP 시작 안정성 개선(시작 대기 시간 연장, 경고 표시). Windows apply_patch ACL 수정. 모델 테이블에 GPT-5.4 mini 추가(400K 컨텍스트, GPT-5.4 할당량의 30%, 2배 빠른 속도). Codex Security 섹션 추가(리서치 프리뷰, 컨텍스트 인식 취약점 탐지). |
80 78 79 |
| 2026-03-31 | CLI 0.118.0 | Windows 프록시 전용 샌드박스 네트워킹(OS 수준 이그레스 규칙), ChatGPT 디바이스 코드 인증 흐름(앱 서버 클라이언트용), codex exec 프롬프트+stdin 워크플로(파이프 입력 + 별도 프롬프트), 커스텀 모델 프로바이더용 동적 bearer 토큰 가져오기/갱신. 수정 사항: .codex 파일 최초 생성 시 보호, Linux bwrap PATH 탐색, TUI 앱 서버 회귀(hooks 알림 재생, /copy, /resume <name>, /agent 스레드, skills 선택기 스크롤), MCP 시작 안정성(시작 대기 시간 연장, 실패 경고), Windows apply_patch 중복 writable-root ACL 변동. |
80 |
| 2026-03-17 | – | GPT-5.4 mini 출시: 400K 컨텍스트, MTok당 $0.75/$4.50, GPT-5.4 할당량의 30%, 2배 빠른 속도. Codex 앱, CLI, IDE 확장, 웹에서 사용 가능. 서브에이전트/병렬 하위 작업 위임에 최적화. | 78 |
| 2026-03-06 | – | Codex Security 리서치 프리뷰: Pro/Enterprise/Business/Edu 사용자를 위한 컨텍스트 인식 애플리케이션 보안 리뷰(Codex 웹 제공). 1.2M 커밋 스캔, 10,561건의 고위험 발견, OpenSSH/GnuTLS/Chromium에서 14건의 CVE 할당. | 79 |
| 2026-03-30 | Guide v2.16 | CLI v0.117.0으로 업데이트: 퍼스트 클래스 플러그인(시작 시 제품 범위 동기화, /plugins 브라우저, 설치/제거), 서브에이전트 v2(경로 기반 주소, 구조화된 에이전트 간 메시징, 에이전트 목록), /title 터미널 제목 선택기, 앱 서버 TUI 기본 활성화(! 셸 명령, 파일시스템 감시, bearer 인증 기반 원격 WebSocket, 세션 간 프롬프트 이력 불러오기), 이미지 워크플로 개선(view_image URL 반환, 생성된 이미지 재열기, 이력이 재개 시 유지), 레거시 아티팩트 도구 제거(read_file 및 grep_files 폐기), 구버전 배포판용 Linux 샌드박스 개선, Windows 제한 토큰 샌드박스 개선. |
77 |
| 2026-03-28 | CLI 0.117.0 | 시작 시 제품 범위 동기화 및 /plugins TUI 브라우저를 갖춘 퍼스트 클래스 플러그인. 서브에이전트 v2: 경로 기반 주소(/root/agent_a), 구조화된 에이전트 간 메시징, 에이전트 목록. TUI 및 앱 서버 TUI의 /title 터미널 제목 선택기. 앱 서버 클라이언트: ! 셸 명령, 파일시스템 감시, bearer 인증 기반 원격 WebSocket. 이미지 워크플로: view_image URL 반환, 생성된 이미지 재열기, 이력이 재개 시 유지. 앱 서버 TUI에서 세션 간 프롬프트 이력 불러오기. 앱 서버 TUI 기본 활성화. 레거시 아티팩트 도구 제거; 기존 read_file 및 grep_files 폐기. 구버전 배포판용 Linux 샌드박스 개선. Windows 제한 토큰 샌드박스 개선. |
77 |
| 2026-03-21 | Guide v2.15 | CLI v0.116.0으로 업데이트: UserPromptSubmit hooks 이벤트(총 5개), 앱 서버 TUI에서 ChatGPT 디바이스 코드 인증, 제안 허용 목록 및 원격 동기화를 통한 원활한 플러그인 설치, 최근 스레드 컨텍스트로 시작하는 실시간 세션, 오디오 자기 중단 감소. 수정 사항: WebSocket 첫 턴 지연, 원격 재개/포크용 대화 이력, 심볼릭 링크 체크아웃/AppArmor 환경에서의 Linux 샌드박스, 에이전트 작업 완료 경쟁 조건. |
76 |
| 2026-03-19 | CLI 0.116.0 | UserPromptSubmit hooks(실행 전 프롬프트 차단/보강), TUI에서 ChatGPT 디바이스 코드 인증, 허용 목록/원격 동기화를 통한 원활한 플러그인 설정, 최근 스레드 컨텍스트로 시작하는 실시간 세션, 오디오 자기 중단 감소. 수정 사항: WebSocket 프리웜 첫 턴 멈춤, 원격 재개/포크용 대화 이력, 심볼릭 링크 체크아웃/AppArmor 환경에서의 Linux 샌드박스 시작, 에이전트 작업 완료 경쟁 조건. 77개 PR 병합. |
76 |
| 2026-03-18 | Guide v2.14 | CLI v0.115.0으로 업데이트: view_image 및 codex.emitImage를 통한 풀 해상도 이미지 검사, js_repl에서 codex.cwd/codex.homeDir 노출, 실시간 WebSocket 전사 모드, 앱 서버 v2 파일시스템 RPC, 가디언 서브에이전트를 활용한 스마트 승인(approvals_reviewer = "guardian_subagent"), Responses API tool-search. 버그 수정: 서브에이전트 샌드박스 상속, js_repl U+2028/U+2029 멈춤, TUI 종료 지연, codex exec --profile 사용 시 프로필 설정 보존, MCP/엘리시테이션 개선, HTTP/1 CONNECT 프록시. |
75 |
| 2026-03-16 | CLI 0.115.0 | view_image 및 codex.emitImage(..., detail: "original")을 통한 풀 해상도 이미지 검사, js_repl에서 codex.cwd 및 codex.homeDir 노출(영구 도구 참조 포함), 전사 모드 및 v2 핸드오프를 갖춘 실시간 WebSocket 세션, 앱 서버 v2 파일시스템 RPC(읽기/쓰기/복사/디렉토리 작업/경로 감시), 스마트 승인이 가디언 서브에이전트를 통해 라우팅, 앱 통합이 Responses API tool-search 및 폴백 사용. 수정 사항: 생성된 서브에이전트가 샌드박스/네트워크 규칙을 더 안정적으로 상속, js_repl U+2028/U+2029 멈춤 해결, TUI 종료 지연 해결, codex exec --profile 사용 시 프로필 설정 보존, MCP/엘리시테이션 흐름 개선, 로컬 네트워크 프록시가 CONNECT를 HTTP/1로 처리. |
75 |
| 2026-03-13 | Guide v2.13 | App v26.312: 커스터마이즈 가능한 테마(색상 + 글꼴), 로컬/워크트리 실행 및 실행별 추론 수준을 갖춘 개편된 Automations. winget 설치 방법 추가. GPT-5.1 지원 종료 참고 추가(3월 11일 — ChatGPT에서 제거, GPT-5.3/5.4로 자동 마이그레이션). | 73 74 |
| 2026-03-12 | App v26.312 | 설정에서 색상 제어 및 글꼴 선택이 가능한 커스터마이즈 테마, 로컬 또는 워크트리 실행 모드 및 커스텀 추론 수준을 갖춘 개편된 Automations 인터페이스, 성능 개선. | 74 |
| 2026-03-11 | Guide v2.12 | CLI v0.114.0으로 업데이트: 실험적 hooks 엔진(SessionStart, Stop 이벤트), 실험적 코드 모드, 상태 확인 엔드포인트, 시스템 skills 비활성화 설정, 핸드오프 트랜스크립트 컨텍스트, 향상된 $ 멘션 선택기. 4개 이벤트로 Hooks 섹션 업데이트. Windows Desktop App 섹션 수정(현재 출시 완료). Quick Reference Card 모델을 2026년 3월 기준으로 업데이트. | 72 |
| 2026-03-11 | CLI 0.114.0 | 격리된 코딩 워크플로를 위한 실험적 코드 모드, SessionStart 및 Stop 이벤트를 갖춘 실험적 hooks 엔진, WebSocket 앱 서버 상태 확인 엔드포인트(/readyz, /healthz), 번들 시스템 skills 비활성화 설정 스위치, 핸드오프 시 실시간 트랜스크립트 컨텍스트 전달, skill/앱/플러그인 라벨을 갖춘 향상된 $ 멘션 선택기. 버그 수정: Linux tmux 충돌, 재개된 스레드 실행 중 멈춤, 레거시 권한 처리, 승인 흐름 지속성. | 72 |
| 2026-03-10 | Guide v2.11 | CLI v0.113.0으로 업데이트: @plugin 멘션(v0.112.0), request_permissions 도구, 권한 프로필 설정 언어, 플러그인 마켓플레이스 확장(v0.113.0). @plugin 멘션, 플러그인 마켓플레이스, 런타임 권한 요청, 권한 프로필 설정 언어 섹션 추가. | 70 71 |
| 2026-03-10 | CLI 0.113.0 | 런타임 권한 요청을 위한 내장 request_permissions 도구, 풍부한 메타데이터/설치 시 인증 확인/제거 엔드포인트를 갖춘 플러그인 마켓플레이스 탐색, 앱 서버 스트리밍 stdin/stdout/stderr(TTY/PTY 지원), 분리된 파일시스템/네트워크 샌드박스 정책을 갖춘 권한 프로필 설정 언어, 이미지 생성 결과 CWD에 저장, 전체 도구 설정이 가능한 웹 검색 설정, 글로벌 와일드카드 도메인을 거부하는 강화된 네트워크 프록시 정책 | 71 |
| 2026-03-08 | CLI 0.112.0 | 자동 포함 컨텍스트로 채팅에서 플러그인을 참조하는 @plugin 멘션, TUI 선택기용 새로운 모델 선택 인터페이스, zsh-fork skill 실행을 위해 턴별 샌드박스 정책에 병합되는 실행 가능한 권한 프로필, JS REPL 상태 처리 수정(실패한 셀 이후에도 바인딩 유지), 앱 서버 웹소켓 종료 시 SIGTERM을 Ctrl-C처럼 처리, Linux bubblewrap에서 항상 사용자 네임스페이스 분리, macOS 샌드박스 네트워크/유닉스 소켓 처리 개선 | 70 |
| 2026-03-06 | Guide v2.10 | CLI v0.111.0으로 업데이트: 권장 모델로 GPT-5.4(1M 컨텍스트), fast 모드 기본값, 플러그인 시스템(v0.110.0), js_repl 동적 임포트, 지속적 /fast 토글, Windows 설치 프로그램. Windows용 Codex 앱(v26.304). Cerebras 파트너십을 통한 GPT-5.3-Codex-Spark. 모델 테이블, 플로차트, 프로필 업데이트. 플러그인 섹션 추가. | 66 67 68 69 |
| 2026-03-05 | CLI 0.111.0 | fast 모드 기본값, 로컬 파일용 js_repl 동적 임포트, 세션 시작 시 플러그인 탐색, 이미지 워크플로 지원, 스레드 재개 시 git 컨텍스트 보존 | 67 |
| 2026-03-05 | – | GPT-5.4 출시: 플래그십 프론티어 모델, 1M 컨텍스트, 네이티브 컴퓨터 사용, 모든 Codex 인터페이스에서 사용 가능 | 66 |
| 2026-03-05 | CLI 0.110.0 | skills/MCP/앱 커넥터를 위한 플러그인 시스템, 멀티 에이전트 승인 프롬프트, 지속적 /fast 토글, 워크스페이스 범위 메모리 쓰기, Windows 설치 스크립트 | 67 |
| 2026-03-04 | App v26.304 | Windows용 Codex 앱: 네이티브 PowerShell 지원, 네이티브 샌드박스, WSL 없이 skills/automations/worktrees 사용 가능 | 68 |
| 2026-03-03 | App v26.303 | 워크트리 자동 정리 토글, 로컬에서 워크트리로의 핸드오프 지원, 명시적 영어 언어 옵션 | 68 |
| 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 샌드박스 우회 수정, ~1M 문자 입력 제한, 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 샌드박스 우회 수정, ~1M 문자 입력 제한, 개선된 TUI 파일 링크 렌더링, 서브에이전트 Ctrl-C 처리 수정 | 62 |
| 2026-02-25 | CLI 0.105.0 | /theme 선택기를 갖춘 TUI 펜스 코드 블록 및 diff 구문 강조, 음성 전사(스페이스바 받아쓰기, 실험적), 진행 상황/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 hooks를 통한 커밋 공동 저자 표시(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 | 마이그레이션 테이블 수정: hooks 현재 존재(v0.99.0+), 서브에이전트 인정(최대 6개), 모델 목록 완성. 전용 Hooks 섹션 추가(AfterAgent, AfterToolUse, 마이그레이션 패턴). Recipe 5 가상 명령 수정(cloud start→cloud exec, cloud pull→apply). codex auth→codex login 수정. Windows 샌드박스 실험적 단계에서 승격. Linux Bubblewrap 이제 번들/내장. minimal 추론 노력 수준 추가. 메모리 섹션 확장(v0.101.0 개선, 메모리 vs AGENTS.md). AGENTS.md 도입 목록 업데이트(60,000+ 프로젝트, Linux Foundation 거버넌스). Copilot 마이그레이션 테이블 업데이트. [EXPERIMENTAL] 대소문자 일관성 수정. ReadOnlyAccess 정책 문서, JS REPL Runtime 섹션, 프로덕션 Deploy skill 예시, 확장된 비용 섹션(숨겨진 토큰 오버헤드, 팀 비용 관리) 추가. 태그 없는 코드 블록 20개 태그 지정. 목차 앵커 30개 전수 검증. 사후 평가 수정: /permissions 용어 교정(approval mode→approval policy), 중복 “Project Trust” 헤더 이름 변경, chat/completions 지원 종료 표현 완화, OpenTelemetry 섹션 설정 예시로 확장, 마이그레이션 “탈출하기 어려운” 표현을 정확하게 수정. |
Deliberation 감사 |
| 2026-02-16 | Guide v2.2 | 19개 과거 CLI 마일스톤 릴리스(v0.2.0–v0.91.0) 변경 이력에 추가. 일괄 25 인용을 20개 개별 릴리스 각주(37–61)로 교체. 61 Apache 2.0 라이선스 인용 추가. 5 인용을 codex-linux-sandbox 참조에 추가. 22 인용을 MDM 환경설정 도메인에 추가. 6 Seatbelt 참고에 봇 차단 관련 업데이트. 검증 불가능한 OpenAI 블로그 URL 참고 추가. 총 각주: 56개(이전 36개). | Deliberation 감사 |
| 2026-02-15 | Guide v2.1 | Enterprise 섹션 수정(managed-admin-config.toml → requirements.toml, 검증된 TOML 키 포함), 272K 컨텍스트를 인용과 함께 입력 윈도우로 한정, 6 Seatbelt 인용 URL 추가, Key Takeaways 블록 추가, 스타일 위반 수정, 메타 설명 축소, AGENTS.md 도입 목록 확장. | Blog evaluator 감사 |
| 2026-02-14 | Guide v2 | 대규모 개정: 모델(272K 컨텍스트), 설정 키, 기능 플래그, 가격, 엔터프라이즈 설정, CI/CD 액션, SDK API, MCP 옵션, codex exec 플래그, 데스크톱 앱 기능, 마이그레이션 비교에 대한 Codex 검증 수정. 검증 불가능한 주장 제거. | 자체 검토 |
| 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 승인, 실시간 skill 감지, /config 진단, 메모리 인프라 |
41 |
| 2026-02-06 | CLI 0.96.0 | 비동기 스레드/압축 v2, WebSocket 속도 제한, Windows 외 unified_exec, 설정 출처 추적 | 42 |
| 2026-02-06 | CLI 0.95.0 | codex app 명령, 개인 skills, 병렬 셸 도구, git 보안 강화 |
43 |
| 2026-02-05 | – | GPT-5.3-Codex 출시 — 통합 모델, 25% 빠른 속도, 엔드투엔드 컴퓨터 운영 | 27 |
| 2026-02-02 | – | Codex Desktop App 출시(macOS) — 멀티태스킹, 워크트리, automations | 17 |
| 2026-01-30 | CLI 0.94.0 | 플랜 모드 기본값, 퍼스널리티 안정화, .agents/skills에서 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-exec 및 codex-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, 26–31, 34, 66, 68, 69, 78, 79는
openai.com/index/블로그 게시물로 연결되며, Cloudflare 봇 보호로 인해 자동화된 접근 시 HTTP 403을 반환해요. 이 URL들은 일반 웹 브라우저에서 접근하면 정상적으로 작동합니다.
-
GitHub — openai/codex — 오픈소스 저장소, 릴리스 및 토론. ↩↩↩
-
Codex CLI Windows 지원 — Windows 설치 및 WSL 안내. ↩
-
Codex IDE 확장 — VS Code, Cursor, Windsurf 통합. ↩
-
Codex Cloud — 클라우드 작업 문서 및 인터넷 접근 제어. ↩↩
-
macOS Seatbelt 샌드박스 — Apple sandbox-exec 프레임워크에 대한 커뮤니티 문서(공식 Apple 개발자 문서는 미공개). 참고: 이 위키는 자동화된 접근을 차단할 수 있으며(HTTP 403), macOS에서
man sandbox-exec도 참고하세요. ↩↩↩ -
Linux Landlock LSM — 커널 파일시스템 접근 제어. ↩
-
Codex CLI 플래그의 실제 작동 방식 — 플래그 상호작용에 대한 커뮤니티 분석. ↩
-
AGENTS.md 개방형 표준 — Linux Foundation 산하 크로스 도구 명령어 표준. ↩
-
AGENTS.md를 활용한 사용자 지정 명령어 — 공식 가이드. ↩
-
Codex MCP 통합 — MCP 서버 설정 및 관리. ↩
-
에이전트 SDK를 활용한 워크플로 구축 — 멀티 에이전트 오케스트레이션을 위한 MCP 서버로서의 Codex. ↩
-
에이전트 Skills — Skills 시스템 문서. ↩
-
Codex CLI 기능 — Plan 모드, steer 모드 및 협업 기능. ↩↩
-
Codex 앱 소개 — 데스크톱 앱 출시 발표. ↩↩↩
-
Codex 앱 문서 — 데스크톱 앱 기능 및 문제 해결. ↩
-
Codex GitHub Action — CI/CD 통합. ↩
-
Codex 가격 정책 — 구독 및 API 가격. ↩
-
Codex 설정 레퍼런스 — 엔터프라이즈 requirements.toml 스키마 및 MDM 배포. ↩↩↩
-
Codex 사용 모범 사례 — 커뮤니티 포럼 스레드. ↩
-
feiskyer/codex-settings — 커뮤니티에서 관리하는 설정, skills 및 프롬프트. ↩
-
Codex CLI 릴리스 — GitHub 릴리스 노트. ↩↩
-
GPT-5.3-Codex-Spark 소개 — Cerebras 파트너십, 1000+ tok/s. ↩↩
-
GPT-5.3-Codex 소개 — 통합 모델 출시. ↩
-
GPT-5.2-Codex 소개 — 컨텍스트 압축 및 대규모 변경 사항. ↩
-
GPT-5.1-Codex-Max로 더 많은 것을 구축하기 — 멀티 윈도우 압축. ↩
-
Codex 정식 출시 — DevDay 2025 발표. ↩
-
Codex 업그레이드 소개 — GPT-5-Codex + IDE 확장. ↩↩
-
Codex CLI 네이티브 전환 — Rust 재작성 논의. ↩
-
Codex 업데이트: 인터넷 접근 및 Plus 확대 — 2025년 6월 확대. ↩
-
Codex 컨텍스트 윈도우 논의 — 272K 입력 토큰 + 128K 출력 토큰 = 400K 총 예산, 소스 코드를 통해 확인됨. ↩
-
Codex에서 chat/completions 지원 중단 — OpenAI가 Codex의 chat/completions API 제거를 발표, 2026년 2월 완료. ↩
-
Codex CLI v0.101.0 — 모델 해석 개선, 메모리 개선, 안정성. 2026년 2월 12일. ↩↩
-
Codex CLI v0.100.0 — 실험적 JS REPL, 다중 속도 제한, WebSocket 전송, 메모리 명령, 향상된 샌드박스. 2026년 2월 12일. ↩
-
Codex CLI v0.99.0 — 동시 셸 명령,
/statusline, 정렬 가능한 이력 선택기, GIF/WebP 지원, 셸 스냅샷. 2026년 2월 11일. ↩ -
Codex CLI v0.98.0 — GPT-5.3-Codex 지원, steer 모드 안정화 및 기본값 설정, 모델 전환 수정. 2026년 2월 6일. ↩
-
Codex CLI v0.97.0 — “허용 및 기억” MCP 승인, 실시간 skill 감지,
/config진단, 메모리 배관. 2026년 2월 6일. ↩ -
Codex CLI v0.96.0 — 비동기 스레드/압축 v2, WebSocket 속도 제한, Windows 외 unified_exec, 설정 출처 추적. 2026년 2월 6일. ↩
-
Codex CLI v0.95.0 —
codex app명령, 개인 skills, 병렬 셸 도구, git 강화. 2026년 2월 6일. ↩ -
Codex CLI v0.94.0 — Plan 모드 기본값, personality 안정화,
.agents/skills에서 skills 로드, 런타임 메트릭. 2026년 1월 30일. ↩ -
Codex CLI v0.93.0 — SOCKS5 프록시, plan 모드 스트리밍,
/apps, smart approvals 기본값, SQLite 로그. 2026년 1월 29일. ↩ -
Codex CLI v0.92.0 — API v2 스레드, 스레드 필터링, MCP OAuth 범위, 멀티 에이전트 협업. 2026년 1월 29일. ↩
-
Codex CLI v0.91.0 — 리소스 가드레일 강화를 위해 최대 서브 에이전트 수를 12에서 6으로 축소. 2026년 1월 25일. ↩
-
Codex CLI v0.88.0 — 디바이스 코드 인증 폴백, 협업 모드,
/fork, 원격 모델,model_personality설정. 2026년 1월 21일. ↩ -
Codex CLI v0.102.0 — 통합 권한 흐름, 구조화된 네트워크 승인, 사용자 지정 멀티 에이전트 역할, 모델 재라우팅 알림. 2026년 2월 17일. ↩↩
-
Codex CLI v0.103.0 — prepare-commit-msg 훅을 통한 커밋 공동 저자 표기, 풍부한 앱 목록 메타데이터/브랜딩,
remote_models기능 플래그 제거. 2026년 2월 17일. ↩ -
Codex CLI v0.104.0 — WS_PROXY/WSS_PROXY WebSocket 프록시 지원, 명령별 고유 승인 ID, 스레드 보관/보관 해제 알림. 2026년 2월 18일. ↩↩↩
-
Codex 변경 이력 — Codex App v26.217: 드래그 앤 드롭 재정렬, 모델 다운그레이드 경고, 퍼지 파일 검색 개선. Codex 설정 레퍼런스 — 전체 설정 키 레퍼런스. 2026년 2월. ↩↩
-
Codex 가격 정책 — 플랜 등급, 5시간 윈도우당 사용 한도, 크레딧 비용, Free/Go 프로모션 접근. 2026년 2월. ↩↩
-
Codex CLI v0.78.0 —
Ctrl+G외부 편집기, 프로젝트 인식 설정 레이어링, macOS MDM 설정, TUI2 트랜스크립트 탐색,.dmg설치 파일. 2026년 1월 6일. ↩ -
Codex CLI v0.66.0 — 실행 정책 시스템, Windows CRLF 보존, 클라우드 exec
--branch, Linux Sigstore 서명. 2025년 12월 9일. ↩ -
Codex CLI v0.59.0 — 네이티브 압축, 도구 출력 한도 10K 토큰으로 상향, Windows Agent 모드 샌드박스,
/status에 크레딧 표시. 2025년 11월 19일. ↩ -
Codex CLI v0.50.0 —
/feedback진단, 샌드박스 위반 위험 평가, MCP 시작 개선, 환경 변수 마스킹. 2025년 10월 25일. ↩ -
Codex CLI v0.45.0 — 주요 변경:
codex login --api-key→--with-api-key(stdin). OAuth MCP 인증, 병렬 도구 호출. 2025년 10월 6일. ↩ -
Codex CLI v0.40.0 — 기본 모델 →
gpt-5-codex, 220K 토큰에서 자동 압축,/review명령, git 실행 취소, Windows 바이너리. 2025년 9월 23일. ↩ -
Codex CLI v0.2.0 — 첫 Rust 바이너리 릴리스. macOS(aarch64/x86_64) 및 Linux(gnu/musl)용 사전 빌드 바이너리,
codex-exec및codex-linux-sandbox도구. 2025년 6월 30일. ↩ -
GitHub — openai/codex LICENSE — Apache License 2.0. 2025년 4월 최초 오픈소스 출시. ↩↩↩
-
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일. ↩↩↩↩↩↩↩↩↩↩
-
Codex CLI v0.105.0 — /theme을 통한 TUI 구문 강조, 음성 트랜스크립션, spawn_agents_on_csv, /copy /clear Ctrl-L, 유연한 승인 제어, Linux /dev 파일시스템, js_repl 오류 복구. 2026년 2월 25일. ↩↩↩↩↩↩↩↩↩↩
-
Codex CLI v0.107.0 — 스레드를 서브 에이전트로 포크, 실시간 음성 디바이스 선택, 사용자 지정 도구 멀티모달 출력,
codex debug clear-memories를 통한 설정 가능한 메모리. 2026년 3월 2일. ↩↩↩↩↩↩ -
Codex 변경 이력 — App v26.226 — 작성기에서 MCP 바로가기, 리뷰 코멘트에서 @멘션, Mermaid 다이어그램 오류 처리. 2026년 2월 26일. ↩↩↩
-
GPT-5.4 소개 — GPT-5.3-Codex 코딩 능력에 강화된 추론, 네이티브 컴퓨터 사용, 1M 컨텍스트 윈도우를 결합한 플래그십 프론티어 모델. 2026년 3월 5일. ↩↩↩↩↩
-
Codex CLI v0.110.0–v0.111.0 — skills/MCP/앱 커넥터용 플러그인 시스템(v0.110.0), fast 모드 기본값, js_repl 동적 임포트, 세션 시작 시 플러그인 검색(v0.111.0). 2026년 3월 5일. ↩↩↩↩↩
-
Windows용 Codex 앱 — PowerShell 지원, 네이티브 샌드박스, skills/자동화/worktrees를 갖춘 네이티브 Windows 앱. App v26.304(2026년 3월 4일), v26.303(2026년 3월 3일). ↩↩↩↩↩
-
GPT-5.2-Codex 소개 — GPT-5.3-Codex-Spark: 즉각적인 코딩 반복에 최적화된 텍스트 전용 리서치 프리뷰 모델. Cerebras 파트너십을 통해 ChatGPT Pro 사용자에게 제공. 128K 컨텍스트. ↩↩↩
-
Codex CLI v0.112.0 — 자동 포함 컨텍스트가 있는 @plugin 멘션, TUI 모델 선택 화면, 턴별 샌드박스 정책의 실행 가능한 권한 프로필, JS REPL 상태 수정, SIGTERM 처리, Linux bubblewrap 사용자 네임스페이스, macOS 샌드박스 개선. 2026년 3월 8일. ↩↩↩↩
-
Codex CLI v0.113.0 — 내장 request_permissions 도구, 플러그인 마켓플레이스 확장(메타데이터, 인증 검사, 제거), TTY/PTY를 통한 앱 서버 스트리밍, 권한 프로필 설정 언어, CWD에 이미지 생성 저장, 웹 검색 도구 설정, 강화된 네트워크 프록시 정책. 2026년 3월 10일. ↩↩↩↩↩
-
Codex CLI v0.114.0 — 실험적 코드 모드, 실험적 hooks 엔진(SessionStart, Stop 이벤트), WebSocket 상태 확인 엔드포인트, 시스템 skills 비활성화 설정, 핸드오프 트랜스크립트 컨텍스트, 향상된 $ 멘션 선택기. 2026년 3월 11일. ↩↩↩↩
-
OpenAI 개발자 변경 이력 — 2026년 3월 11일 — ChatGPT에서 GPT-5.1 모델 제거, 기존 대화는 GPT-5.3 Instant, GPT-5.4 Thinking, 또는 GPT-5.4 Pro에서 자동 계속. ↩↩
-
Codex 변경 이력 — App v26.312 — 색상 제어 및 폰트 선택이 가능한 사용자 지정 테마, 로컬/worktree 실행 및 사용자 지정 추론 수준을 갖춘 개편된 자동화 인터페이스, 성능 개선. 2026년 3월 12일. ↩↩↩↩
-
Codex CLI v0.115.0 —
view_image및codex.emitImage를 통한 전체 해상도 이미지 검사,js_repl에서codex.cwd/codex.homeDir노출, 실시간 WebSocket 트랜스크립션 모드, 앱 서버 v2 파일시스템 RPC, 가디언 서브 에이전트를 활용한 Smart Approvals, Responses API 도구 검색. 수정사항: 서브 에이전트 샌드박스 상속, js_repl U+2028/U+2029 행, TUI 종료 지연, 프로필 설정 보존, MCP/엘리시테이션 개선. 2026년 3월 16일. ↩↩↩ -
Codex CLI v0.116.0 —
UserPromptSubmit훅 이벤트, 앱 서버 TUI에서 ChatGPT 디바이스 코드 인증, 제안 허용 목록 및 원격 동기화를 통한 원활한 플러그인 설치, 최근 스레드 컨텍스트를 활용한 실시간 세션, 오디오 자기 중단 감소. 수정사항: WebSocket 사전 준비 첫 턴 행, 원격 재개/포크를 위한 대화 이력, 심볼릭 링크 체크아웃/AppArmor의 Linux 샌드박스, 에이전트 작업 완료 경쟁 상태. 77개 PR 병합. 2026년 3월 19일. ↩↩ -
Codex CLI v0.117.0 — 퍼스트 클래스 플러그인(제품 범위 동기화,
/plugins브라우저, 설치/제거), 서브 에이전트 v2(경로 기반 주소, 구조화된 메시징, 에이전트 목록),/title터미널 제목 선택기, 앱 서버 TUI 기본 활성화(!셸 명령/파일시스템 감시/원격 WebSocket 베어러 인증/프롬프트 이력 호출), 이미지 워크플로(view_imageURL, 재열기 가능한 생성 이미지, 재개 후에도 유지되는 이력), 레거시 artifact/read_file/grep_files 도구 제거, 구형 배포판을 위한 Linux 샌드박스 개선, Windows 제한 토큰 샌드박스 개선. 2026년 3월 28일. ↩↩↩↩↩↩↩↩↩↩↩↩↩ -
GPT-5.4 mini 및 nano 소개 — GPT-5.4 mini: 400K 컨텍스트, MTok당 $0.75/$4.50, GPT-5.4 할당량의 30%, 2배 빠름. Codex 앱, CLI, IDE 확장, 웹에서 사용 가능. 2026년 3월 17일. ↩↩↩↩↩↩
-
Codex Security: 리서치 프리뷰 출시 — 컨텍스트 인식 애플리케이션 보안 검토. Codex 웹을 통해 Pro/Enterprise/Business/Edu에서 사용 가능. 120만 커밋 스캔, 10,561개 고위험 발견, 14개 CVE 할당. 2026년 3월 6일. ↩↩↩↩↩
-
Codex CLI v0.118.0 — Windows 프록시 전용 샌드박스 네트워킹, ChatGPT 디바이스 코드 인증,
codex exec프롬프트+stdin, 동적 베어러 토큰, .codex 파일 보호, Linux bwrap 수정, TUI 앱 서버 회귀, MCP 시작 견고성, Windows apply_patch 수정. 2026년 3월 31일. ↩↩