본문으로 건너뛰기

Codex Agent Plugins & 카탈로그 페더레이션 (v0.147.0): 실전 가이드

중급

2026년 8월 7일 OpenAI가 Codex CLI v0.147.0을 출시했습니다. 대부분의 보도는 이를 하나의 불렛으로 납작하게 만들었습니다 ("이제 플러그인, 멋짐"). 실제 릴리스는 네 가지를 한꺼번에 바꾸며, 그중 셋은 당신이 오늘 CI에 갖고 있을 스크립트를 조용히 깨뜨립니다: 이식 가능한 Agent Plugins가 임시 스킬 설치를 대체하고 4계층 카탈로그에서 병합됨; 새로운 --approve-for-me 플래그는 "모두 자동 승인"처럼 읽히지만 그렇지 않음; 오래된 --full-auto 단축키는 제거됨; 그리고 Codex가 이제 옵트인 MCP 2026-07-28과 비차단 서버 시작을 제공. 각각 업그레이드 전에 알아야 할 함정이 있습니다.

이 페이지는 Claude Code Skills, subagents, MCP를 이미 이해하는 독자를 위한 실전 필드 가이드 — Codex 버전이 실제로 무엇을 하는지, 어디가 다른지, 월요일 아침 워크플로에서 무엇을 바꿔야 하는지 알고 싶은 사람을 위한 것입니다.

What you'll learn
  • Codex CLI v0.146.1(8월 5일)과 v0.147.0(8월 7일)에서 정확히 무엇이 출시됐고 왜 둘이 함께 중요한지 파악
  • 4계층 플러그인 카탈로그 — 로컬, 개인, 워크스페이스, 리모트 — 와 실제로 어떤 플러그인이 이기는지 결정하는 병합/중복 제거 규칙 이해
  • `--approve-for-me`를 올바르게 읽기: 이것은 리뷰 패스이지 샌드박스 우회가 아님; OS 레벨 샌드박스는 유지됨
  • 다음 CI 실행이 조용히 실패하기 전에 제거된 `--full-auto` 플래그에서 마이그레이션
  • Codex에서 MCP 2026-07-28에 옵트인할 시점 결정 — 그리고 비차단 서버 시작이 무엇을 주는지

두 릴리스 그림: 0.146.1 그다음 0.147.0​

8월 드롭은 실제로 48시간 간격의 두 릴리스이며, 이를 하나로 읽으면 무엇이 바뀌었는지 혼란스러워집니다.

Guided walkthrough1 of 3
  1. 조용한 포인트 릴리스이지만, 사이버 능력 태그가 붙은 모델(GPT-5.6-Cyber를 포함하는 같은 클래스)의 *시작 자세*를 바꿨습니다. 자동 승인 기본값이 조여집니다: 네트워크, 자격증명 읽기, 프로세스 관리는 이제 오래된 관대한 기준선에 의존하는 대신 명시적 화이트리스트가 필요합니다. Codex는 또한 터미널에서 권한 변경을 설명하기 시작했습니다 — 요청이 왜 차단됐는지 볼 수 있지 그냥 차단됐다는 것만 보이지 않습니다.

이식 가능한 Agent Plugins: 파일 수준에서 무엇이 바뀌었나​

Codex는 2026년 내내 Skills — 어떤 규격에 맞는 에이전트든 로드할 수 있는 SKILL.md + 형제 폴더 — 를 가지고 있었습니다. v0.147.0은 그 위에 패키지 계층을 추가합니다: Agent Plugins. 플러그인은 카탈로그에서 이름으로 설치할 수 있는 단일 아티팩트로 하나 이상의 스킬, MCP 서버, 프롬프트, 설정을 번들할 수 있는 배포 가능한 단위입니다. Skills는 에이전트 간 이식성을 유지하며, 플러그인은 Codex 자체의 패키징 및 배포 계층입니다.

중요한 변화는 어떻게 발견되는지입니다. v0.147.0 이전에는 스킬 디렉토리를 프로젝트나 개인 폴더에 손으로 복사했습니다. v0.147.0 이후에는 Codex가 네 곳을 보고 결과를 병합합니다.

4계층 카탈로그 — 그리고 누가 이기는지 결정하는 병합 규칙​

