무엇이 바뀌었나?
Claude Code 2.1.152는 2026년 5월 27일에 출시됐습니다. /code-review가 --fix 옵션으로 리뷰 결과를 작업트리에 직접 적용할 수 있게 되었고, /simplify는 이 옵션의 별칭으로 흡수됐습니다. 스킬과 슬래시 명령에 disallowed-tools frontmatter가 추가돼 활성 동안 특정 도구를 모델에서 숨길 수 있고, /reload-skills 명령과 SessionStart 훅의 새 출력(reloadSkills, sessionTitle), 새 MessageDisplay 훅 이벤트가 도입됐습니다. 운영 측면에서는 기본 모델 누락 시 세션 전체가 --fallback-model로 전환되고, Auto mode는 opt-in 동의 없이 바로 사용 가능합니다. 나머지는 Vim NORMAL 모드 reverse history, /usage 대형 세션 파일 포함, thinking 인디케이터 가독성 개선, 플러그인 MCP dedup, Remote MCP egress 프록시, 마크다운 테이블 렌더링 등 다수의 회귀 정리입니다.
2.1.150은 내부 인프라 변경(사용자 영향 없음)으로, 2.1.151은 별도 릴리스 노트가 없어 이 콘텐츠에서는 건너뜁니다.
새 기능
-
/code-review --fix로 리뷰 결과를 작업트리에 직접 적용,/simplify는 이 옵션을 호출기존
/code-review는 정확성 버그를 보고만 할 뿐 코드를 수정하지 않아, 적용은 별도로 처리해야 했습니다. 이제--fix를 붙이면 리뷰 결과 중 재사용, 단순화, 효율 개선 제안을 작업트리에 직접 적용하며,/simplify는 이 새 옵션을 호출하도록 바뀌었습니다. -
스킬과 슬래시 명령의
disallowed-toolsfrontmatter특정 스킬이나 슬래시 명령이 활성화된 동안만 일부 도구를 모델에서 숨기고 싶을 때, 마땅한 수단이 없었습니다. 이제 frontmatter에
disallowed-tools를 적으면 해당 스킬/명령이 활성화된 동안 모델에서 그 도구가 제거됩니다. -
/reload-skills명령과SessionStart훅의reloadSkills새 스킬을 설치하거나
SessionStart훅이 스킬 디렉터리를 채워도, 세션을 재시작하지 않으면 인식되지 않았습니다. 이제/reload-skills명령으로 수동 재스캔이 가능하고,SessionStart훅이reloadSkills: true를 돌려주면 같은 세션 안에서 새 스킬이 활성화됩니다. -
SessionStart훅의sessionTitle출력훅이 세션 시작/재개 시점에
hookSpecificOutput.sessionTitle로 세션 제목을 지정할 수 있게 됐습니다. -
MessageDisplay훅 이벤트어시스턴트 메시지가 화면에 표시될 때 그 내용을 변형하거나 숨기는 단계가 없었습니다. 새
MessageDisplay훅 이벤트로 메시지 텍스트를 표시 단계에서 후처리하거나 가릴 수 있습니다. -
pluginSuggestionMarketplaces관리형 설정엔터프라이즈 환경에서 컨텍스트 기반 플러그인 추천 팁이 임의의 마켓플레이스에서 노출될 가능성이 있었습니다. 새
pluginSuggestionMarketplaces관리형 설정으로 관리자가 추천 대상 마켓플레이스를 명시 허용할 수 있습니다. -
claude plugin marketplace remove --scope user|project|localmarketplace add,install,uninstall은 모두--scope를 받는데remove만 받지 않아 명령 간 일관성이 깨졌습니다. 이제remove도 동일 스코프 옵션을 지원합니다. -
--fallback-model로 세션 전환기본 모델이 카탈로그에 없으면 매 요청마다 실패했습니다. 이제 한 번 감지되면 세션 전체가
--fallback-model로 전환되어 흐름이 끊기지 않습니다. -
Auto mode opt-in 동의 제거
Auto mode는 첫 사용 시 별도 동의 게이트가 있었습니다. 이제 동의 없이 바로 사용할 수 있습니다.
주요 개선
-
Vim NORMAL 모드의
/가 reverse history search (bash, zsh vi-mode와 동일)Vim 모드 사용자가 명령어 히스토리를 거꾸로 검색하려면 별도 단축키를 익혀야 했습니다. 이제 NORMAL 모드에서
/가 Ctrl+R과 같은 reverse history search를 엽니다. -
/usage분해에 대형 세션 파일 포함, 스트리밍 읽기로 메모리 일정대형 세션 파일은 메모리 우려로
/usage분해에서 제외돼 정확한 비용 분석이 어려웠습니다. 이제 스트리밍 read로 처리해 메모리 사용을 일정하게 유지하면서 분해 결과에 포함됩니다. -
Thinking 요약의 가독성
collapsed 그룹의 thinking 요약이 너무 빨리 사라지거나 평문으로 표시돼 읽기 어려웠습니다. 이제 최소 3초간 유지되고, 마크다운으로 렌더되며, 10줄에서 잘립니다(전체는 Ctrl+O로 확인 가능).
-
풀스크린의 “Thinking for Ns” live count
풀스크린에서 thinking 인디케이터가 한 번 표시되고 멈춰 있었습니다. 이제 모델이 생각하는 동안 카운트가 실시간으로 증가하고, 도중에 끊더라도 마지막 값이 유지됩니다.
-
Workflow 도구의 inline 진행 표시 단순화
Workflow 도구의 라이브 에이전트 카운트가 여러 곳에 중복 표시됐습니다. 이제 프롬프트 아래 영속 워크플로 상태 행에서만 표시됩니다.
-
post-response 타이머가 백그라운드 에이전트, 워크플로를 기다림
응답 직후 타이머가 백그라운드 작업이 아직 진행 중이어도 종료된 듯 보였습니다. 이제 “Waiting for N background agents/workflows to finish”가 표시되고, 결과 처리가 끝나면 누적 시간을 보고합니다.
-
OTEL
app.entrypoint메트릭 속성세션이 어떤 진입점에서 시작됐는지 분석할 메트릭이 없었습니다. 이제
OTEL_METRICS_INCLUDE_ENTRYPOINT=true로 옵트인하면 메트릭 속성에app.entrypoint가 포함됩니다.
주요 버그 수정
플러그인과 MCP
- 같은 command지만 환경변수가 다른 플러그인 MCP 서버가 부정확하게 dedup되던 문제 — 환경변수까지 비교해 각각 별도로 유지됩니다.
/doctor가 제거된 마켓플레이스, 누락된 플러그인을 가리키는 staleenabledPlugins항목에 대해 “marketplace not found”/“plugin not found”를 보고하던 문제 — stale 항목을 정리하고 정확한 진단 결과를 표시합니다.- 레지스트리 재빌드 후 git branch를 추적하는 플러그인이 더 이상 업데이트를 받지 못하던 문제 — 추적이 복구됩니다.
- egress 프록시 활성 상태에서 Claude Code Remote 세션의 원격 MCP 서버가 연결에 실패하던 문제 — 정상 연결됩니다.
세션과 에이전트
- 메시지가 없는 대화나, 동일 underlying value 사이를 전환하는 경우에도 effort-change 확인 다이얼로그가 뜨던 문제 — 실제 변경이 있을 때만 표시됩니다.
--bare나 attachments 비활성 상태에서 Agent 도구 설명이 절대 전달되지 않는 에이전트 목록을 참조하던 문제 — 해당 모드에 맞는 설명만 사용합니다.- 서브에이전트 취소 후 stale한 권한 프롬프트를 수락하면
claude agents의 백그라운드 워커가 크래시하던 문제 — 안전하게 처리됩니다. - 모델, 로그인 전환 후 남은 stale thinking-block 시그니처로 세션이 멈추던 문제 — 사전 제거와 재시도 안전망이 추가됐습니다.
터미널과 UI
- 매우 긴 세션에서 터미널 스타일링이 점진적으로 저하되던 문제 — 렌더러의 스타일 풀을 재활용해 해결.
- condensed startup 레이아웃에서 sandbox-enabled 경고가 표시되지 않던 문제 — 모든 레이아웃에서 표시됩니다.
- 도구가 실행 중일 때 로딩 스피너가 “still thinking”, “almost done thinking” 상태를 그대로 두던 문제 — 도구 호출마다 thinking 상태가 초기화됩니다.
- focus 모드에서 숨겨진 활동이 없는 턴에 잘못된 “N messages hidden” 카운트가 표시되던 문제 — 실제 숨김이 있을 때만 표시됩니다.
- 확장된 도구 결과 내부의 링크를 클릭하면 링크가 열리는 대신 섹션이 접히던 문제 — 클릭으로 링크가 열립니다.
- 마크다운 테이블 셀 테두리가 inline code의 색을 그대로 받거나, wrapped 연속 줄이 스타일을 잃거나, 좁은 터미널의 stacked 레이아웃에서 빈 헤더 셀에 라벨이 표시되던 문제 — 모두 정상 렌더링됩니다.
텔레메트리와 SDK
- API가 nested
cache_creationbreakdown으로만 cache write를 보고할 때 transcript와 result usage의cache_creation_input_tokens가 0으로 보고되던 문제 — 정확한 값을 보고합니다. - Remote Control이 활성 상태인 SDK 호스트 세션에서 PushNotification 도구가 “Mobile push not sent (Remote Control inactive)“로 잘못 보고하던 문제 — Remote Control 상태를 올바르게 감지합니다.
알아두면 좋은 점
/simplify→/code-review --fix별칭화: 2.1.147의/simplify→/code-review이름 변경에 이어, 이제/simplify는 새--fix옵션을 호출하는 별칭입니다. 정확성 검토뿐 아니라 재사용, 단순화, 효율 제안까지 작업트리에 직접 적용됩니다.disallowed-tools는 frontmatter에서만 동작: 스킬과 슬래시 명령의 frontmatter에 적어야 하며, 활성화된 동안에만 효과가 있습니다. 전역 도구 제한은 다른 설정으로 처리합니다.SessionStart훅의reloadSkills가 hot-install을 가능하게 함: 훅이 새 스킬 디렉터리를 채우면서reloadSkills: true를 반환하면 같은 세션 안에서 즉시 사용 가능합니다. 세션 재시작이 더 이상 필요 없습니다.pluginSuggestionMarketplaces는 관리형 설정: 일반 사용자 설정이 아니라 엔터프라이즈 관리자가 컨텍스트 기반 추천을 노출할 마켓플레이스를 통제하기 위한 설정입니다.--fallback-model동작 변경 영향: 기본 모델이 사라진 환경(접근 권한 손실, 모델 deprecation 등)에서 매 요청 실패 대신 세션 전체가 fallback으로 진행되므로, 자동화 흐름이 끊기지 않습니다. 다만 모델별 비용이 다를 수 있어 fallback 모델 선택이 적정한지 확인해두면 좋습니다.- Auto mode opt-in 제거: 처음 Auto mode를 켤 때 동의 게이트가 사라졌습니다. 기존에 게이트를 통과하지 못한 환경에서도 바로 사용 가능합니다.