Claude Code thinking 모드: low/medium/high/xhigh 언제 쓰는지
Claude Code xhigh 한 줄 요약
결론부터.
Claude Code xhigh는 Opus 4.7 세션에서 멀티파일 리팩터, 긴 에이전트 작업, 설계 판단처럼 난도가 높은 일에 맞아요. 분류, 포맷 정리, 짧은 버그 수정은/effort high나medium으로 내려도 충분한 경우가 많고요. 한 번만 깊게 생각시키고 싶으면ultrathink를 프롬프트에 넣고,max는 마지막 몇 퍼센트가 정말 중요한 세션에서만 테스트해보는 쪽이 나아요.
업데이트 받고 아무 생각 없이 Opus 4.7 세션을 열었다가 상태줄에 xhigh가 떠서 잠깐 멈춘 적이 있었어요. 분류 작업 하나만 시켰는데 답이 길어지고, 토큰도 생각보다 빨리 닳더라고요. 반대로 세 파일을 오가는 리팩터를 맡겼을 땐 전에는 세 번쯤 왕복하던 수정이 한 번에 끝나서 감탄한 날도 있어요. 2026-04-23 기준 Claude Code 공식 문서는 Opus 4.7에서 xhigh를 기본 effort로 두고, Opus 4.6과 Sonnet 4.6은 high를 기본으로 둬요. 그리고 같은 high라도 모델마다 체감 강도가 똑같지 않죠. 여기선 그 차이를 먼저 정리하고, Claude Code xhigh와 ultrathink는 뭐가 다른지, settings.json이 말을 안 들을 때 뭘 먼저 손봐야 하는지, Pro 플랜에서 토큰을 덜 쓰는 운영 패턴까지 한 번에 묶어둘게요.
Claude Code xhigh가 기본값이 된 이유와 적용 환경
Claude Code xhigh를 제대로 쓰려면 먼저 모델 기본값과 쓰는 환경을 같이 봐야 해요. 같은 Claude Code라도 어디서 돌리는지에 따라 체감 포인트가 꽤 다르거든요.
모델별 기본 effort 정리
터미널에서만 보는 설정처럼 들리지만 실제로 적용되는 환경은 더 넓어요.
2026-04-23 기준 Claude Code model configuration 문서 기준으로 보면, Max와 Team Premium의 기본 모델은 Opus 4.7이고 Pro, Team Standard, Enterprise, Anthropic API 사용자의 기본 모델은 Sonnet 4.6이에요. 그래서 모든 사용자가 시작부터 xhigh를 보는 건 아니에요. Opus 4.7 세션에 들어갔을 때 xhigh가 기본인 셈이죠. 공식 문서는 Claude Code v2.1.117부터 Opus 4.7의 기본 effort를 xhigh로 두고, Opus 4.6과 Sonnet 4.6은 high로 둔다고 적어놨어요. 처음 Opus 4.7로 바꿔 들어가면 예전 설정과 달라도 xhigh가 한 번 적용될 수 있다는 점도 여기서 같이 말해요.
적용 환경별 체감 포인트
| 쓰는 환경 | 이런 때 써요 | xhigh 확인 포인트 |
|---|---|---|
| CLI(터미널 명령줄) | 세밀한 제어, 스크립트, 원격 서버 | /effort, --effort, 환경변수까지 다 써요 |
| VS Code와 Cursor 확장 | 편집기 안에서 diff 검토 | 같은 엔진을 쓰고 계획 검토가 편해요 |
| JetBrains 플러그인 | IntelliJ, PyCharm, WebStorm 작업 | 선택 범위 공유와 diff 보기가 강점이에요 |
| Desktop app | 병렬 세션, 시각 검토 | 로컬 세션을 그래픽 화면으로 다루기 좋아요 |
| Web | 오래 가는 클라우드 작업 | 접속이 끊겨도 세션이 계속 가요 |
| Mobile | 밖에서 시작하고 지켜보기 | 세부 조정보단 시작과 모니터링 쪽에 가까워요 |
| Chrome, Slack, GitHub Actions, GitLab CI/CD | 브라우저 자동화, 채팅, PR 자동화 | thinking mode 자체보다 연동 역할이 더 커요 |
| API와 SDK(개발자용 라이브러리) | 코드에서 직접 제어 | output_config.effort를 쓰고 task_budget은 여기서만 지원돼요 |
처음 로그인이나 확장 세팅이 꼬였으면 Claude Code 사용법: 설치부터 첫 실행까지 5분 가이드부터 다시 잡는 게 빨라요. 배경부터 알고 가면 xhigh가 왜 보이는지, 왜 안 보이는지 이 섹션에서 바로 정리돼요.