Codex는 고정된 우선순위 순서로 네 카탈로그를 검색합니다. 두 카탈로그가 같은 이름의 플러그인을 담고 있으면 우선순위가 높은 것이 이기고 낮은 우선순위의 사본은 숨겨집니다.

계층위치소유자일반적 사용
1. 로컬리포 안의 .codex/plugins/프로젝트에 커밋됨리포 특유의 도구; 브랜치와 함께 이동
2. 개인~/.codex/plugins/당신, 당신의 머신에만자체 손수 만든 또는 실험적 플러그인
3. 워크스페이스팀 공유 워크스페이스 스코프팀공유 컨벤션, 리뷰 플로우, 배포 스크립트
4. 리모트구성한 마켓플레이스 루트벤더 + 커뮤니티marketplace.openai.com 또는 내부 레지스트리의 공개 플러그인

병합 규칙: 결과는 플러그인 이름별로 중복 제거되며, 가장 높은 우선순위 사본이 먼저 표면화됩니다. 리포의 .codex/plugins/terraform-drift/에 커밋된 terraform-drift 플러그인은 같은 이름의 리모트 카탈로그 버전을 조용히 가립니다. 이는 설계상 그렇습니다 — 리포가 알려진 좋은 버전을 고정할 수 있어야 함 — 하지만 업그레이드 시 "왜 내 플러그인이 문서와 다르게 동작하지?"의 1위 원인입니다.

동작을 디버그하기 전에 codex plugin list를 읽으세요

codex plugin list는 각각이 해결된 소스 계층과 함께 설치된 플러그인을 보여줍니다. 플러그인이 놀라운 일을 하고 있다면 이것이 처음 실행할 명령입니다 — 사용하고 있는 버전이 생각하는 버전이 아닐 수 있습니다.

카탈로그 구성 — 최소 config.toml​

마켓플레이스 엔드포인트와 자동 업데이트 동작은 Codex의 config.toml에서 설정됩니다. v0.147.0 기본값은 auto_update = false를 유지하며, 재현성에 옳은 선택이지만 업데이트를 의도적으로 실행해야 함을 의미합니다.

# ~/.codex/config.toml
[plugins]
enabled = true
marketplace_roots = [
"https://plugins.internal.example.com",
"https://marketplace.openai.com"
]
auto_update = false
update_check_interval_hours = 24

카탈로그 항목 제한이 v0.147.0에서 512에서 2,048로 상향되었습니다 — 큰 내부 레지스트리를 가리키면 중요한 작은 숫자. 512 아래에서는 상한을 넘는 플러그인이 검색 결과에서 조용히 잘렸습니다; 엔터프라이즈 팀이 이걸 자주 부딪히자 OpenAI가 천장을 올렸습니다.

플러그인 작업 — 일상 명령​

병합된 카탈로그를 대화형 선택기에서 탐색

/plugins

네 계층 모두 한 번에 검색

codex plugin marketplace search "terraform"

이름으로 가장 높은 우선순위 매치 설치

codex plugin install terraform-drift

설치된 것과 각각이 어느 계층에서 왔는지 보기

codex plugin list

설치된 모든 플러그인 업데이트 (옵트인 — auto_update 기본 꺼짐)

codex plugin update

플러그인 설치 내부의 세 가지 보안 강화​

v0.147.0의 플러그인 설치 경로는 세 가지를 조용히 조였습니다 — 모두 "설치 작동"의 의미를 바꾸므로 알아둘 가치가 있습니다.

Guided walkthrough1 of 3
  1. 플러그인 패키지에 심링크가 있으면 Codex는 따라가는 대신 심링크를 건너뜁니다. 이는 경로 순회 공격의 전체 클래스를 차단합니다 — 악의적인 플러그인이 더 이상 `plugin/config` → `/etc/passwd`를 링크할 수 없습니다. 트레이드오프: 공유 자산을 위해 심링크를 사용한 합법 패키지는 인라인해야 합니다.

--approve-for-me: 실제로 하는 일 (그리고 하지 않는 일)​

