이 장에서는 OpenAI의 Codex 데스크톱 앱에 대해 다룹니다. 이 앱은 Codex CLI(터미널)와 Cursor/VS Code(IDE)의 중간 지점에 위치합니다.
터미널에서 Codex CLI를 사용해본 적이 있을 것입니다. 강력하지만 텍스트 전용 인터페이스는 초보자에게 친숙하지 않습니다. 반면, Cursor나 VS Code 같은 IDE는 기능이 너무 많아 코드 패널로 가득 찬 화면이 부담스러울 수 있습니다.
Codex APP은 터미널과 IDE의 중간 지점입니다. 터미널에 비해 시각적 요소를 추가하고, IDE에 비해 혼란스러운 코드 세부 사항을 제거했습니다.
Codex APP이란?
요약: Codex APP = Codex CLI의 GUI 버전입니다.
여전히 동일한 Codex이며, 단지 “셸"만 다릅니다. CLI는 터미널에 입력하여 작동하고, APP은 데스크톱 창에서 클릭하여 작동합니다. 기본 기능은 동일하며, 동일한 구성 파일 ~/.codex/config.toml을 공유합니다.
현재 제한 사항:
- macOS(Apple Silicon) 만 지원 – M1 이상의 Mac
- Windows 및 Linux 버전은 아직 개발 중
다운로드: OpenAI 웹사이트에서 DMG 설치 프로그램을 받아 직접 설치하세요.
로그인 방법:
| 로그인 방법 | 설명 |
|---|---|
| ChatGPT 계정 | Plus/Pro/Business/Enterprise/Edu 구독 필요. 클라우드 스레드 및 모델 전환 등 모든 기능 사용 가능. |
| API 키 | 기능 제한됨. 클라우드 스레드 없음. 모델은 config.toml에서 수동으로 지정해야 함. |
인터페이스 기능
Codex APP은 현재 중국어 인터페이스가 없으므로, 각 기능의 번역을 제공하여 해당 버튼을 찾는 데 도움을 드립니다.
새 스레드(New Thread)

새로운 AI 작업 대화를 생성합니다. 생성 시 세 가지 모드 중 선택할 수 있습니다:
- 로컬(Local) – 프로젝트 폴더에서 직접 작업
- 워크트리(Worktree) – 격리된 Git 워크트리에서 작업하여 메인 브랜치에 영향을 주지 않음
- 클라우드(Cloud) – 원격 클라우드 환경에서 실행 (ChatGPT 계정 로그인 필요)
초보자는 로컬 모드로 시작하세요 – 가장 간단하고 직관적입니다.
스킬(Skills)

Codex CLI에서 사용되는 것과 동일한 Skill 시스템입니다. 여기에서 모든 사용 가능한 Skill을 보고 관리할 수 있으며, 대화 중에 /skill-name으로 호출할 수 있습니다.
스킬은 APP과 CLI 간에 공유됩니다 – CLI에서 만든 모든 Skill은 APP에서 즉시 사용할 수 있습니다.
자동화(Automations)

이 기능은 APP 전용입니다 – CLI에서는 찾을 수 없습니다.
AI에 알람 시계를 설정한다고 생각하세요.
AI에게 “매일 아침 9시에 이 작업을 해줘"라고 말하면, 예약된 시간에 실행되어 결과를 받은 편지함에 넣어 검토할 수 있게 합니다.
작동 방식:
- 실행 빈도 설정 (예: 매일, 매주)
- 지시사항 작성 (AI에게 무엇을 할지 알려줌)
- 선택적으로 Skill 바인딩 (
$skill-name구문 사용) - AI가 정시에 실행되고 결과는 검토 대기열로 이동
일반적인 사용 사례:
- 최근 커밋을 매일 스캔하여 버그 확인
- 주간 코드 변경 보고서
- 정기적인 종속성 보안 취약점 검사
- CI 실패 원인 자동 요약
참고: 자동화는 로컬에서 실행되므로 APP이 열려 있어야 합니다. Git 프로젝트의 경우 각 자동화는 독립적인 워크트리에서 실행되므로 현재 작업에 영향을 주지 않습니다.
설정(Configuration)