low medium high xhigh max 언제 쓰나
이 섹션은 작업 종류별로 Claude Code xhigh를 포함한 어떤 effort를 고르면 되는지 바로 결정하게 해줘요. 같은 이름이라도 모델마다 세기가 다르니 작업 기준으로 자르는 게 훨씬 덜 헷갈려요.
작업별 effort 매칭 표
그럼 max는 언제 꺼내죠?
Anthropic 공식 Effort 문서는 xhigh를 고급 코딩과 복잡한 에이전트 작업에 맞는 레벨로 설명해요. 반대로 max는 더 깊게 파고들 수 있지만, 일상적인 일에선 괜히 길게 생각할 수 있다고 문서 자체가 경고하죠. 실무에선 이 차이가 커요.
| 작업 유형 | 추천 effort | 추천 모델 | 이렇게 보는 이유 |
|---|---|---|---|
| 짧은 분류, 포맷 정리, 답이 뻔한 요약 | low 또는 medium |
Sonnet 4.6 | 속도와 토큰 절약이 먼저예요 |
| 단일 파일 수정, 재현 쉬운 버그 픽스 | high |
Sonnet 4.6 | 사고 깊이가 필요한 작업은 챙기되 과소비는 막아요 |
| 멀티파일 리팩터, 구조 바꾸기 | xhigh |
Opus 4.7 | 탐색과 자기 수정이 길게 필요한 구간이거든요 |
| 도구를 여러 번 부르는 긴 에이전트 작업 | xhigh |
Opus 4.7 | 반복 호출과 재탐색이 잦아져요 |
| 실패 비용이 큰 최종 검토, 아키텍처 마지막 판단 | max |
Opus 4.7 | 좋아질 수는 있지만 항상 이득은 아니에요 |
세 줄 결정 규칙
요약하면 이렇게 가르면 돼요.
- 답이 거의 정해져 있으면
medium쪽이 먼저예요. - 파일 여러 개를 오가고, 중간에 자기 수정을 많이 해야 하면
Claude Code xhigh의 이점이 체감돼요. - 실패 비용이 정말 크고, 한 번 더 생각할 시간이 아깝지 않으면
max를 테스트해봐요.
참고로 high라는 이름이 같아도 모델마다 실제 강도는 같지 않아요. Claude Code 공식 문서도 effort scale이 모델별로 따로 보정된다고 적어놨거든요. 그래서 “나는 항상 high” 같은 식으로 외우면 금방 꼬여요.
Opus 4.7 쪽 성향과 실제 코딩 흐름은 Claude Opus 4.7 코딩 활용법: xhigh와 비전 업그레이드로 바뀐 실전 워크플로우에서 바로 이어서 읽기 좋아요. xhigh가 왜 코딩 쪽에서 강하게 밀리는지 이유가 더 뚜렷하게 보여요.

ultrathink와 Claude Code xhigh는 뭐가 다른가
헷갈리는 포인트는 여기예요. ultrathink는 프롬프트 안의 힌트고, Claude Code xhigh는 세션 설정 자체라서 작동 범위가 달라요.
프롬프트에 ultrathink만 넣으면 세션 전체가 바뀌는 걸까요?
공식 문서는 ultrathink를 “이번 턴에서 더 깊게 생각하라”는 인컨텍스트 지시로 설명해요. 반면 /effort xhigh는 실제 effort 레벨을 바꾸는 명령이고요. 쉽게 말해 ultrathink는 순간 부스터, xhigh는 기어 변경에 가까워요.
| 구분 | ultrathink |
/effort xhigh |
|---|---|---|
| 적용 범위 | 현재 턴 한 번 | 현재 세션 기본 레벨 |
| API 반영 방식 | 프롬프트 텍스트로만 들어감 | effort 값 자체가 바뀜 |
| 지속성 | 없음 | 지원 모델에선 세션 간 유지 |
| 추천 상황 | 지금 질문 하나만 깊게 | 이어지는 작업 전체가 복잡할 때 |
# 이번 턴만 더 깊게 생각시키기
ultrathink 이 PR diff에서 위험한 변경만 추려줘
# 세션 전체 기준을 바꾸기
/effort xhigh
그래서 리뷰 한 번만 세게 돌릴 거면 ultrathink가 덜 번거로워요. 근데 지금부터 30분 넘게 파일 여러 개를 건드릴 거라면 xhigh로 세션 자체를 올리는 편이 낫죠. 긴 클라우드 리팩터 세션으로 넘길 생각이면 Claude Code Ultraplan으로 클라우드에서 대규모 리팩터링 돌리기 글도 붙여서 보면 흐름이 자연스럽게 이어져요.

