MemoryLake
모든 글로 돌아가기
Tutorial2026년 10월 29일·10 분 소요

컨텍스트 반복 없이 Claude Code와 Codex를 함께 사용하는 방법 (2026년 가이드)

이제 많은 개발자가 Claude Code와 Codex를 동시에 열어두고 사용합니다. 하나는 계획과 탐색을 담당하고, 다른 하나는 실행이나 리뷰를 맡습니다. 또는 하나가 일상적인 업무를 처리하는 동안 다른 하나로부터 세컨드 오피니언을 얻기도 합니다. 이러한 분업은 효율적이지만, 동일한 프로젝트에 대해 두 번씩 설명해야 한다는 사실을 깨닫는 순간 흐름이 깨집니다. 컨벤션, 어제 발견한 제약 사항, 이미 제외하기로 한 접근 방식 등을 매번 다시 말해야 하기 때문입니다.

각 도구는 고유한 지침 파일, skills 폴더, MCP 설정 및 memory를 가지고 있습니다. 지난 몇 달 동안 두 벤더 모두 설정을 서로 가져올 수 있는 방법을 추가했습니다. Codex는 Claude Code에서 가져올 수 있고, Claude Code는 Codex에서 가져올 수 있으며, OpenAI는 Claude Code 내부에서 Codex를 실행하는 플러그인을 출시했습니다. 하지만 이 중 어느 것도 두 도구 간의 실시간 대화를 동기화된 상태로 유지하는 것으로 설명되지는 않습니다.

이 가이드에서는 각 도구가 독립적으로 읽는 항목, 서로 이동할 수 있는 항목, 여전히 분리되어 있는 항목, 그리고 두 도구가 동일한 context에서 작동하도록 유지하는 간단한 설정 방법을 다룹니다.

각 도구가 독립적으로 읽는 항목

지침: CLAUDE.md 및 AGENTS.md

Codex는 하나의 파일을 중심으로 구축되었습니다. OpenAI의 문서에 따르면 "Codex는 작업을 수행하기 전에 AGENTS.md 파일을 읽습니다." 이 파일은 Codex 홈 디렉토리의 글로벌 파일부터 저장소 루트를 거쳐 작업 디렉토리에 이르기까지 계층적으로 적용됩니다.

Claude Code는 CLAUDE.md를 읽으며, 한 가지 조건 하에 AGENTS.md도 읽을 수 있습니다. Anthropic의 memory 문서에 따르면 "기본적으로 Claude는 작업 디렉토리나 그 상위 디렉토리에 CLAUDE.md가 없을 때만 AGENTS.md를 읽습니다." AGENTS.md를 직접 읽으려면 Claude Code v2.1.277 이상 버전이 필요합니다.

이 조건 때문에 공유 지침이 제대로 작동하지 않을 수 있습니다. 저장소에 두 파일이 모두 있는 경우, Claude Code는 CLAUDE.md를 읽고 AGENTS.md를 건너뛰는 반면, Codex는 AGENTS.md를 읽습니다. Claude Code의 AGENTS.md 지원 가이드에서 어떤 파일이 이를 무효화하는지 확인할 수 있습니다.

Anthropic은 이에 대한 해결책을 제시합니다. "Claude가 AGENTS.md를 직접 읽지 않을 때도, 옆에 있는 CLAUDE.md 안에 @AGENTS.md 임포트 구문을 넣어 모든 도구가 공유하는 단일 파일로 유지할 수 있습니다." Claude는 임포트된 파일을 먼저 읽은 다음, 그 아래에 추가된 Claude 전용 내용을 읽습니다.

하위 디렉토리의 지침

모노레포(Monorepo)의 경우 상황이 조금 더 복잡해집니다. Codex는 프로젝트 루트에서 작업 디렉토리까지 내려가며 경로에 있는 AGENTS.md 파일들을 읽습니다. OpenAI는 "현재 디렉토리에 더 가까운 파일일수록 결합된 프롬프트에서 나중에 나타나기 때문에 이전 지침을 덮어씁니다"라고 설명합니다. 또한 결합된 크기가 project_doc_max_bytes로 설정된 제한에 도달하면 파일 추가를 중단합니다.

