CATEGORY

카테고리 (672)
AI (70)
Language & Specs (260)
FrameWork (36)
Library (20)
App (41)
Git (10)
Build & Dependency (2)
AWS (15)
DataBase (45)
OS (33)
Tool (17)
IT (120)
SEEMINGLY ONLINE

Seemingly
Online

이모저모 방방곡곡 두루두루 개발지식 저장소

RECENT POSTS

AI/Claude

클로드 코드 모델 변경 — /model 명령과 기본 모델 고정

반응형

클로드 코드에서 모델을 바꾸는 방법은 세 가지입니다. ① 대화 중에 바꾸려면 /model, ② 켤 때 정하려면 claude --model sonnet, ③ 앞으로 계속 그 모델로 쓰려면 설정 파일에 "model"을 적습니다. 셋이 겹치면 켤 때 준 값이 설정 파일을 이깁니다. 아래에 별칭 목록, 우선순위, 이름을 잘못 썼을 때 나오는 메시지까지 실제 실행 결과로 정리했습니다. (2026년 8월 2일 기준 · CLI 2.1.204)

1. 클로드 코드 모델 변경, 어디서 하나

언제 방법 적용 범위
대화 중에 /model 또는 /model sonnet 지금 세션 + 다음부터의 기본값
켤 때 claude --model sonnet 그 세션만
환경 변수로 ANTHROPIC_MODEL=sonnet 그 세션만
계속 고정 설정 파일의 "model" 모든 세션(또는 그 프로젝트)

2. 세션 중에 바로 바꾸기 — /model

가장 많이 쓰는 방법입니다. 이름 없이 /model만 치면 고르는 화면이 뜨고, 뒤에 이름을 붙이면 바로 바뀝니다.

/model            # 목록에서 고르기
/model sonnet     # 바로 소넷으로
/model opus       # 바로 오퍼스로

여기서 꼭 알아야 할 게 고르는 화면의 키 두 개입니다. CLI 2.1.153부터 /model로 고른 값은 다음 세션의 기본값으로도 저장됩니다.

  • Enter — 모델을 바꾸고 기본값으로 저장합니다. /model sonnet처럼 이름을 직접 친 것도 이쪽과 같습니다.
  • s — 이번 세션만 바꿉니다. 다음에 켜면 원래대로 돌아옵니다.
💡 "잠깐만 싼 모델로 돌려 볼까" 하고 Enter로 골랐다가 계속 그 모델로 쓰게 되는 실수가 흔합니다. 임시로 바꿀 때는 s를 누르세요.

대화가 이미 진행된 상태에서 모델을 바꾸면 확인을 한 번 물어봅니다. 바뀐 모델은 대화 전체를 처음부터 다시 읽어야 해서, 그동안 쌓아 둔 임시 저장분(캐시)을 못 쓰기 때문입니다. 대화가 길수록 비용이 확 뜁니다. 이 부분이 신경 쓰인다면 클로드 코드 컨텍스트 관리에서 /compact·/clear 쓰는 법을 같이 보세요.

3. 켤 때 정하기 — claude --model

터미널에서 켤 때 붙이는 옵션입니다. --help에 적힌 설명이 그대로입니다.

$ claude --help
  --model <model>   Model for the current session. Provide an alias for the latest
                    model (e.g. 'fable', 'opus', or 'sonnet') or a model's full
                    name (e.g. 'claude-fable-5').

여기서 중요한 건 "for the current session"입니다. 이 옵션은 기본값을 바꾸지 않고 그 창에서만 먹습니다. 그래서 터미널을 두 개 열어 서로 다른 모델을 동시에 돌리고 싶을 때는 /model로 갈아타지 말고 각각 --model을 붙여 켜야 합니다.

# 터미널 A — 가벼운 수정
claude --model haiku

# 터미널 B — 어려운 리팩터링
claude --model opus