이름은 "모든 요청을 자동 승인"처럼 읽힙니다. 그것이 플래그가 하는 일이 아닙니다. --approve-for-me는 활성 샌드박스 모드와 승인 정책 구성에 대해 각 요청을 판결하는 자동 리뷰 패스를 통해 승인 요청을 라우팅합니다. 정책이 "예, 이것은 화이트리스트 안에 있음"이라고 하면 요청이 프롬프트 없이 진행됩니다. 정책이 "아니오 또는 불명확"이라고 하면 요청이 거부됩니다 — 단지 실행 중간에 질문받지 않는 것뿐입니다.

두 가지는 여전히 유효합니다:

  • OS 레벨 샌드박스는 여전히 시행됩니다. Linux에서는 Bubblewrap을 통해; macOS에서는 플랫폼 샌드박스를 통해. --approve-for-me는 샌드박스를 벗어날 수 없습니다; 그 안에서 프롬프트를 자동 응답할지 결정할 수 있을 뿐입니다.
  • 사이버 능력 모델은 자동으로 v0.146.1의 더 안전한 기본값을 받습니다. 네트워크 접근, 자격증명 읽기, 프로세스 관리는 --approve-for-me가 뭐라 하든 명시적으로 화이트리스트되지 않으면 거부됩니다.

올바른 멘탈 모델: --approve-for-me는 정책 파일을 사람으로 바꿉니다. 정책이 느슨하면 이 플래그는 위험합니다; 정책이 엄격하면 이 플래그는 무인 실행을 위한 빠진 조각입니다.

대화형 실행 — 정책이 승인을 판결, 샌드박스는 유지

codex --approve-for-me --sandbox workspace-write "refactor auth and run tests"

구조화된 출력 계약을 가진 exec (비대화형) 실행

codex exec --approve-for-me --sandbox workspace-write \
--output-schema '{"type":"object","properties":{"passed":{"type":"boolean"}}}' \
"run the full test suite"

플래그와 합리적으로 어울리는 최소 승인 정책:

# ~/.codex/config.toml
[approval_policy]
sandbox_mode = "workspace-write"

[approval_policy.network]
allowed = ["api.github.com", "registry.npmjs.org"]

그 허용 목록에 없는 모든 것은 거부됩니다 — --approve-for-me에 의해서도.

조용한 breaking change: --full-auto가 제거됨​

codex exec --full-auto를 호출하는 CI나 Makefile이 있으면 v0.147.0에서 깨집니다. 플래그가 사라졌습니다. 대체는 명시적입니다:

# v0.147.0 이전 (이제 깨짐)
codex exec --full-auto "run tests"

# v0.147.0 문법
codex exec --sandbox workspace-write "run tests"

두 개는 동일하지 않습니다: --full-auto는 샌드박스 선택 과 승인 정책 선택을 결합했습니다. 새 형식은 샌드박스를 명시적으로 명시하도록 요구하며, "나에게 프롬프트하지 마" 절반을 다시 원한다면 --approve-for-me를 추가하세요. 공유 러너를 업그레이드하기 전에 grep해 볼 가치가 있습니다.

Codex에서 MCP 2026-07-28 — 실제로 얻는 세 가지​

Codex는 v0.147.0에서 새 MCP 스펙을 옵트인으로 만들었습니다. 의존하는 서버가 마이그레이션했으면 켜세요; 그렇지 않으면 끄세요. 스위치를 넘길 때의 세 가지 구체적 승리:

  • 페이지네이션된 발견. 200개 이상의 도구를 노출하는 서버는 더 이상 거대한 원샷 목록을 강요하지 않습니다; 클라이언트가 페이지를 넘깁니다. 첫 도구까지의 지연 시간이 훨씬 낮아집니다.
  • 다중 라운드 요청. 단일 논리적 작업이 여러 클라이언트↔서버 라운드에 걸칠 수 있습니다 — 대화형 폼, 2단계 확인, 후속 토큰을 반환하는 리소스 읽기를 생각하세요. 2026-07-28 이전에는 이를 하나의 페이로드에 억지로 밀어 넣어야 했습니다.
  • 비차단 서버 시작. Codex는 더 이상 느린 MCP 서버에서 자체 부팅을 차단하지 않습니다. 4초 걸리는 서버가 예전에는 전체 CLI를 얼렸습니다; 이제 Codex는 시작하고 서버는 준비되었을 때 준비됨으로 표시됩니다.