Claude Code는 하위 디렉토리 파일을 다르게 인식합니다. 세션 시작 시 작업 디렉토리와 그 상위 디렉토리에 있는 모든 AGENTS.md를 읽습니다. Anthropic에 따르면, 작업 중에 Claude가 Read 도구로 해당 디렉토리의 파일을 열 때, 그 하위 디렉토리에 세 가지 CLAUDE.md 파일이 하나도 없다면 해당 디렉토리의 AGENTS.md를 읽습니다. 따라서 하위 디렉토리 파일은 서로 다른 시점에 두 도구 모두에 도달할 수 있습니다.

Skills

두 도구 모두 skills를 사용하지만 폴더가 다릅니다. Codex는 저장소 skills를 .agents/skills에서 읽습니다. OpenAI 문서에 따르면 "저장소의 경우, Codex는 현재 작업 디렉토리부터 저장소 루트까지 모든 디렉토리의 .agents/skills를 스캔합니다." Claude Code는 프로젝트의 .claude/skills/와 개인용인 ~/.claude/skills/에서 skills를 읽습니다.

MCP 서버

MCP 설정 또한 분리되어 있습니다. Claude Code는 프로젝트 서버를 .mcp.json에, 로컬 및 사용자 서버를 ~/.claude.json에 보관합니다. Codex는 설정 파일인 config.toml의 [mcp_servers.<server-name>] 테이블을 통해 각 MCP 서버를 설정합니다.

Memory

각 도구는 사용자의 머신에 고유한 memory를 유지합니다. Anthropic은 "Auto memory는 머신 로컬에 저장됩니다"라고 말합니다. OpenAI는 로컬 Codex 클라이언트가 "별도의 로컬 memory 저장소와 제어 기능을 사용한다"고 설명합니다. 각 도구는 자체 저장소에서 작동하며, 문서화된 유일한 연결 고리는 아래에서 설명할 Codex의 임포터(importer)로, Claude Code 프로젝트 memory를 복사해올 수 있습니다.

memory의 용도에 대한 OpenAI의 지침은 두 도구 모두에 적용됩니다. "memory를 항상 적용되어야 하는 규칙의 유일한 소스가 아니라, 도움이 되는 회상 레이어로 취급하세요."

도구 간에 이동할 수 있는 항목

Codex에서 Claude Code 데이터 가져오기

Codex에는 임포트 흐름이 있습니다. OpenAI 문서에 따르면 "데스크톱 앱은 Claude Code, Claude Cowork 또는 Cursor에서 가져올 수 있습니다. Codex CLI는 Claude Code 또는 Cursor에서 가져올 수 있습니다." 데스크톱 앱에서는 Settings > Import 메뉴에 있으며, CLI에서는 /import 명령어를 사용합니다.

가져올 수 있는 목록은 방대합니다. 지침 파일은 AGENTS.md로, settings.json은 config.toml로 이동하며, skills, 플러그인, MCP 서버 설정, hooks, subagents도 함께 가져옵니다. 슬래시 명령어는 skills가 됩니다. Claude Code의 프로젝트 memory는 Codex memory가 되며, 최근 채팅도 함께 이동합니다. CLI는 "지난 30일 동안의 채팅을 최대 50개까지" 가져옵니다.

두 가지 세부 사항 덕분에 이 기능은 도구를 교체하는 용도뿐만 아니라 두 도구를 병행하는 데에도 유용합니다. 첫째, "가져오기를 해도 기존 에이전트 설정이 변경되거나 삭제되지 않습니다." 둘째, 데스크톱 앱은 가져온 작업을 동기화 상태로 유지할 수 있습니다. Settings > Import에서 자동 업데이트를 켜면 됩니다. Claude Code에서 Codex로 마이그레이션하는 가이드에서 임포터에 대해 자세히 다루고 있으며, Codex memories v2 가이드에서는 최신 설치 버전에서 가져온 Claude Code memory가 어디에 저장되는지 설명합니다.

Claude Code에서 Codex 데이터 가져오기

반대 방향도 가능합니다. Claude Code의 /import codex 명령어는 사용자 머신에 있는 OpenAI Codex의 설정을 Claude Code로 가져옵니다. Anthropic의 명령어 레퍼런스에 따르면 "지침 파일, MCP 서버, 명령어, subagents 및 skills"가 포함됩니다.

가져오기 전에 미리 볼 수도 있습니다. Anthropic의 명령어 레퍼런스에서는 "아무것도 기록하지 않고 미리 보려면 --dry-run을 추가하라"고 안내하며, --yes를 사용하면 대화형 선택 창을 건너뛸 수 있습니다. 이 명령어는 대화 내용이나 memory가 아닌 '설정'을 대상으로 하므로, 히스토리가 아닌 환경 설정을 옮기는 용도로 사용하세요. 일부 클라우드 제공업체나 Claude 앱 게이트웨이를 통해서는 사용할 수 없으며, 명령어 레퍼런스에 예외 사항이 나열되어 있습니다.