정말 그 모델로 도는지는 결과 JSON으로 확인할 수 있습니다. 실제로 돌려 보면 modelUsage에 쓰인 모델이 그대로 찍힙니다.

$ claude --model sonnet -p "Reply with exactly: ok" --output-format json
...
"modelUsage": {
  "claude-sonnet-5": { "contextWindow": 1000000, "maxOutputTokens": 64000, ... }
}

4. 앞으로 계속 고정하기 — 설정 파일

매번 옵션을 붙이기 귀찮으면 설정 파일에 적어 둡니다. 두 곳 중에 고르면 됩니다.

파일 적용 범위
~/.claude/settings.json 내 모든 프로젝트
.claude/settings.json (프로젝트 안) 그 프로젝트만 · 깃에 올려 팀과 공유 가능
{
  "model": "sonnet"
}

임시 프로젝트에 .claude/settings.json으로 "model": "haiku"를 넣고 옵션 없이 켜 보니 실제로 하이쿠로 돌았습니다. 설정 파일에서 손댈 수 있는 다른 항목들은 클로드 코드 권한 설정에 정리해 뒀습니다.

5. 별칭(alias)에는 어떤 게 있나

모델의 긴 이름을 외울 필요 없이 짧은 별칭을 쓰면 됩니다. 별칭은 그 계열의 최신 버전을 가리키고, 새 모델이 나오면 알아서 따라 올라갑니다.

별칭 쓰임
default 직접 고른 값을 지우고 계정 기본 모델로 되돌립니다
haiku 간단한 작업용. 빠르고 쌉니다
sonnet 평소 코딩용 기본기
opus 복잡한 추론이 필요할 때
fable 가장 어렵고 오래 걸리는 작업용
best 쓸 수 있으면 페이블 5, 아니면 최신 오퍼스
opusplan 계획 세울 땐 오퍼스, 실행할 땐 소넷으로 자동 전환
opus[1m] 100만 토큰짜리 긴 대화용 오퍼스

opusplan이 은근히 실속 있습니다. 설계를 짤 때만 비싼 모델을 쓰고, 실제로 파일을 고치는 단계에서는 싼 모델로 내려가기 때문입니다. 어떤 모델이 얼마인지는 클로드 오퍼스 5 vs 4.8 vs 페이블 5 비교에 가격표로 정리해 뒀습니다.

💡 별칭이 어느 버전으로 풀리는지는 CLI 버전에 달렸습니다. 공식 문서 기준 오퍼스 5는 2.1.219, 소넷 5는 2.1.197, 페이블 5는 2.1.170 이상이 필요합니다. 최신 모델이 목록에 안 보이면 먼저 claude update로 올려 보세요. 버전은 claude --version으로 확인합니다.

버전을 고정하고 싶으면 별칭 대신 전체 이름을 씁니다. 이러면 새 모델이 나와도 안 바뀝니다.

claude --model claude-sonnet-5

6. 여러 곳에 설정했다면 — 뭐가 이기나

공식 문서에 적힌 우선순위는 이렇습니다. 위에 있을수록 셉니다.

  1. 세션 중에 친 /model
  2. 켤 때 준 --model
  3. 환경 변수 ANTHROPIC_MODEL
  4. 설정 파일의 "model"

실제로 확인해 봤습니다. 프로젝트 설정에 "model": "haiku"를 넣어 둔 폴더에서 --model sonnet과 ANTHROPIC_MODEL=sonnet을 각각 줘 보니, 둘 다 설정 파일을 무시하고 소넷으로 돌았습니다.

⚠️ 이어서 하기(--continue·--resume)로 연 세션은 저장될 때 쓰던 모델을 그대로 씁니다. 지금 기본 모델을 바꿔 놨어도 마찬가지입니다. 다른 창에서 /model로 바꾼 게 옛 세션까지 따라가지 않게 하려는 동작입니다. 바꾸고 싶으면 켤 때 --model을 같이 주면 됩니다. 이어서 하기 자체는 클로드 코드 세션 이어서 하기에 정리해 뒀습니다.

