반응형
[Claude Code] Claude 4월 업데이트 정리
2026년 4월 한 달간 Claude Code는 v2.1.89부터 v2.1.123까지 약 25개의 릴리스가 쏟아졌다. 그 중에서도 Opus 4.7 출시, flicker-free 풀스크린 모드 정식화, PowerShell 도구 추가, /ultrareview 도입이 핵심이다. 매번 모든 체인지로그를 따라가기 어려우니 실제 워크플로우에서 체감되는 것 위주로 정리해본다.
모델
Opus 4.7 출시 + xhigh effort
- Claude Opus 4.7이 4월 16일 출시됐다.
xhigheffort level이 새로 추가되어, 기존high와max사이에 위치한다. /effort명령에 인자를 주지 않고 실행하면 인터랙티브 슬라이더가 열려서 화살표로 effort 레벨을 조정할 수 있다. 기존 텍스트 설정보다 직관적이다.- Max 구독자는 Opus 4.7에서 auto 모드를 쓸 수 있다.
- v2.1.117부터 Pro/Max 구독자의 기본 effort가
high로 올라갔다 (이전 medium). API 키, Bedrock/Vertex/Foundry, Team, Enterprise 사용자도 4월 7일자 v2.1.94부터 기본 high로 변경됐다.
Opus 4.7 1M 컨텍스트 픽스
- Opus 4.7의 native 컨텍스트는 1M인데, 초기에 Claude Code가 200K 기준으로
/context비율을 계산해서 너무 일찍 autocompact가 도는 버그가 있었다. v2.1.117에서 수정됐다.
새로운 슬래시 명령
/ultrareview — 클라우드 멀티 에이전트 코드 리뷰
- 여러 에이전트를 병렬로 띄워 현재 브랜치 또는 특정 PR을 리뷰한다.
/ultrareview만 치면 현재 브랜치,/ultrareview <PR#>로 GitHub PR을 직접 가져와 리뷰한다. claude ultrareview [target]서브커맨드로 CI/스크립트에서 비대화형으로도 호출 가능하다.--json으로 raw 출력, 정상 종료 0 / 실패 1.- 코드 리뷰 자동화 파이프라인 환경에 보조 도구로 검토해볼 만하다.
/tui — 풀스크린/일반 모드 전환
- 같은 대화에서
/tui fullscreen으로 flicker-free 풀스크린 렌더링으로 전환할 수 있다. - 기존에
CLAUDE_CODE_NO_FLICKER=1환경변수로 켜야 했던 모드가 정식 명령으로 들어왔다. 긴 세션에서 화면 깜빡임이 거슬렸다면 한번 써볼 만하다.
/focus — 포커스 뷰 토글
- 기존
Ctrl+O가 normal/verbose transcript 토글로만 동작하도록 변경되고, focus 모드는/focus로 분리됐다. - Focus 모드는 프롬프트 + 한 줄 도구 요약 + 최종 응답만 보여준다. 긴 도구 출력에 휘둘리지 않고 결론만 보고 싶을 때 유용.
/usage — /cost와 /stats 통합
/cost와/stats가/usage로 통합됐다. 기존 명령은 typing shortcut으로 남아 있어서 해당 탭이 바로 열린다.- VSCode 확장에서는
/usage가 네이티브 토큰 사용량 다이얼로그로 열린다.
/less-permission-prompts
- 트랜스크립트를 스캔해서 자주 쓰는 read-only Bash/MCP 도구 호출을 추출하고,
.claude/settings.json에 추가할 우선순위별 allowlist를 제안한다. - 매번 권한 프롬프트가 떠서 거슬렸다면 한 번 돌려두면 좋다.
/recap — 자리비움 후 컨텍스트 복기
- 세션에 돌아왔을 때 그동안 뭐 했는지 요약해준다.
/config에서 켜고 끌 수 있고/recap으로 수동 호출도 된다. - Telemetry 비활성화 환경에서는
CLAUDE_CODE_ENABLE_AWAY_SUMMARY로 강제 활성화 가능.
/undo — /rewind alias
/undo가/rewind의 alias로 추가됐다. 직관적이라 이게 더 입에 붙는다.
/team-onboarding
- 로컬 Claude Code 사용 패턴을 분석해서 팀 동료용 온보딩 가이드를 자동 생성한다.
/powerup
- Claude Code 기능을 애니메이션 데모와 함께 가르쳐주는 인터랙티브 레슨이다 (4월 1일 v2.1.90).
PowerShell 도구 (Windows + 옵션)
- Windows에서 Git for Windows (Git Bash)가 더 이상 필수가 아니다 (v2.1.120). 없으면 자동으로 PowerShell이 shell tool 역할을 한다.
CLAUDE_CODE_USE_POWERSHELL_TOOL=1로 Linux/macOS에서도 활성화 가능 (pwsh필요)./env가 PowerShell 도구 명령에도 적용된다.- PowerShell 명령도 Bash와 동일하게 permission mode에서 자동 승인 가능.
인증 / OAuth 개선
4월에는 OAuth 관련 버그 픽스가 유난히 많았다. 사내 프록시/SSO 환경에서 인증 문제 겪던 사람이라면 업데이트하는 게 좋다.
- OS의 CA 인증서 저장소를 기본으로 신뢰하도록 변경 (v2.1.101). 엔터프라이즈 TLS 프록시가 추가 설정 없이 동작한다 (
CLAUDE_CODE_CERT_STORE=bundled로 번들된 CA만 사용하도록 되돌릴 수 있음). - macOS 키체인 race condition 수정 — 동시 MCP 토큰 refresh로 정상 OAuth 토큰이 덮어쓰여 "Please run /login" 오프롬프트 발생하던 문제.
- OAuth refresh 토큰을 서버가 만료 전에 폐기한 경우 처리 개선.
- 자격증명 저장 시 Linux/Windows에서
~/.claude/.credentials.json이 깨지는 크래시 수정.
반응형
메모리 / 성능
대용량 세션 처리
/resume이 40MB+ 세션에서 최대 67% 빨라졌다 (v2.1.116)./branch가 50MB+ 트랜스크립트도 처리한다 (v2.1.116, 이전엔 거부됨).- 트랜스크립트가 더러워진 줄(unclean shutdown)이 있어도 그 줄만 스킵하고 로드한다.
/resume큰 세션은 자동으로 요약을 제안한다.
메모리 누수 픽스
- 이미지 처리 시 multi-GB RSS까지 늘어나던 문제 수정.
/usage메모리 누수 (~2GB) 수정.- 장시간 도구가 progress event 안 보낼 때 메모리 누수 수정.
- syntax highlighting grammar를 on-demand 로딩으로 변경 — 파일 read/edit 메모리 footprint 감소.
네이티브 빌드
- macOS/Linux 네이티브 빌드에서
Glob/Grep도구가 임베디드bfs/ugrep으로 대체됐다 (v2.1.117). 별도 도구 라운드트립 없이 더 빠른 검색. - Windows에선
where.exe결과를 캐시해서 서브프로세스 시작이 빨라졌다. - CLI가 bundled JavaScript 대신 네이티브 Claude Code 바이너리를 spawn한다 (v2.1.113).
UI / 키바인딩
Vim 모드 강화
- Visual mode (
v), visual-line mode (V)가 추가됐다 (v2.1.118). selection, operator, visual feedback 다 됨. - INSERT 모드에서 Esc는 더 이상 큐에 있는 메시지를 끌어오지 않는다 — 한 번 더 누르면 interrupt.
- NORMAL 모드에서
j/k로 history 이동, 입력 경계에서 footer pill 선택.
키바인딩
Ctrl+X Ctrl+E— 외부 에디터 열기 (Ctrl+G와 동일). readline-native 바인딩.Ctrl+U— 입력 버퍼 전체 클리어 (Ctrl+Y로 복원). v2.1.111.Ctrl+A/Ctrl+E— multiline 입력에서 현재 논리 줄 시작/끝 (readline 동작). v2.1.113.- Windows:
Ctrl+Backspace로 이전 단어 삭제.
풀스크린 / 스크롤
- 풀스크린에서 프롬프트 입력 중에 위로 스크롤해서 이전 출력을 읽어도 자동으로 바닥으로 안 튀어 내려간다 (v2.1.121).
- 다이얼로그가 터미널보다 길면 화살표/PgUp/PgDn/마우스휠로 스크롤된다.
- 긴 URL이 여러 줄에 걸쳐 wrap되면 어느 줄을 클릭해도 전체 URL이 열린다 (v2.1.121).
- 풀스크린에서 코드 셀렉션의 leading whitespace가 보존된다 (이전엔 잘렸음).
테마
/theme에 Auto (match terminal) 옵션 추가 — 터미널의 다크/라이트 모드를 따라간다 (v2.1.111)./theme에서 named custom theme을 만들고 전환할 수 있다.~/.claude/themes/디렉토리에 JSON 직접 편집도 가능 (v2.1.118).- 플러그인이
themes/디렉토리로 테마를 배포할 수 있다.
Hooks 강화
PreCompacthook이 compaction을 차단할 수 있다 (exit code 2 또는{"decision":"block"}). v2.1.105.PermissionDeniedhook 추가 (v2.1.89) — auto mode classifier가 거부한 후에 호출된다.{retry: true}반환하면 모델이 재시도 가능하다는 걸 알게 된다.TaskCreatedhook —TaskCreate로 task 생성 시 fire (v2.1.105).PostToolUsehook이 모든 도구의 출력을 교체할 수 있다 —hookSpecificOutput.updatedToolOutput(이전엔 MCP 전용). v2.1.121.- hooks가
type: "mcp_tool"로 MCP 도구를 직접 호출할 수 있다 (v2.1.118). PreToolUsehook이"defer"permission decision을 지원한다 — headless 세션이 도구 호출에서 멈춰있다가-p --resume으로 재개하면 hook이 다시 평가된다 (v2.1.89).UserPromptSubmithook의hookSpecificOutput.sessionTitle로 세션 타이틀을 설정할 수 있다 (v2.1.94).
플러그인
claude plugin prune— orphan 자동 설치 dependency 제거.plugin uninstall --prune으로 cascade. v2.1.121.claude plugin tag— version validation과 함께 release git tag 생성. v2.1.118.marketplace.json에$schema,version,description이 top-level로 허용된다.- 플러그인이
bin/아래에 실행파일을 배포하고 Bash 도구에서 bare command로 호출할 수 있다 (v2.1.91). - 플러그인이 background monitor를 ship할 수 있다 (
monitorsmanifest key, v2.1.105). - 플러그인 의존성 충돌 시
range-conflict에러로 명확하게 알려준다 (v2.1.105). - 다른 플러그인의 version constraint로 pin된 플러그인이 highest satisfying git tag로 자동 업데이트된다 (v2.1.119).
MCP
alwaysLoad: true— 해당 서버의 모든 도구가 tool-search deferral 없이 항상 사용 가능 (v2.1.121).headersHelper로 환경변수에서 헤더를 동적으로 받을 때${ENV_VAR}치환 버그 수정.- claude.ai 커넥터와 같은 URL의 수동 추가 서버는 자동으로 중복 제거된다.
_meta["anthropic/maxResultSizeChars"]annotation으로 MCP 도구 결과 persistence 한도를 최대 500K까지 override 가능 (DB schema 같은 큰 결과 truncation 방지). v2.1.91.- MCP
elicitation/create요청이 print/SDK 모드에서 서버 연결이 turn 중간에 완료될 때 자동 취소되던 버그 수정 (v2.1.117). - MCP HTTP/SSE 연결 시 unreleased buffer가 시간당 ~50MB 누적되던 메모리 누수 수정 (v2.1.97).
- MCP step-up authorization이
403 insufficient_scope로 elevated scope 요청 시 정상적으로 re-authorization flow로 진입한다 (v2.1.118).
SDK / Headless
MCP_CONNECTION_NONBLOCKING=true로-p모드에서 MCP 연결 대기를 완전히 스킵 가능 (v2.1.117).--mcp-config서버 연결을 5초로 bound (이전엔 가장 느린 서버에 block).--print모드가 agent의tools:/disallowedTools:frontmatter를 honor한다 (인터랙티브 모드와 동일). v2.1.119.--agent <name>이 built-in agent의permissionMode를 honor한다.CLAUDE_CODE_FORK_SUBAGENT=1이 비대화형 세션에서도 동작 (v2.1.121).- SDK
query()가 consumer가for await에서break하거나await using을 쓸 때 subprocess와 temp file을 정리한다 (v2.1.101). - SDK가
TRACEPARENT/TRACESTATE를 환경변수에서 읽어 distributed trace를 연결한다 (v2.1.110). - SDK
mcp_authenticate가redirectUri를 지원해서 custom scheme completion과 claude.ai 커넥터에 활용 가능 (v2.1.121).
보안 / 권한
.claude/skills/,.claude/agents/,.claude/commands/는--dangerously-skip-permissions에서도 더 이상 프롬프트하지 않는다 (v2.1.121).sandbox.network.deniedDomains설정 추가 — broaderallowedDomainswildcard가 허용해도 특정 도메인은 차단 (v2.1.113).CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1로 Bash tool, hooks, MCP stdio server에서 Anthropic/cloud provider 자격증명 strip (v2.1.98).CLAUDE_CODE_SCRIPT_CAPS로 세션당 스크립트 호출 횟수 제한 (v2.1.98).forceRemoteSettingsRefreshpolicy — 원격 managed settings를 fetch 못 하면 fail-closed로 시작 자체를 차단 (v2.1.92).disableSkillShellExecution설정으로 skill, custom slash command, plugin command의 inline shell 실행 차단 가능 (v2.1.91).- macOS에서
/private/{etc,var,tmp,home}이 dangerous removal target으로 취급된다 (Bash(rm:*)allow rule 하). v2.1.113. - Bash deny rule이
env/sudo/watch/ionice/setsid등 exec wrapper로 감싼 명령도 매칭한다 (v2.1.113). Bash(find:*)allow rule이find -exec/-delete를 더 이상 자동 승인하지 않는다 (v2.1.113).--dangerously-skip-permissions가 보호된 경로의 쓰기 후 accept-edits 모드로 silent 다운그레이드되던 문제 수정 (v2.1.97).
텔레메트리 / OpenTelemetry
- OTEL
api_request/api_error이벤트의 numeric attribute가 string 대신 number로 emit (v2.1.122). claude_code.at_mentionlog event 추가 (@-mention resolution). v2.1.122.tool_result/tool_decision에tool_use_id포함,tool_input_size_bytes도 추가 (v2.1.119).OTEL_LOG_USER_PROMPTS로 사용자 프롬프트 로깅 opt-in (LLM request span의user_system_prompt). v2.1.121.user_prompt이벤트에 slash command용command_name,command_source추가 (v2.1.117).OTEL_LOG_RAW_API_BODIES로 전체 API request/response body를 OTEL log event로 emit 가능 (v2.1.111).
기타
--from-pr이 GitLab merge-request, Bitbucket PR, GitHub Enterprise PR URL도 받는다 (v2.1.119)./resume검색 박스에 PR URL을 붙여넣으면 그 PR을 만든 세션을 찾는다 (v2.1.122)./resume이/add-dir로 추가한 디렉토리도 검색 대상에 포함한다 (v2.1.118).prUrlTemplate설정으로 footer PR 배지를 github.com 대신 사내 코드 리뷰 URL로 (v2.1.119).CLAUDE_CODE_HIDE_CWD환경변수로 시작 로고에서 작업 디렉토리 숨김 (v2.1.119).ENABLE_PROMPT_CACHING_1H로 API 키, Bedrock, Vertex, Foundry에서 1시간 prompt cache TTL opt-in (v2.1.108).
VSCode 확장
- 음성 받아쓰기가
accessibility.voice.speechLanguage설정을 honor하고, Claude Code language 미설정 시 fallback (v2.1.121). /context가 네이티브 토큰 사용량 다이얼로그를 연다 (v2.1.121)./usage가 네이티브 Account & Usage 다이얼로그를 연다 (plain-text session cost 대신). v2.1.120.- Esc 두 번으로 rewind picker 열기 (풀스크린 렌더러 켰을 때, v2.1.118).
- rate limit 가까워지면 경고 배너 표시 (v2.1.119).
- "Manage Plugins" 패널이 큰 마켓플레이스 여러 개에서 깨지던 버그 수정 (v2.1.117).
마무리
4월 핵심은 Opus 4.7과 xhigh effort, /ultrareview, /tui 풀스크린 정식화, PowerShell 도구, 그리고 인증/OAuth 안정화다. 특히 Opus 4.7 1M 컨텍스트는 그동안 200K로 잘려있던 게 풀린 거라, 긴 컨텍스트 작업이 많다면 체감이 클 것이다.
CI/CD에서 Claude Code를 활용하는 입장에선 claude ultrareview --json이 흥미롭다. 코드 리뷰 자동화 파이프라인에 multi-agent 리뷰를 추가 검증 layer로 끼워볼 수 있다.
반응형
'AI > Claude code' 카테고리의 다른 글
| [Claude Code] Claude 3월 업데이트 정리 (1) | 2026.04.15 |
|---|---|
| [Claude Code]/ralph-loop, /loop (0) | 2026.03.16 |
| [Claude Code] btw (0) | 2026.03.13 |
| [Claude Code] rtk-ai (token-killer) (0) | 2026.03.13 |
| [Claude Code]Claude 2월 업데이트 정리 (0) | 2026.03.06 |