여기에서 다음을 설정할 수 있습니다:
- 모델 선택 – ChatGPT 계정 사용자는 인터페이스에서 직접 모델 전환 가능
- 승인 정책 – AI가 자동으로 수행할 수 있는 작업과 수동 확인이 필요한 작업 제어
- 샌드박스 설정 – AI 권한 제한 (읽기 전용 / 작업 공간 쓰기 / 전체 액세스)
이 설정은 CLI에서 사용하는 동일한 config.toml과 공유됩니다 – 한 곳에서 변경하면 다른 곳에도 적용됩니다.
개인화(Personalization)

AI의 “성격"을 선택하세요:
| 옵션 | 효과 |
|---|---|
| 친근함(Friendly) | AI 응답이 더 따뜻하고 상세함 |
| 실용적(Pragmatic) | AI 응답이 더 간결하고 요점을 바로 전달함 |
| 없음(None) | 성격 설정 없음 |
사용자 지정 지시사항도 추가할 수 있습니다. 예: “한국어로 답변해줘” 또는 “코드 주석은 영어로 작성해줘”. 이 지시사항은 AGENTS.md 파일에 기록됩니다.
MCP 서버

앞서 다룬 MCP 구성과 동일합니다. APP, CLI, IDE 플러그인은 모두 동일한 MCP 구성을 공유합니다 – CLI에서 설정한 모든 MCP 서버는 APP에서 자동으로 사용 가능합니다.
Git

이것은 CLI 대비 APP의 주요 장점 중 하나입니다. 내장된 시각적 Git 도구가 포함되어 있습니다:
- Diff 뷰어 – 코드 변경 사항을 그래픽으로 확인하고 인라인 주석 추가
- 스테이징/실행 취소 – 코드 블록 또는 전체 파일을 선택적으로 스테이징
- 커밋/푸시 – APP 내에서 직접 커밋 및 푸시 수행
- PR 생성 – 한 번의 클릭으로 Pull Request 생성
CLI에서는 이 모든 작업을 명령줄로 수행해야 하지만, APP에서는 클릭만 하면 됩니다. Worktree나 Git 통합과 같은 개념을 완전히 이해하지 못해도 괜찮습니다 – 대략적인 개념만 이해하세요.
환경(Environments)

코드 실행 환경을 구성합니다. 로컬 또는 클라우드 환경을 설정하고, 프로젝트 종속성을 설치하는 등의 작업을 할 수 있습니다.
워크트리(Worktrees)

Git Worktree를 시각적으로 관리합니다. 간단히 말해, 여러 AI 작업이 서로 간섭하지 않도록 합니다.
예를 들어, AI에게 세 가지 작업(버그 수정, 새 기능 작성, 코드 리팩토링)을 동시에 요청한다고 가정해 보겠습니다. 모든 작업이 동일한 디렉토리에서 수행되면 파일 변경 사항이 충돌할 수밖에 없습니다. Worktree는 각 작업에 대해 독립적인 작업 복사본을 생성하여 서로 간섭 없이 병렬로 작업할 수 있게 합니다.
스레드(Threads) vs 프로젝트(Projects) – 컨텍스트 이해하기
이 부분은 전체 장에서 가장 중요합니다 – 주의 깊게 읽어주세요.
두 가지 핵심 개념
프로젝트(Project) = 코드 저장소 또는 폴더입니다.
프로젝트를 작업대라고 생각하세요. 해당 프로젝트와 관련된 모든 작업을 이 작업대에서 수행합니다.
스레드(Thread) = 프로젝트 내의 특정 작업입니다.
각 스레드를 작업대 위의 작업 카드라고 생각하세요. 버그 수정은 하나의 카드, 문서 작성은 또 다른 카드입니다.
하나의 프로젝트는 여러 스레드를 가질 수 있지만, 각 스레드는 하나의 프로젝트에만 속합니다.
이것이 중요한 이유
여기서 핵심 개념인 **컨텍스트(Context)**를 소개합니다.
컨텍스트란 무엇인가요?
친구와 위챗으로 대화하는 것을 상상해보세요. 당신이 “그 일 어떻게 됐어?“라고 말하면, 친구는 당신이 무슨 말을 하는지 정확히 압니다 – 왜냐하면 이전에 그 이야기를 했기 때문입니다. 그 “이전 대화"가 바로 컨텍스트입니다.
AI도 마찬가지입니다. 대화에서 당신이 말하는 모든 문장과 보내는 모든 파일은 AI가 기억하고, 이후 질문을 이해하는 데 사용됩니다. AI가 “기억하는” 것이 바로 컨텍스트입니다.
컨텍스트 윈도우 = AI의 메모리 용량
하지만 AI의 메모리는 무한하지 않습니다. 기억할 수 있는 용량에는 상한선이 있으며, 이를 컨텍스트 윈도우(context window)라고 합니다.
현재 Codex는 기본적으로 GPT-5.3-Codex를 사용하며, 컨텍스트 윈도우는 약 400,000 토큰입니다. 대략 한국어 약 30만 자 분량의 대화에 해당합니다.
많아 보이지만, 모든 작업을 동일한 대화에서 수행하면 금방 채워집니다.
스레드 격리의 이점
서로 다른 스레드의 대화는 격리되어 서로 간섭하지 않습니다.
이렇게 생각해보세요: 세 가지 작업을 하고 있는데 모든 내용을 같은 종이에 적는다면, 버그 수정 메모, 문서 메모, 요구 사항 논의가 모두 섞여서 – 당신에게도 AI에게도 혼란스러울 것입니다.
세 개의 스레드로 나누면 깔끔해집니다:
- 스레드 1: 버그 수정 전용 – AI는 버그 관련 대화만 기억
- 스레드 2: 문서 작성 전용 – AI는 문서 관련 대화만 기억
- 스레드 3: 요구 사항 논의 전용 – AI는 요구 사항 관련 대화만 기억
이것은 지식 베이스 프로젝트에서 특히 중요합니다. 예를 들어, Obsidian을 사용하여 노트를 관리하는 경우, 하나의 스레드로 정보를 검색하고 다른 스레드로 문서를 정리하면 상호 오염이 발생하지 않습니다. 문서를 정리하는 중에 AI가 갑자기 연구 세션의 컨텍스트를 섞어 넣는 일이 없습니다.
예를 들어, 아래 Obsidian 노트북 스크린샷에서 모든 것이 동일한 저장소에 있지만, 작업에 따라 다른 스레드를 사용합니다. 이는 웹 버전 ChatGPT의 대화 개념과 유사하다고 생각하면 됩니다.

