Codex 앱으로 갈아탈 필요 없이, Claude Code의 에이전트 하네스와 UI는 그대로 두고 백엔드 모델만 GPT-5.6 Sol로 교체하는 방법. Tibo(@thsottiaux)가 Theo(t3.gg)의 방법을 정리했고 “5분이면 된다”고 소개했다.
목적 — 하네스는 Claude Code, 모델은 GPT-5.6 Sol
많은 사용자가 Claude Code의 에이전트 루프·도구·워크플로를 선호하면서도 특정 작업에서는 OpenAI의 GPT-5.6 Sol을 쓰고 싶어 한다. 이 팁은 CLIProxyAPI라는 로컬 프록시를 사이에 끼워, Claude Code를 실행하되 실제 추론은 GPT-5.6 Sol이 담당하게 만든다. Codex 앱 자체를 설치·전환할 필요가 없다.
3단계 세팅
1. CLIProxyAPI 설치
2026-04-10-claude-code-multi-account-proxy에 정리된 router-for-me/CLIProxyAPI를 설치한다. Claude Code·ChatGPT Codex·Gemini CLI·Grok 등을 OpenAI/Anthropic/Gemini/Codex 호환 API로 감싸는 로컬 사이드카다. 별도 API 키 없이 Claude·Codex 계정을 OAuth로 인증해 구독을 그대로 쓴다. (Docker 배포 권장)
2. Claude Code 연결
Claude Code를 프록시 엔드포인트에 붙인다(ANTHROPIC_BASE_URL을 로컬 프록시로 지정하는 방식). 이제 Claude Code의 요청이 프록시를 거쳐 GPT-5.6 Sol로 라우팅된다.
3. claudex 별칭 정의
alias claudex='CLAUDE_CODE_SUBAGENT_MODEL=gpt-5.6-sol \
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT=1 \
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=3 \
ENABLE_TOOL_SEARCH=false \
claude --model gpt-5.6-sol'이후 claudex만 치면 GPT-5.6 Sol로 도는 Claude Code가 뜬다. 별칭이 설정하는 값:
| 환경변수 / 플래그 | 역할 |
|---|---|
claude --model gpt-5.6-sol | 메인 모델을 GPT-5.6 Sol로 지정 |
CLAUDE_CODE_SUBAGENT_MODEL=gpt-5.6-sol | 서브에이전트도 GPT-5.6 Sol로 통일 |
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT=1 | effort(추론 강도) 제어를 항상 활성화 |
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=3 | 병렬 도구 호출을 최대 3개로 제한 |
ENABLE_TOOL_SEARCH=false | 지연 로딩 도구 검색(tool search) 비활성화 |
앞의 두 개가 모델을 GPT-5.6 Sol로 바꾸는 핵심이고, 나머지 셋은 비-Anthropic 모델에서 Claude Code가 안정적으로 돌도록 저자가 맞춰둔 튜닝값이다. Theo는 “프록시만 미리 깔아두면 프롬프트 2번이면 끝났다”고 덧붙였다.
실전 변형 — CLIProxyAPI 대신 9router
실제로는 CLIProxyAPI가 아니라 9router(로컬 라우터, localhost:20128)를 붙여서 쓰고 있다:
alias claudex='ANTHROPIC_BASE_URL=http://localhost:20128/v1 \
ANTHROPIC_AUTH_TOKEN=sk-xxxxxxxxxxxxxxxx-xxxxxx-xxxxxxxxxxxx \
ANTHROPIC_API_KEY=sk-xxxxxxxxxxxxxxxx-xxxxxx-xxxxxxxxxxxx \
API_TIMEOUT_MS=3000000 \
ANTHROPIC_MODEL=gpt-5.6-sol \
ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-pro \
ANTHROPIC_DEFAULT_SONNET_MODEL=glm-5.2 \
ANTHROPIC_DEFAULT_OPUS_MODEL=gpt-5.6-sol \
CLAUDE_CODE_SUBAGENT_MODEL=glm-5.2 \
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT=1 \
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=3 \
ENABLE_TOOL_SEARCH=false \
claude --model gpt-5.6-sol'원본 CLIProxyAPI 방식과의 차이:
| 구분 | 원본 (CLIProxyAPI) | 실사용 (9router) |
|---|---|---|
| 프록시/라우터 | CLIProxyAPI (OAuth로 Claude·Codex 구독 그대로 사용) | 9router (ANTHROPIC_AUTH_TOKEN/ANTHROPIC_API_KEY로 인증하는 로컬 라우터, :20128) |
| 엔드포인트 지정 | ANTHROPIC_BASE_URL만 언급 | ANTHROPIC_BASE_URL=http://localhost:20128/v1 + API_TIMEOUT_MS=3000000(타임아웃 50분으로 넉넉히) |
| 메인 모델 | claude --model gpt-5.6-sol | 동일 + ANTHROPIC_MODEL=gpt-5.6-sol, ANTHROPIC_DEFAULT_OPUS_MODEL=gpt-5.6-sol로 Opus 등급 요청까지 GPT-5.6 Sol로 고정 |
| 서브에이전트 모델 | CLAUDE_CODE_SUBAGENT_MODEL=gpt-5.6-sol | CLAUDE_CODE_SUBAGENT_MODEL=glm-5.2 + ANTHROPIC_DEFAULT_SONNET_MODEL=glm-5.2로 Sonnet 등급 라우팅을 GLM-5.2로 분리 |
| Haiku 등급 | 언급 없음 | ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-pro로 저비용 모델을 DeepSeek-V4-Pro로 매핑 |
| 나머지 튜닝값 | CLAUDE_CODE_ALWAYS_ENABLE_EFFORT / CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=3 / ENABLE_TOOL_SEARCH=false | 동일하게 유지 |
즉 9router는 CLIProxyAPI처럼 단일 모델로 몰아주는 게 아니라, Claude Code가 내부적으로 구분하는 Haiku/Sonnet/Opus 등급별 기본 모델(ANTHROPIC_DEFAULT_*_MODEL)을 각각 다른 백엔드(DeepSeek-V4-Pro / GLM-5.2 / GPT-5.6 Sol)로 세분해서 라우팅할 수 있다는 점이 다르다. ANTHROPIC_AUTH_TOKEN·ANTHROPIC_API_KEY 값은 개인 토큰이므로 위 예시에서는 마스킹했다.
주의
- 단일 출처의 트위터 팁이다. 저자도 “차단되면 리셋해 주겠다(If this gets blocked, I owe you a reset)“고 농담하는데, Claude Code를 비-Anthropic 모델에 프록시로 물리는 방식은 Anthropic 약관·차단 정책에 따라 막힐 수 있다.
- 반대 방향(Codex에서 서브에이전트 모델을 역할별로 라우팅해 비용을 줄이는 법)은 2026-07-12-codex-pro-plan-config-toml-subagent-routing 참고.
관련 노트
- raw source:
web-2026-07-12-cliproxyapi-gpt-in-claude-code— 원본 X 스레드(@thsottiaux, Theo t3.gg 인용) 캡처 - 2026-04-10-claude-code-multi-account-proxy — CLIProxyAPI 포함 멀티 CLI 프록시/라우터 비교
- 2026-04-10-vibeproxy-gpt-claude-code — Claude Code UI는 그대로 두고 모델만 교체하는 또 다른 프록시
- 2026-07-12-gpt-5-6-sol-medium-daily-tier-deepswe — 여기서 백엔드로 쓰는 GPT-5.6 Sol의 등급별 활용 가이드
- 2026-07-12-codex-pro-plan-config-toml-subagent-routing — 반대 방향: Codex 서브에이전트 모델 라우팅
- moc-claude-code — Claude Code MOC
- moc-ai-coding — AI 코딩 도구 MOC