Claude Code 내부에서 Codex로 작업 넘기기

OpenAI는 openai/codex-plugin-cc 저장소에 Claude Code 플러그인을 공개했습니다. README에 따르면 그 목적은 "코드 리뷰를 위해 Claude Code 내부에서 Codex를 사용하거나 Codex에 작업을 위임하는 것"입니다.

이 플러그인은 Claude Code 세션을 벗어나지 않고도 Codex를 실행할 수 있는 명령어를 추가합니다:

  • /codex:review: 현재 변경 사항이나 브랜치에 대해 읽기 전용 Codex 리뷰를 실행합니다.
  • /codex:rescue: 버그 조사나 수정 시도를 위해 subagent를 통해 Codex에 작업을 맡깁니다.
  • /codex:transfer: "현재 Claude Code 세션에서 영구적인 Codex 스레드를 생성하고 codex resume <session-id> 명령어를 출력합니다."

transfer 명령어는 실시간 대화를 이동시키는 것과 가장 유사한 기능입니다. README에 따르면 이 기능은 Codex의 외부 에이전트 세션 임포터를 사용하며, Codex 앱에서 Claude 히스토리를 가져올 때와 동일한 변환 규칙을 따릅니다. 플러그인은 머신의 Codex CLI를 통해 실행되며 사용자의 Codex 설정과 로그인을 사용합니다. Codex 사용량은 Codex 제한에 합산됩니다.

한 가지 주의할 옵션이 있습니다. 플러그인은 Claude가 멈췄을 때 Codex 리뷰를 실행하는 리뷰 게이트(review gate)를 추가할 수 있습니다. README는 "리뷰 게이트는 Claude/Codex 간의 긴 루프를 생성할 수 있으며 사용량 제한을 빠르게 소진할 수 있습니다"라고 경고합니다.

여전히 분리되어 있는 항목

임포트와 전송 기능을 통해 설정과 일부 대화 내용을 옮길 수 있지만, 두 벤더 모두 이를 두 개의 실시간 세션을 동기화하는 것으로 설명하지는 않습니다.

  • 세션 중간에 내려진 결정. 오늘 오후 Claude Code에서 발견한 제약 사항은 두 도구가 모두 읽는 파일에 기록하거나 세션을 전송하기 전까지는 Codex에 반영되지 않습니다.
  • Memory 업데이트. 각 도구의 memory는 임포트 이후 독립적으로 학습을 계속합니다. 나중에 추가된 Claude Code의 auto memory 항목은 다시 임포트하거나, 데스크톱 앱의 자동 업데이트를 켠 경우에만 Codex에 도달합니다.
  • 한쪽 도구만 읽는 지침. AGENTS.md를 임포트하지 않은 상태에서 CLAUDE.md에만 작성된 규칙은 Codex에 전달되지 않습니다.

이것이 바로 아래의 설정 방법에서 공유 context를 파일에 저장하고, 임포트와 전송을 특정 순간을 위한 도구로 취급하는 이유입니다.

사람들이 흔히 하는 실수

CLAUDE.md와 AGENTS.md를 서로 다른 내용으로 유지하기. Claude Code는 기본적으로 CLAUDE.md를 읽고 AGENTS.md를 건너뛰므로, 두 도구가 서로 다른 규칙을 따르게 됩니다.

한 번만 임포트하고 도구가 계속 동기화되기를 기대하기. 임포트는 복사입니다. 데스크톱 앱의 자동 업데이트를 사용하거나, 공유할 내용은 공유 파일에 보관하세요.

두 도구에 동일한 결정을 반복해서 설명하기. 두 도구가 모두 읽는 곳에 한 번만 기록하세요.

리뷰 게이트를 켜두고 자리를 비우기. OpenAI의 README는 이것이 루프를 형성하여 사용량 제한을 소진할 수 있다고 경고합니다.

Claude Code의 임포트 기능이 Codex 채팅까지 가져올 것이라고 예상하기. 명령어 레퍼런스에는 지침 파일, MCP 서버, 명령어, subagents, skills와 같은 '설정'만 나열되어 있습니다.