Codex APP vs Codex CLI
둘 다 동일한 기반을 공유하므로, 어떤 것을 선택해야 할까요? 비교해보겠습니다:
| 측면 | Codex CLI (터미널) | Codex APP (데스크톱) |
|---|---|---|
| 인터페이스 | 텍스트 전용 | 그래픽 |
| 대화 관리 | resume으로 기록 찾기 필요 |
시각적 대화 목록, 클릭으로 전환 |
| 예약 작업 | 없음 (cron 등 별도 도구 필요) | 내장 자동화(Automations) |
| Git 작업 | 명령줄 | 시각적 diff + 원클릭 커밋/PR |
| 모델 전환 | config.toml 편집 |
유료 계정은 인터페이스에서 직접 선택 가능 |
| 체감 속도 | 더 빠르게 느껴짐 | 약간 느리게 느껴짐 (개인 경험) |
| 적합한 사용자 | 터미널에 익숙한 개발자 | 시각적 경험을 원하는 사용자 |
주요 차이점
1. 시각적 대화 관리 – 더 이상 resume으로 대화를 찾을 필요 없음
CLI에서는 이전 대화를 다시 보려면 codex --resume을 사용해야 합니다. 대화가 많으면 원하는 대화를 찾기가 번거롭습니다.
APP은 모든 스레드를 한눈에 볼 수 있는 대화 목록을 제공하며, 클릭만으로 전환할 수 있습니다. 여러 작업을 동시에 처리하는 사람에게는 이것만으로도 가치가 있습니다.
2. 자동화(Automations) – APP 전용
CLI에는 이 기능이 없습니다. CLI에서 유사한 기능을 구현하려면 cron이나 다른 스케줄링 도구를 직접 설정해야 하므로 진입 장벽이 높습니다. APP에서는 직접 구성할 수 있어 훨씬 편리합니다.
3. 더 쉬운 모델 전환
유료 ChatGPT 계정으로 로그인하면 구성 파일을 편집하지 않고도 APP 인터페이스에서 직접 모델을 전환할 수 있습니다.
저처럼 API 키를 사용하는 경우: APP과 CLI는 동일한 ~/.codex/config.toml을 공유합니다. toml 파일에 모델을 지정하기만 하면 APP이 자동으로 읽습니다. 예:
model = "GPT-5.3-Codex"
4. 포지셔닝: 터미널과 IDE 사이의 중간 지점
터미널과 비교하면, APP은 시각적 대화 관리, Git 작업, 예약 작업을 추가합니다.
IDE(Cursor 등)와 비교하면, APP은 복잡한 코드 패널과 편집기 기능을 제거하고 AI 대화와 프로젝트 관리에 집중합니다.
터미널이 너무 기술적으로 느껴지고 IDE가 너무 복잡하다면, APP이 바로 당신이 찾던 “딱 맞는” 도구일 수 있습니다.
개인 경험
솔직히 말하면: 저는 여전히 터미널을 선호합니다.
아마 제 착각일 수도 있지만, APP이 CLI보다 약간 느리게 느껴집니다. 그래픽 인터페이스의 오버헤드 때문일 수도 있고, 순전히 심리적인 것일 수도 있습니다 – 잘 모르겠습니다.
하지만 인정해야 할 것은, APP이 확실히 초보자에게 더 친숙하다는 점입니다. 특히 대화 관리와 Git 작업에서 시각적 경험이 터미널에서 명령을 입력하는 것보다 훨씬 편안합니다.
제 조언: 둘 다 사용해보고 자신에게 맞는 도구를 찾으세요. 구성이 공유되므로 전환하는 데 비용이 들지 않습니다.
요약
오늘 배운 내용:
- Codex APP이란 무엇인가 – Codex CLI의 GUI 버전, 현재 macOS Apple Silicon만 지원
- 핵심 기능 – 스레드 대화 관리, 자동화 예약 작업, 시각적 Git 통합, Worktree 격리
- 스레드 vs 프로젝트 – 프로젝트는 작업대, 스레드는 작업 카드 – 작업 격리로 컨텍스트 오염 방지
- CLI와의 차이점 – 시각적 대화 + 자동화가 가장 큰 장점이지만, 체감 속도는 약간 느릴 수 있음
- 포지셔닝 – 터미널과 IDE 사이의 중간 지점, 시각적 요소를 원하지만 전체 IDE가 필요하지 않은 사용자에게 적합
핵심 요점:
- Codex APP과 CLI는 동일한 기반과 구성을 공유합니다 – 어느 것을 선택해도 나쁘지 않습니다
- 스레드 격리가 핵심입니다 – 작업별로 대화를 분리하여 컨텍스트 오염을 방지하세요
- 자동화는 APP의 킬러 기능입니다 – AI에 알람 시계를 설정한다고 생각하세요
- 보너스 사용법: APP을 음성 입력 방법으로도 사용할 수 있습니다 – 단축키를 누르고 말하기 (다음 섹션 참조)
보너스: Codex APP을 음성 입력 방법으로 사용하기
최근 Codex APP에 음성 기능이 추가되었습니다. 가장 좋은 점은 앱 내부뿐만 아니라 외부에서도 작동한다는 것입니다 – 전역 단축키를 누르고 말하기만 하면 됩니다.
Codex APP을 최신 버전으로 업데이트하고 구독 계정으로 로그인하면 사용할 수 있습니다. Codex APP을 항상 켜두는 사람에게는 사실상 무료 음성 입력 방법입니다.
OpenAI는 얼마 전 오픈소스 음성 인식 모델 Whisper를 출시하여 음성 인식의 진입 장벽을 크게 낮추었고, 계속해서 개선해 왔습니다. 따라서 그 기반 위에 구축된 Codex APP의 음성 기능이 매우 잘 작동하는 것은 놀라운 일이 아닙니다.
사용법은 간단합니다: 앱을 열고 일반 설정(General Settings)으로 이동한 후 단축키를 지정합니다(저는 오른쪽 Option 키를 사용합니다). 텍스트를 입력하고 싶을 때 단축키를 누른 상태로 말하면 됩니다.

키를 누르고 있으면 데스크톱 하단에 작은 창이 나타납니다(단축키 충돌로 스크린샷을 찍을 수 없습니다).
실제 사용 시 빠르고 정확합니다. 두 가지 사소한 단점이 있습니다:
- 사전 기능 없음 – 사전이 있으면 자주 사용하는 단어를 설정하여 인식률을 더욱 높일 수 있음
- 키를 누르고 있어야 녹음됨 – 다른 제품처럼 토글(한 번 누르면 시작, 다시 누르면 중지) 방식은 아직 지원하지 않음
이것은 완전히 새로운 기능이므로, 이러한 개선 사항은 향후 업데이트에서 제공될 가능성이 높습니다.
음성 입력 방법에 매달 비용을 지불해도 괜찮다면, Wispr Flow나 Typeless와 같은 다른 인기 있는 옵션도 있습니다.