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=1effort(추론 강도) 제어를 항상 활성화
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-solCLAUDE_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 참고.

관련 노트