7. 모델 이름을 잘못 쓰면

없는 이름을 주면 이렇게 나옵니다. 실제 출력입니다.

$ claude --model gpt-5 -p "Reply with exactly: ok"
There's an issue with the selected model (gpt-5). It may not exist or you may not
have access to it.

여기서 헷갈리기 쉬운 게 언제 걸러지느냐입니다. /model로 친 이름은 보내기 전에 검사해서 Model "…" is not a recognized model id.로 막고 세션은 원래 모델을 유지합니다. 반면 --model·ANTHROPIC_MODEL·설정 파일에 적은 이름은 검사 없이 그대로 넘어가서 위처럼 첫 요청에서 터집니다. 설정 파일에 오타를 내면 켤 때는 멀쩡해 보이다가 첫 질문에서 실패하는 이유가 이것입니다.

8. 모델이 과부하일 때 자동으로 넘기기

쓰려던 모델이 몰려서 응답을 못 받을 때, 다른 모델로 넘겨 이어가게 할 수 있습니다.

claude --fallback-model sonnet,haiku

설정 파일에 고정하려면 배열로 적습니다. (이름이 model이 아니라 fallbackModel입니다)

{
  "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]
}

알아 둘 점 세 가지입니다. ① 넘어가는 건 그 한 번의 응답에만 해당하고, 다음 메시지는 원래 모델부터 다시 시도합니다. ② 중복을 뺀 뒤 최대 3개까지만 쓰입니다. ③ 로그인·결제·사용량 한도 문제로 실패한 것은 넘기지 않습니다. 과부하나 서버 오류일 때만 동작합니다.

또 하나, 클로드 코드는 이 설정을 켤 때 알려 주지 않고 /status에도 안 보여 줍니다. 실제로 모델이 넘어갈 때 뜨는 안내 문구가 유일한 신호입니다.

자주 묻는 질문 (FAQ)

Q. 지금 어떤 모델을 쓰고 있는지 어디서 보나요?
/model을 치면 지금 모델에 표시가 되어 있습니다. 상태줄에 띄워 놓고 볼 수도 있습니다. 남은 사용량까지 같이 보는 법은 클로드 코드 사용량 확인에 정리해 뒀습니다.

Q. 모델 변경 단축키는 없나요?
따로 없고 /model이 사실상 그 자리입니다. 대신 모드 전환·줄바꿈 같은 자주 쓰는 키는 클로드 코드 단축키 정리에 모아 뒀습니다.

Q. 회사 계정인데 원하는 모델이 목록에 없습니다.
관리자가 availableModels로 쓸 수 있는 모델을 제한했을 수 있습니다. 이때는 이름을 직접 줘도 Model "…" is restricted by your organization's settings.가 뜨고 허용된 모델로 시작합니다.

Q. VS Code 확장에서도 바꿀 수 있나요?
됩니다. 확장도 안에서 같은 CLI를 돌리므로 /model이 그대로 먹습니다. 확장과 CLI가 어떻게 다른지는 클로드 코드 vscode 연동에 정리해 뒀습니다.

마무리

정리하면 지금 바꾸려면 /model, 이 창만 바꾸려면 --model, 계속 쓰려면 설정 파일입니다. 가장 자주 실수하는 두 곳만 기억하세요. 첫째, /model 화면에서 Enter는 기본값까지 바꾸니 임시로 바꿀 땐 s를 누릅니다. 둘째, 설정 파일에 적은 모델 이름은 켤 때 검사하지 않으니 오타가 있으면 첫 질문에서 터집니다.


📚 참고 출처 (2026년 8월 2일 확인)
· Claude Code — Model configuration
· Claude Code — Settings
· 본문의 명령 출력과 우선순위 확인 결과는 Claude Code 2.1.204로 직접 실행해 얻었습니다.

반응형

COMMENTS