해결책: 하나의 지침 파일, 하나의 결정 기록, 그리고 의도적인 핸드오프

1단계: AGENTS.md를 공유 지침 파일로 만들기

프로젝트 컨벤션을 AGENTS.md에 작성하세요. 저장소에 CLAUDE.md도 있다면, 파일 상단에 @AGENTS.md 임포트 구문을 추가하고 그 아래에는 Claude 전용 메모만 남겨두세요. Codex는 AGENTS.md를 직접 읽고, Claude Code는 임포트를 통해 읽습니다. Codex가 AGENTS.md 규칙을 건너뛰는 문제에 대한 가이드에서 Codex 측의 크기 제한 및 탐색 규칙을 확인할 수 있습니다.

2단계: 설정을 가져온 후 공유 파일에서 관리하기

임포터를 사용하여 skills, MCP 서버, 명령어를 옮기세요. Claude Code 쪽에서는 먼저 --dry-run을 사용해 보세요. 그 후, 각 skill에 대해 어떤 폴더를 'Source of Truth(신뢰할 수 있는 단일 소스)'로 삼을지 결정하고, 변경 사항이 생기면 다른 쪽에도 업데이트하세요. Codex 데스크톱 앱을 사용한다면 가져온 작업에 대해 자동 업데이트를 켜세요.

3단계: 상태를 기록하여 작업 인계하기

작업을 한 도구에서 다른 도구로 옮길 때는 현재 상태(완료된 항목, 남은 항목, 결정 사항 및 이유)를 기록하세요. Claude Code에서 Codex로 작업 중간에 이동할 때는 /codex:transfer가 대화 내용을 전달해 줍니다. 그 외의 경우에는 짧은 핸드오프 메모로 충분합니다. 핸드오프 프롬프트 작성 가이드에서 포함해야 할 내용을 확인하세요. 이번 작업 이후에도 중요한 결정 사항은 AGENTS.md나 다른 공유 파일에 기록하세요.

MemoryLake에서 설정하기

공유 파일은 단일 저장소를 관리하기에 좋습니다. 하지만 선호도, 팀 컨벤션, 과거 선택의 이유와 같이 여러 저장소, 머신, 도구에 걸쳐 있는 결정 사항들은 결국 두 도구 모두에 다시 설명하게 됩니다.

MemoryLake는 이러한 종류의 context를 하나의 리스트로 유지하고, Claude Code, Codex 및 ChatGPT와 같이 연결된 다른 어시스턴트들이 사용할 수 있게 해주는 memory 레이어입니다.

사용자는 자신의 언어로 직접 항목을 작성합니다. CLAUDE.md나 AGENTS.md 파일, Claude Code auto memory, Codex memories, 세션 또는 벤더의 저장소에서 데이터를 읽거나 쓰거나 삭제하지 않습니다. 임포터와 Codex 플러그인은 각 벤더가 설명하는 방식 그대로 계속 작동합니다.

1단계: API 키 생성

로그인 후 대시보드에서 키를 생성하세요. 이 키는 MemoryLake 워크스페이스에 속하며 Claude나 ChatGPT 계정과 별개입니다.

에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔
에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔

2단계: 첫 번째 memory 업로드

두 도구에 두 번 이상 설명했던 결정 사항부터 시작하세요. 컨벤션, 제약 사항, 제외된 접근 방식 등을 입력합니다. 항목당 하나의 포인트를 작성하고, 날짜를 기입하고, 적용되는 저장소 레이블을 지정하세요.

첫 번째 문서가 업로드되어 각 파일이 검색 가능한 memory가 된 모습을 보여주는 MemoryLake 워크스페이스
첫 번째 문서가 업로드되어 각 파일이 검색 가능한 memory가 된 모습을 보여주는 MemoryLake 워크스페이스

3단계: AI 및 에이전트 연결

Claude Code와 Codex, 그리고 사용하는 다른 어시스턴트들을 연결하세요. 어떤 도구를 먼저 열더라도 두 도구 모두 동일한 결정 사항을 바탕으로 작업을 시작합니다.

memory 레이어에 연결할 수 있는 AI 클라이언트와 에이전트 프레임워크 목록을 보여주는 MemoryLake 통합 화면
memory 레이어에 연결할 수 있는 AI 클라이언트와 에이전트 프레임워크 목록을 보여주는 MemoryLake 통합 화면

실제 작업에서의 변화

