Claude에서 ChatGPT 구독의 GPT 쓰기
Claude Desktop과 Claude Code가 CLIProxyAPI를 거쳐 ChatGPT 계정(Codex OAuth)의 GPT로 답하게 하는 설정. 실제로 연결하며 막혔던 곳까지 정리했어요.
Claude를 GPT로 개조하는 게 아니에요. Claude가 지원하는 외부 inference gateway의 목적지를 CLIProxyAPI로 바꾸고, CLIProxyAPI가 ChatGPT의 Codex 로그인으로 GPT에 요청을 넘기는 구조예요.
OpenAI나 Anthropic이 제공하는 공식 통합이 아니라, CLIProxyAPI라는 커뮤니티 Gateway를 쓰는 구성이에요. 각 서비스 약관과 사용량 정책을 확인하고 본인 판단으로 쓰세요.
이 세 가지가 되면 성공이에요
- 1Codex 로그인
Codex authentication successful - 2Gateway 켜짐
127.0.0.1:8317 LISTEN - 3모델 목록
GET /v1/models 에 gpt 모델이 보임
한눈에 보는 진행 순서
처음이라면 이 순서대로 하면 돼요. 각 단계의 명령어와 설정은 '자세히 보기'에 있어요.
- CLIProxyAPI 설치
GitHub의 router-for-me/CLIProxyAPI예요. Mac은 Homebrew로 설치하고 서비스로 켜 둬요.
자세히 보기 →
CLIProxyAPI 저장소 (MIT 라이선스, 오른쪽 Releases에서 최신 버전 확인) - 접속 키 만들고 설정 파일 고치기
openssl로 랜덤 키를 만들어 access.api-keys에 넣고, host는 127.0.0.1, port는 8317로 둬요.
자세히 보기 → - ChatGPT 계정으로 Codex 로그인
cliproxyapi --codex-login을 실행하면 브라우저가 열려요. 구독 중인 ChatGPT 계정으로 로그인하면 끝이에요.
자세히 보기 → - 다시 시작하고 연결 테스트
brew services restart 뒤에 /v1/models에 gpt 모델이 보이면 Gateway 쪽은 준비 완료예요.
자세히 보기 → - Claude Desktop에 Gateway 연결
개발자 모드를 켜고, 개발자 → 타사 추론 설정에서 연결을 Gateway로 바꿔 주소와 키를 넣어요. 화면은 아래 Claude Desktop 부분에 있어요.
자세히 보기 → - Claude Code도 쓰려면
터미널에서 환경 변수 두 줄(ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN)만 넣고 claude를 실행해요.
자세히 보기 →
전체 구조
Claude는 Anthropic 형식으로 요청하고, CLIProxyAPI가 그걸 Codex 형식으로 바꿔 GPT에 보내요.
- Claude Desktop / Claude Code실제로 쓰는 화면과 터미널
- CLIProxyAPI127.0.0.1:8317, 형식 변환
- Codex OAuthChatGPT 계정 로그인
- GPT 모델실제 답을 만드는 곳
Claude는 기본적으로 POST /v1/messages (Anthropic Messages API) 형식을 써요. Codex 쪽은 형식이 달라서, CLIProxyAPI가 요청은 Codex 형식으로, 응답은 다시 Anthropic 형식으로 바꿔 줘요.
| 구성 | 하는 일 |
|---|---|
| Claude Desktop | 실제로 쓰는 앱 |
| Claude Code | 터미널 에이전트 |
| CLIProxyAPI | Gateway, 프로토콜 변환 |
| ChatGPT 계정 | Codex OAuth 인증 |
| GPT 모델 | 추론 |
인증이 두 개예요
가장 헷갈리는 부분이에요. Claude가 Gateway에 쓰는 키와, Gateway가 OpenAI에 쓰는 로그인은 전혀 다른 것이에요.
A. Claude → CLIProxyAPI: 직접 만든 랜덤 키
openssl rand -hex 32
OpenAI API 키가 아니에요. 로컬 Gateway의 비밀번호 같은 값이고, Claude가 Bearer 토큰으로 보내요.
B. CLIProxyAPI → OpenAI: Codex OAuth
ChatGPT 계정으로 Codex에 로그인한 토큰이에요. 이 경로는 API 키 과금이 아니라 그 ChatGPT 플랜에 포함된 Codex 사용량을 써요.
- ClaudeLOCAL_PROXY_KEY 로 접속
- CLIProxyAPICodex OAuth 토큰으로 접속
- OpenAIChatGPT 계정
macOS에 CLIProxyAPI 설치
- 설치
brew install cliproxyapi
- 서비스로 실행
brew services start cliproxyapi
Homebrew로 설치하면 설정 파일은 $(brew --prefix)/etc/cliproxyapi.conf 예요. Apple Silicon이면 보통 /opt/homebrew/etc/cliproxyapi.conf 입니다.
nano "$(brew --prefix)/etc/cliproxyapi.conf"
설정 파일 (v8 기준 핵심만)
127.0.0.1로 두면 이 Mac에서만 Gateway에 접속할 수 있어요.
config-version: 8
server:
host: "127.0.0.1"
port: 8317
access:
api-keys:
- "여기에-openssl로-만든-키"
oauth:
auth-dir: "~/.cli-proxy-api"처음 설정 파일에 들어 있는 your-api-key-1 같은 예제 키를 그대로 두면 'unsafe example API key configured; proxy API endpoints disabled until api-keys is updated'가 뜨고 API가 막혀요. 꼭 openssl rand -hex 32 로 만든 값으로 바꾸세요.
ChatGPT 계정으로 Codex 로그인
cliproxyapi --codex-login
버전에 따라 cliproxyapi -codex-login 일 수도 있어요. 브라우저가 열리면 쓰려는 ChatGPT 계정으로 로그인하세요. 끝나면 아래처럼 나와요.
Waiting for Codex authentication callback... Codex authentication successful Saving credentials to ~/.cli-proxy-api/codex-....json
로그인 정보는 기본적으로 ~/.cli-proxy-api/ 아래에 저장돼요.
다시 시작하고 확인
- 다시 시작
brew services restart cliproxyapi
- 서비스 상태
brew services list | grep cliproxyapi
- 포트 확인
lsof -nP -iTCP:8317 -sTCP:LISTEN
'address already in use'가 뜨면
failed to start HTTP server: listen tcp :8317: bind: address already in use
brew services로 이미 떠 있는데 터미널에서 cliproxyapi를 한 번 더 실행한 경우예요. 위 lsof로 cliproxyapi가 8317을 쓰고 있으면 따로 실행할 필요가 없어요.
GPT까지 연결됐는지 테스트
1. 모델 목록
curl -s http://127.0.0.1:8317/v1/models \ -H "Authorization: Bearer YOUR_LOCAL_PROXY_KEY" \ | jq -r '.data[].id'
제 환경에서는 gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-6-sol 같은 모델이 나왔어요. 계정과 시점에 따라 달라요.
2. Claude가 쓰는 형식(Messages API)으로
curl http://127.0.0.1:8317/v1/messages \
-H "Authorization: Bearer YOUR_LOCAL_PROXY_KEY" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{"model":"gpt-5.6-sol","max_tokens":100,"messages":[{"role":"user","content":"Reply only with OK"}]}'정상 응답이 오면 Anthropic 형식 → CLIProxyAPI → Codex → GPT 까지 연결된 거예요.
Claude Desktop에 연결
설정의 '개발자 → 로컬 MCP 서버'가 아니에요. MCP와 inference gateway는 다른 기능이에요. 메뉴 이름은 한국어 화면 기준이고, 괄호 안은 영어 화면 이름이에요.
- 개발자 모드 켜기
메뉴 막대의 도움말 → 문제 해결 → 개발자 모드 활성화… (Help → Troubleshooting → Enable Developer Mode). 앱이 다시 시작되고 메뉴 막대에 '개발자'가 생겨요.

