Claude Code의 .claude 폴더를 이름만 바꿔 Codex에 넣으면 지침, 권한, 훅이 한 덩어리로 따라옵니다. 하지만 두 제품은 설정 위치와 실행 경계가 다릅니다. 2026년 8월 31일 기준 Codex 가져오기는 지원 항목을 새 목적지로 변환하지만, 가져온 훅·MCP·플러그인의 안전성과 인증까지 보증하지는 않습니다. 이사는 복사가 아니라 선별과 재검증입니다.
보존·번역·폐기 매트릭스
| 기존 자산 | 결정 | Codex에서의 처리 |
|---|---|---|
| 팀의 빌드·테스트·코딩 규칙 | 보존 | 범위에 맞는 AGENTS.md로 정리 |
settings.json의 유효한 기본값 |
번역 | config.toml 후보를 항목별 검토 |
| 스킬·MCP·서브에이전트 | 선택 이전 | 새 위치·권한·인증으로 재검증 |
| Claude 전용 훅·도구 matcher | 재작성 | Codex 이벤트와 입력 형식을 확인한 뒤 구현 |
| 절대 경로·옛 모델명·개인 셸 별칭 | 폐기 | 현재 팀 환경에서 재정의 |
| 토큰·헤더·비밀 환경 변수 값 | 폐기 | 비밀 저장소에서 새로 연결 |
| 우회 승인·광범위 Bash 허용 | 폐기 | 최소 샌드박스와 승인 정책부터 시작 |
| 중복·충돌·검증 불가능한 구호 | 폐기 | 실행 가능한 한 문장 규칙만 남김 |
Anthropic의 설정 문서는 settings.json을 권한·환경 변수·도구 동작의 공식 설정으로 설명합니다. 별도의 권한 문서는 deny→ask→allow 순서와 bypassPermissions 같은 모드를 구분합니다. 이 값들을 Codex에 그대로 붙이면 같은 의미로 동작한다고 볼 근거가 없습니다. 특히 Claude 도구명에 맞춘 matcher, 셸 치환, 로컬 절대 경로는 변환보다 재작성 대상입니다.
실제 이전은 세 번의 검토로 끝냅니다
1차: 역할 검토. CLAUDE.md와 설정을 팀 규칙, 개인 취향, 실행 기능, 보안 정책으로 나눕니다. 어느 프로젝트에서 왜 필요한지 설명할 수 없는 항목은 삭제 후보로 둡니다. “절대 수정하지 마라” 같은 지시문은 실제 차단과 다르므로, 금지 경로는 권한 정책으로 옮겨야 합니다.
2차: 가져오기 검토. Codex 공식 가져오기 안내는 지시 파일을 AGENTS.md로, settings.json을 config.toml로 옮깁니다. 슬래시 명령은 스킬 등의 목적지로 변환합니다. 데스크톱 앱은 Settings > Import, 로컬 Codex CLI는 작업이 실행 중이 아닐 때 /import를 사용합니다. CLI의 /import는 실행 중인 작업, 원격 세션, 로컬 app-server 연결에서는 사용할 수 없습니다. 원본 설정은 삭제되지 않으므로 지원 항목만 선택합니다.
3차: 실행 검토. 가져온 플러그인·연결에 설정 완료 표시가 있는지 확인하고 MCP는 다시 로그인합니다. 훅은 실행 시점, 입력, 명령, 실패 동작을 각각 확인합니다. 프롬프트 인자·셸 보간·경로 자리표시자에 의존한 명령은 작은 샘플에서 별도로 시험합니다.
10분 승인 체크리스트
- Read Only에서 읽힌 지침의 파일 위치와 우선순위를 설명하게 합니다.
- 빌드·테스트 명령, 허용 폴더, 금지 경로가 원래 의도와 맞는지 대조합니다.
- MCP마다 연결 상태와 재인증 여부를 확인합니다.
- 문서 한 줄만 수정하게 한 뒤 허용 파일 외 diff가 없는지 봅니다.
- 짧은 테스트 하나를 실행하고 명령과 종료 결과를 기록합니다.
- 예상 밖 쓰기, 비밀 요청, 권한 확대가 나오면 즉시 중단합니다.
완료 기준은 예전 설정의 길이가 아닙니다. 새 팀원이 AGENTS.md의 행동 규칙과 실제 샌드박스·승인 정책을 구분하고, 작은 변경을 동일한 절차로 재현할 수 있어야 합니다. 그 전까지는 원본을 보관하되 자동 동기화와 광범위한 승인 예외는 켜지 않습니다.