이것이 Claude Code에 어떻게 매핑되는가, 하나의 표로​

Claude 본능이라면 이것이 같은 개념의 번역 표입니다.

개념Codex CLI (v0.147.0)Claude Code
이식 가능한 명령 단위Skill (SKILL.md 폴더)Skill (SKILL.md 폴더) — 같은 오픈 스탠다드
패키징 / 배포Agent Plugin (스킬, MCP, 설정 번들)Plugin 마켓플레이스 + 스킬 설치
발견 범위4계층 카탈로그 (로컬 → 개인 → 워크스페이스 → 리모트)프로젝트 + 사용자 + 마켓플레이스
샌드박스 내 자동 승인--approve-for-me + approval_policy~/.claude/settings.json의 권한
샌드박스 시행Bubblewrap (Linux) / macOS 샌드박스자격증명 마스킹이 있는 샌드박스
장기 실행 MCP 서버비차단 시작 (MCP 2026-07-28)옵트인하지 않으면 차단 시작
"리포 안의 명령".codex/plugins/, AGENTS.md.claude/, CLAUDE.md

단일 최대 실용적 차이: 인리포 .codex/plugins/ 가림이 있는 Codex의 4계층 카탈로그는 Claude Code의 기본값보다 더 공격적입니다. 이는 기능입니다 — 리포가 플러그인 버전을 고정하고 모두가 실행함을 확신할 수 있음 — 하지만 "내 플러그인을 업그레이드했는데 아무것도 바뀌지 않았어"는 종종 "당신의 리포가 오래된 사본을 고정했어"입니다.

이미 Codex를 쓰는 팀을 위한 마이그레이션 체크리스트​

Guided walkthrough1 of 6
  1. 이는 `codex --version` 점프 후 녹색 CI가 빨간색이 되는 가장 흔한 원인.

Codex 플러그인이 Claude subagent를 이길 때 — 그리고 이기지 못할 때​

Codex 플러그인은 재사용 단위가 워크플로 패키지일 때 가장 강합니다 — 리뷰 플로우, 배포 시퀀스, Terraform-drift 스윕 — 팀 전체에 하나의 아티팩트로 배송하고 뒤에 버전 관리와 마켓플레이스가 있는 것. 4계층 카탈로그는 "플랫폼 팀이 배송하는 리뷰어 플러그인, 내 리포가 오버라이드하지 않는 한"이 필요한 조직에서 진정으로 유용합니다.

Claude Code의 subagent+skill 모델은 재사용 단위가 단일 대화형 세션 안에서 자유롭게 조합되는 역할("code-reviewer", "debugger")일 때 더 강하며, 같은 파일이 재패키징 없이 ChatGPT, Cursor, Gemini CLI, Codex에서 실행되기를 원할 때 더 강합니다. Skills는 더 이식 가능한 프리미티브로 남습니다; 플러그인은 더 강력한 배포 계층입니다.

2026년 8월 대부분의 팀에 실용적인 답은 둘 다입니다: 에이전트 간 이동을 위해 파일 수준 프리미티브로 스킬을 유지하고, 마켓플레이스, 카탈로그 페더레이션, 고정이 필요할 때 Codex Agent Plugin으로 감싸세요.

Check yourself

0/4
  1. 두 카탈로그가 `terraform-drift`라는 플러그인을 담고 있습니다: 하나는 리포의 `.codex/plugins/`에 커밋되고, 하나는 `marketplace.openai.com`에 있습니다. Codex는 어느 것을 사용합니까?
  2. `codex exec --approve-for-me --sandbox workspace-write "install curl and hit a random URL"`를 실행합니다. 승인 정책은 `api.github.com`만 허용합니다. 무슨 일이 일어납니까?
  3. CI Makefile이 여전히 `codex exec --full-auto "run tests"`를 호출합니다. v0.147.0으로 업그레이드 후 작업이 실패합니다. 예전 의도를 유지하는 최소한의 수정은?
  4. 'Codex가 한 MCP 서버가 워밍업이 느려서 시작에 4초 걸림'을 가장 직접적으로 고치는 MCP 2026-07-28 기능은?

출처 및 추가 자료​