설정이 자꾸 xhigh로 돌아갈 때 고정하는 법
이 섹션은 settings.json이 말을 안 들을 때 Claude Code xhigh를 어디서부터 손봐야 하는지 정리한 부분이에요. 막상 여기서 제일 시간을 많이 날리거든요.
왜 풀리는지 먼저 이해하기
설정을 medium으로 잡아뒀는데 왜 자꾸 xhigh로 돌아올까요?
공식 문서부터 보면 답이 어느 정도 나와요. Opus 4.7을 처음 실행할 때는 예전에 다른 모델에서 잡아둔 effort가 있어도 xhigh를 한 번 적용할 수 있다고 적혀 있어요. 여기에 Anthropic GitHub 이슈 #49809, 즉 “settings.json의 medium이 Opus 4.7 시작 시 무시된다”는 보고도 있었고, 이 건은 2026년 4월 기준 closed as not planned 상태예요. max를 기본값처럼 남기기 어렵다는 VS Code 쪽 이슈 #50557도 있었고요. 그래서 체감상 가장 믿을 만한 고정 수단은 설정 파일보다 환경변수예요.
환경변수로 고정하는 순서
# 가장 안정적인 고정 방법
export CLAUDE_CODE_EFFORT_LEVEL=high
# 복잡한 세션에서만 잠깐 올리기
/effort xhigh
# 모델 기본값으로 되돌리기
/effort auto
새 셸에서 바로 확인하고 싶으면 이렇게 찍어봐요.
$ export CLAUDE_CODE_EFFORT_LEVEL=high
$ claude /status
effort: high (env: CLAUDE_CODE_EFFORT_LEVEL)
설정 파일에는 이렇게 적어둘 수 있어요. 근데 max는 공식 문서 기준으로 현재 세션 전용이라, 기본값처럼 박아두는 쪽은 여전히 덜 매끄러워요.
{
"effortLevel": "high"
}
안 먹힐 때 점검 체크리스트
- 지금 모델이 정말 Opus 4.7인지
/status로 먼저 봐요. - Opus 4.7로 처음 바꾼 직후라면
/effort를 한 번 다시 줘요. - 셸에
CLAUDE_CODE_EFFORT_LEVEL이 이미 잡혀 있는지 체크해요. - VS Code나 Cursor 새 탭이라면
max가 기본값처럼 안 남는 케이스를 의심해봐요. - WSL에서 탭 여러 개를 열어놨다면 탭 간 effort 연동 버그가 없는지도 봐야 해요.
메인 세션은 높게 두고 보조 작업만 낮추고 싶다면 Claude Code 서브에이전트 만들기 실전 가이드: 자동 위임·비용 절감 세팅까지를 같이 보면 좋아요. 세션 기본값과 서브에이전트 frontmatter effort를 따로 가져가는 패턴이 여기서 진짜 편해요.