도움말 → 문제 해결 → 개발자 모드 활성화… - 타사 추론 설정 열기
개발자 → 타사 추론 설정… (Developer → Configure Third-Party Inference). '로컬 MCP 서버'나 'MCP 구성'이 아니에요.

개발자 → 타사 추론 설정… - 연결을 Gateway로 바꾸기
창이 열리면 연결 칸이 Claude API(api.anthropic.com)로 되어 있어요. 눌러서 맨 위 Gateway(자체 게이트웨이에 연결)를 골라요.

서드파티 추론 구성 창: 처음엔 Claude API 
연결 → Gateway (자체 게이트웨이에 연결) - 주소와 키 넣고 적용
Gateway 주소는 http://127.0.0.1:8317, 키는 access.api-keys에 넣은 그 값이에요 (OpenAI API 키 아님). 오른쪽 아래 '변경 사항 적용'을 누른 뒤 모델 목록에 GPT가 보이는지 확인해요.
Claude Desktop은 ANTHROPIC_BASE_URL 환경 변수를 쓰지 않고 이 Third-Party Inference 설정을 써요.
Claude Code에 연결
export ANTHROPIC_BASE_URL="http://127.0.0.1:8317" export ANTHROPIC_AUTH_TOKEN="YOUR_LOCAL_PROXY_KEY" claude
Claude Code는 환경 변수로 Gateway를 정하고, Desktop은 앱 안 설정으로 정해요. 그래서 Claude Code는 되는데 Desktop은 안 되는 일이 생겨요.
claude-fable-...-tpg 같은 이상한 모델명
정상이에요. CLIProxyAPI가 Claude 호환을 위해 모델 ID를 바꿔 보여 주는 거예요.
claude- 로 시작하지 않는 ID를 뒤집고 앞에 claude-fable-5-dd- 를 붙여요. gpt-5.6-sol 을 뒤집으면 los-6.5-tpg, 그래서 claude-fable-5-dd-los-6.5-tpg 가 돼요.
| Claude에 보이는 ID | 실제 모델 |
|---|---|
| claude-fable-5-dd-5.5-tpg | gpt-5.5 |
| claude-fable-5-dd-anul-6.5-tpg | gpt-5.6-luna |
| claude-fable-5-dd-los-6.5-tpg | gpt-5.6-sol |
| claude-fable-5-dd-arret-6.5-tpg | gpt-5.6-terra |
원래 이름으로 보이게 하기
공식 v8 예제 설정에서는 이 항목이 oauth → providers → claude → claude-code 아래에 있어요. 맨 위에 쓰면 적용되지 않을 수 있어요.
oauth:
providers:
claude:
claude-code:
disable-cloaking-model-list: true저장한 뒤 brew services restart cliproxyapi 를 하고, Claude Desktop의 모델 목록이나 /v1/models 로 다시 확인하세요.
읽기 좋은 별칭을 직접 붙이기
oauth:
auth-dir: "~/.cli-proxy-api"
model-alias:
codex:
- name: "gpt-5.6-sol"
alias: "gpt-sol"
display-name: "GPT 5.6 Sol"ChatGPT 구독과 OpenAI API는 달라요
- sk-... API 키
- OpenAI API
- 쓴 만큼 API 요금
- ChatGPT 로그인 (Codex OAuth)
- CLIProxyAPI
- ChatGPT 플랜의 Codex 사용량
OpenAI는 ChatGPT 계정으로 Codex에 로그인하면 그 플랜의 사용량이, API 키로 로그인하면 API 요금이 적용된다고 설명해요.
Fast 모드는 따로 봐야 해요
Codex 앱의 Fast 모드와, CLIProxyAPI가 요청에 service_tier: priority 를 넣는 기능은 다른 것이에요. Claude Desktop에는 Codex의 /fast 버튼이 없어서, 쓰려면 Gateway 쪽 설정으로 넣어야 해요.
payload:
override:
- models:
- name: "gpt-5.5-fast"
protocol: "codex"
params:
service_tier: priority자주 나는 오류
| 증상 | 원인 | 해결 |
|---|---|---|
| unsafe example API key configured | 예제 키를 그대로 씀 | openssl rand -hex 32 로 바꾸기 |
| bind: address already in use | 8317에 이미 떠 있음 | lsof 로 확인, 중복 실행 안 하기 |
| /v1/models 가 401 | Bearer 키가 설정과 다름 | access.api-keys 값 확인 |
| GPT 모델이 안 보임 | Codex 로그인 문제 | --codex-login 다시 |
| claude-fable... 이름 | 모델 ID 변환 | disable-cloaking-model-list: true |
| 설정에 inference 메뉴가 없음 | MCP 화면을 보고 있음 | 도움말 → 문제 해결 → 개발자 모드 활성화 |
| Code는 되는데 Desktop은 안 됨 | Gateway 설정 방식이 다름 | 개발자 → 타사 추론 설정에서 Gateway |
| 서비스가 stopped | 설정 오류나 종료 | 터미널에서 직접 실행해 로그 보기 |
보안: 이것만은 지키기
설정 항목은 CLIProxyAPI 공식 예제 설정(v8)과 맞춰 봤어요. 오류 메시지와 모델 목록은 실제로 연결하면서 본 것이고, 버전과 계정에 따라 다를 수 있어요.
2LAZZZY / 2026-10-02 기준. 이 페이지에는 실제 키나 로그인 정보가 없어요. 체크 표시는 이 기기에만 저장돼요.