첫 번째 차이점은 두 도구가 동일한 규칙을 따른다는 것입니다. 하나의 AGENTS.md를 Codex는 직접 읽고, Claude Code는 임포트를 통해 읽습니다.

두 번째는 설정이 한 번만 이동한다는 점입니다. 임포터가 skills, MCP 서버, 명령어를 가져오며, 사용자는 각 항목을 어느 쪽에서 관리하는지 명확히 알게 됩니다.

세 번째는 핸드오프 시 context가 유지된다는 점입니다. 전송 기능이나 작성된 메모가 작업과 함께 이동하므로, 다른 도구가 아무런 정보 없이 작업을 시작하지 않습니다. Claude Code와 함께 Cursor를 사용한다면 Cursor와 Claude Code 간에 하나의 memory를 공유하는 가이드에서도 동일한 접근 방식을 적용할 수 있습니다.

Claude Code와 Codex를 함께 사용하기 위한 모범 사례

하나의 AGENTS.md를 사용하세요. CLAUDE.md에서 @AGENTS.md로 임포트하세요.

CLAUDE.md가 AGENTS.md와 달라지지 않게 하세요. CLAUDE.md에는 Claude 전용 메모만 보관하세요.

임포트를 먼저 미리 보세요. Claude Code의 /import에서 --dry-run을 사용하세요.

각 skill의 Source of Truth를 선택하세요. 변경 시 다른 쪽도 업데이트하세요.

두 도구가 모두 읽는 곳에 결정을 기록하세요. 한쪽 도구의 memory에만 두지 마세요.

작업 중간 이동 시 /codex:transfer를 사용하세요. Claude Code 세션에서 Codex 스레드를 생성해 줍니다.

리뷰 게이트를 주의 깊게 살피세요. 루프가 발생하여 제한을 빠르게 소진할 수 있습니다.

결론

Claude Code와 Codex는 병행하여 사용할 수 있지만, 각자 고유한 지침, skills, MCP 설정 및 memory를 유지합니다. Codex는 Claude Code의 설정, 프로젝트 memory, 최근 채팅을 가져올 수 있고, Claude Code는 Codex의 지침 파일, MCP 서버, 명령어, subagents, skills를 가져올 수 있습니다. 또한 OpenAI의 플러그인을 통해 Claude Code 세션을 Codex로 리뷰, 위임 및 전송할 수 있습니다. 하지만 이 중 어느 것도 두 개의 실시간 세션을 완벽히 동기화하는 기능은 아닙니다.

하나의 AGENTS.md를 공유하고, 임포터를 사용하여 설정을 이동하며, 두 도구가 모두 읽는 곳에 결정을 기록하고, 현재 상태를 명확히 적어 작업을 인계하세요.

자주 묻는 질문

Claude Code와 Codex가 context를 공유할 수 있나요?

자동으로는 불가능합니다. 지침 파일을 공유하거나 서로의 설정을 가져올 수는 있지만, 대화 내용과 memory는 각자 별도로 유지합니다.

Claude Code와 Codex는 동일한 지침 파일을 읽나요?

Codex는 AGENTS.md를 읽습니다. Claude Code는 CLAUDE.md가 없을 때만 AGENTS.md를 읽으며, CLAUDE.md에서 @AGENTS.md로 임포트하여 읽게 할 수도 있습니다.

Codex가 Claude Code에서 데이터를 가져올 수 있나요?

네. Codex 데스크톱 앱과 CLI는 Claude Code에서 지침, 설정, skills, MCP 서버, hooks, subagents, 프로젝트 memory 및 최근 채팅을 가져올 수 있습니다.

Claude Code가 Codex에서 데이터를 가져올 수 있나요?

네. Claude Code의 /import codex 명령어는 지침 파일, MCP 서버, 명령어, subagents 및 skills를 Claude Code로 가져옵니다.

Claude Code 세션을 Codex로 어떻게 옮기나요?

OpenAI의 Claude Code용 Codex 플러그인을 사용하면, /codex:transfer 명령어로 현재 세션에서 Codex 스레드를 생성하고 이를 Codex에서 재개할 수 있는 명령어를 출력해 줍니다.

두 도구가 memory를 공유하나요?

직접적으로는 공유하지 않습니다. Claude Code의 auto memory는 머신 로컬에 저장되며, Codex는 별도의 로컬 memory 저장소를 사용합니다. Codex의 임포터를 통해 Claude Code 프로젝트 memory를 Codex로 복사할 수는 있습니다.