Pro 플랜에서 토큰을 덜 쓰는 운영 패턴
이 섹션은 비용을 줄이는 운영 패턴이에요. Claude Code xhigh가 좋다고 매번 켜두면 Pro에선 금방 부담이 와요.
기본값부터 낮춰두기
Pro에서 토큰이 갑자기 빠르게 닳는 느낌이 들죠?
분류에 xhigh는 거의 필요 없어요. 바로 high나 medium으로 내리세요. 2026-04-23 기준 Anthropic 요금 페이지 기준으로 Pro는 월 $20, Max 5x는 월 $100, Max 20x는 월 $200이에요. 업그레이드 버튼부터 누르기 전에 운영 패턴부터 바꾸는 게 먼저예요. 같은 날짜 기준 Opus 4.7 공식 문서는 새 토크나이저 때문에 같은 텍스트도 이전 모델보다 최대 약 35% 더 많은 토큰을 쓸 수 있다고 적어놨어요. 그러니 “예전이랑 똑같이 썼는데 왜 빨리 닳지?”라는 느낌이 이상한 게 아니에요.
| 운영 패턴 | 평소 기본값 | 올리는 순간 |
|---|---|---|
| 일상 코딩과 짧은 수정 | high |
오래 끌릴 조짐이 보일 때만 |
| 분류, 추출, 포맷 정리 | medium |
거의 안 올려요 |
| 멀티파일 리팩터와 긴 탐색 | xhigh |
시작 전에 올려요 |
| 마지막 아키텍처 판단 | max |
정말 중요한 결정일 때만 |
| API 에이전트 루프 | xhigh + task_budget(에이전트 전체 토큰 소프트 캡) |
Claude Code가 아니라 API에서만 |
실제로 돌릴 땐 이렇게 가르면 편해요.
# 가벼운 세션으로 시작
claude --effort high
# 복잡한 수정 직전만 올리기
/effort xhigh
# 끝났으면 다시 기본값으로 복원
/effort auto
저는 Pro에서 (1) 세 파일 이상 건드리는 리팩터, (2) 커밋 직전 아키텍처 점검 — 이 두 경우만 Claude Code xhigh로 올려요. 나머지는 전부 high 기본값으로 둬요.
task_budget은 API 전용
task budgets는 이름 때문에 Claude Code 안에서 바로 먹을 것 같지만, 2026-04-23 기준 공개 베타는 Opus 4.7 Messages API 전용이에요. Claude Code에서는 출시 시점 기준 쓸 수 없어요. API나 SDK에서만 이렇게 써요.
# API나 SDK에서만 작업 예산을 같이 건다
response = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
output_config={
"effort": "xhigh",
"task_budget": {"type": "tokens", "total": 64000},
},
betas=["task-budgets-2026-03-13"],
)
공식 문서는 task_budget.total 최소값을 20,000 tokens로 두고, xhigh나 max에선 max_tokens를 64k부터 잡아보라고 권해요. 반복 스크립트나 대량 변환처럼 지능보다 처리량이 중요하면 Claude Haiku 4.5로 비용 1/5 코딩: Opus 대신 써야 할 때는 언제? 쪽이 더 잘 맞아요.

자주 묻는 질문
Q1: xhigh는 high보다 정확히 뭐가 다른가요?
A: Claude Code xhigh는 Opus 4.7에서 high보다 한 단계 더 깊게 탐색하는 레벨로 보면 돼요. Anthropic 공식 문서는 고급 코딩과 복잡한 에이전트 작업에 맞는 레벨로 설명하고 있고, 실제로는 파일을 더 넓게 보고 자기 수정을 길게 가져가는 쪽에 가까워요.
Q2: ultrathink랑 Claude Code xhigh는 같은 건가요?
A: 아니에요. ultrathink는 이번 턴 프롬프트에 더 많이 생각하라는 힌트를 넣는 방식이고, Claude Code xhigh는 세션 effort 자체를 바꾸는 설정이에요. 공식 문서도 ultrathink는 API에 보내는 effort 값을 바꾸지 않는다고 적어놨어요.
Q3: Sonnet 4.6이나 Opus 4.6에서도 xhigh를 쓸 수 있나요?
A: 공식 Claude Code 문서 기준으론 안 돼요. 지원하지 않는 모델에서 xhigh를 주면 그보다 낮은 지원 레벨로 내려가는데, 문서 예시는 Opus 4.6에서 high로 내려가는 경우를 보여줘요. 그래서 모델을 같이 안 보고 effort만 만지면 자꾸 헷갈려요.
Q4: medium으로 해놨는데 왜 Opus 4.7 열면 xhigh로 돌아오죠?
A: Opus 4.7을 처음 실행할 때 Claude Code xhigh를 한 번 적용하는 동작이 공식 문서에 명시돼 있어요. 거기에 settings.json의 medium이 무시된다는 GitHub 이슈 #49809도 있었고, 2026년 4월 기준 상태는 closed as not planned예요. 제일 덜 꼬이는 쪽은 환경변수 고정이에요.
Q5: max는 xhigh보다 무조건 더 좋은가요?
A: 꼭 그렇진 않아요. 공식 문서도 max는 성능을 더 끌어올릴 수 있지만 체감 이득이 줄어들고, 괜히 길게 생각할 수 있다고 경고해요. 실패 비용이 큰 세션에서만 따로 테스트해보는 쪽이 안전해요.
