Claude Code 2.1.128 업데이트
`--channels`가 콘솔(API key) 인증에서도 동작하고, `/mcp`가 서버별 도구 개수와 비정상 서버를 표시합니다. 서브프로세스의 `OTEL_*` 환경변수 누수가 차단되고, `EnterWorktree`는 로컬 HEAD에서 분기하도록 바뀌었습니다. 1M 컨텍스트 모델의 잘못된 차단, 병렬 셸 호출 회귀 등 다수 버그도 함께 수정되었습니다.
이 글은 공식 문서를 바탕으로 요약·정리한 내용입니다.
무엇이 바뀌었나?
Claude Code 2.1.128이 2026년 5월 4일(현지 시간) 릴리스되었습니다. --channels가 콘솔 인증에서도 동작하도록 확장되었고, MCP·플러그인 운영 가시성을 높이는 변경이 다수 들어왔으며, 서브프로세스의 OTEL 환경변수 누수가 차단되었습니다. EnterWorktree의 분기 기준이 로컬 HEAD로 바로잡혔고, 1M 컨텍스트 모델의 잘못된 차단·병렬 셸 호출 회귀·sub-agent 캐시 누락 등 안정성 이슈도 폭넓게 정리되었습니다.
새 기능
-
--channels가 콘솔(API key) 인증에서도 동작기존에는
--channels가 OAuth 기반 워크스페이스에서만 동작해 콘솔 API 키로 운영하는 조직은 이 모드를 쓸 수 없었습니다. 이번 릴리스에서 콘솔 인증에서도 사용 가능합니다. 다만 managed settings를 사용하는 콘솔 조직은 활성화를 위해channelsEnabled: true를 설정해야 합니다. -
/mcp가 도구 개수와 비정상 서버를 표시연결된 MCP 서버 목록만 보면 어떤 서버가 도구를 제대로 노출하는지 알기 어려웠습니다. 이번 변경으로
/mcp가 각 서버의 도구 개수를 함께 표시하고, 도구를 0개로 연결한 서버에 별도 플래그를 붙여 설정 오류·인증 실패를 빠르게 식별할 수 있습니다. -
--plugin-dir가.zip아카이브 수용로컬 플러그인을 시험할 때 디렉토리를 풀어두는 단계가 필요했지만, 이제
--plugin-dir에.zip파일 경로를 직접 넘길 수 있어 압축을 풀지 않고도 바로 로드됩니다. -
/model피커 정리 — Opus 4.7 중복 항목 통합/model목록에 같은 Opus 4.7이 두 번 노출되던 문제가 정리되어 중복이 제거되었습니다. 현재 Opus는 “Opus 4.7”이 아니라 “Opus”로 표시됩니다. -
EnterWorktree가 로컬 HEAD에서 분기 (기존:origin/<default-branch>)문서에 명시된 동작과 달리
EnterWorktree가 원격 기본 브랜치를 기준으로 새 브랜치를 만들면서 푸시되지 않은 로컬 커밋이 누락되는 문제가 있었습니다. 이제 로컬 HEAD에서 분기하므로 미푸시 커밋이 사라지지 않습니다. -
MCP
workspace가 예약 서버 이름으로 지정기존에
workspace이름으로 MCP 서버를 등록한 경우, 이번 릴리스부터는 해당 서버가 경고와 함께 건너뛰어집니다. 향후 동일 이름이 시스템 용도로 사용될 예정이라 다른 이름으로 변경해야 합니다. -
MCP 재연결 시 도구 목록 폭주 방지
MCP 서버가 재연결될 때마다 전체 도구 이름 목록이 대화창을 채우던 동작이 정리되었습니다. 다시 안내되는 도구는 서버 prefix로 묶어 요약 표시됩니다.
-
SDK 호스트에
localSettings영구 제안Bash 권한 프롬프트에서 “Always allow”를 선택할 때 SDK 호스트가
.claude/settings.local.json에 영구 기록할 수 있도록localSettings제안을 함께 받게 되었습니다. -
Auto 모드 분류기 오류에 복구 힌트 추가
분류기가 동작을 평가하지 못해 막혔을 때 사용자가 무엇을 해야 하는지 알기 어려웠습니다. 이제 오류 메시지에 재시도,
/compact,--debug실행 같은 다음 행동 힌트가 함께 표시됩니다. -
/color를 인자 없이 실행하면 무작위 세션 색상 적용이제
/color만 입력하면 세션 색상이 무작위로 지정됩니다. 여러 세션을 띄워둘 때 시각적 구분에 활용할 수 있습니다.
주요 개선
-
서브프로세스의
OTEL_*환경변수 격리Claude Code가 자체 OTLP endpoint로 OTEL 환경변수를 설정한 채 동작하면 Bash·hook·MCP·LSP 같은 서브프로세스가 이를 상속해 OTEL 계측이 적용된 사용자 앱이 CLI의 OTLP endpoint로 텔레메트리를 잘못 보내는 문제가 있었습니다. 이번 릴리스에서 서브프로세스가 더 이상
OTEL_*환경변수를 상속하지 않도록 격리되어, Bash 도구로 실행한 OTEL 계측 앱이 의도된 자체 endpoint로만 데이터를 보냅니다. -
sub-agent progress summary가 프롬프트 캐시를 사용
sub-agent가 진행 상황을 요약할 때 프롬프트 캐시를 활용하지 않아
cache_creation토큰이 불필요하게 발생했습니다. 이번 수정으로 약 3배 수준의cache_creation감소가 보고됩니다. 또한 대화 기록이 변하지 않는 유휴 상태의 sub-agent에서 요약 호출이 반복되던 문제도 함께 정리되어, 유휴 sub-agent의 최악 토큰 비용 상한이 명확해졌습니다.
주요 버그 수정
세션·UI
- focus 모드에서 새 프롬프트 제출 시 이전 응답이 잠깐 어두워지던 현상 수정.
- Kitty 등 OSC 9를 알림으로 해석하는 터미널에서
/exit마다 뜨던 “4;0;” 데스크톱 알림 수정. - Remote Control 속도 제한 화면이 “Opening your options…”라는 빈 메시지만 표시하던 문제 — 실제 행동 가능한 업셀 옵션이 표시되도록 수정.
- 이미지 읽기 실패 시 drag-and-drop 업로드가 “Pasting text…”에서 멈추던 문제 수정.
- 풀스크린 모드에서 줄바꿈된 긴 URL의 각 행이 클릭되지 않던 문제 수정.
- OSC 8 하이퍼링크를 지원하지 않는 터미널에서 마크다운 링크 라벨이 사라지던 문제 — 이제 URL만이 아니라
라벨 (URL)형식으로 표시됩니다. - 터미널 progress indicator(OSC 9;4)가 도구 호출 사이마다 깜박이며 꺼지던 문제 — 한 턴 내내 유지되도록 수정.
--resume·--continue후 이전 세션의 “remote-control is active” 상태 라인이 잔존하던 문제 수정.
MCP·플러그인
/pluginComponents 패널이--plugin-dir로 로드된 플러그인에 대해 “Marketplace ‘inline’ not found”를 표시하던 문제 수정.- MCP 도구 결과에서 서버가 structured content와 content blocks를 모두 반환할 때 이미지가 누락되던 문제 수정.
/plugin update가 npm 소스 플러그인의 새 버전을 감지하지 못하던 문제 수정.CLAUDE_CODE_SHELL_PREFIX설정 시 인자에 공백·셸 메타문자가 포함되면 MCP stdio 서버에 인자가 손상된 채 전달되던 문제 수정.- 삭제된 캐시 디렉토리를 가리키는
installed_plugins.json의 오래된 항목이 PATH를 오염시키던 문제 수정. - Headless
--output-format stream-json의init.plugin_errors— 의존성 강등(demotion)뿐 아니라--plugin-dir로드 실패도 포함하도록 확장.
입력·텍스트
- 리스트 항목 안의 펜스 코드 블록을 복사할 때 선행 공백이 클립보드에 함께 들어가던 문제 수정.
/config탭 이동 시 포커스가 갇히던 문제 — 탭 헤더가 포커스를 유지해 화살표·Esc가 계속 동작하도록 수정.- vim 모드 NORMAL에서
Space가 표준 vi/vim과 달리 동작하지 않던 문제 — 이제 커서를 오른쪽으로 이동.
모델·어시스턴트 동작
- 1M 컨텍스트 모델에서 더 작은 autocompact 윈도우를 사용할 때 실제 API 한도에 닿기도 전에 “Prompt is too long”으로 잘못 차단되던 문제 수정.
- 병렬 셸 도구 호출에서 grep·git diff·ls 같은 read-only 명령이 실패하면 형제 호출까지 취소되던 문제 — read-only 실패가 다른 호출을 끌어내리지 않도록 수정.
- effort를 지원하지 않는 모델에서 배너에 “with X effort”가 표시되던 문제 수정.
- 타사 provider에서
/fast입력이 무관한 skill로 퍼지 매칭되던 문제 — 이제 “not available”로 명확히 안내. - Bedrock 기본 모델이 리전별 prefix가 아니라
global.*로 해석되던 문제 수정.
세션 재개·헤드리스
/compact로 압축된 직후 재개한 세션에서 인자 없는/rename이 실패하던 문제 수정.claude -p에 stdin으로 매우 큰 입력(>10 MB)을 파이프할 때 발생하던 크래시 루프 수정.
알아두면 좋은 점
- 콘솔 조직에서
--channels를 쓰려면 managed settings에channelsEnabled: true— managed settings 없이 운영하는 콘솔 조직은 추가 설정 없이 바로 사용 가능합니다. - MCP 서버 이름이
workspace인 경우 변경 필요 — 이름 충돌 시 해당 서버가 경고와 함께 건너뛰어지므로 다른 이름으로 재등록하세요. - OTEL 통합 운영자에게 직접 영향 — Claude Code가 자체 OTLP endpoint를 설정한 환경에서 Bash 도구로 OTEL 계측 앱을 띄우면 더 이상 CLI의 endpoint로 텔레메트리가 흘러가지 않습니다. 의도적으로 상속을 활용하던 구성은 별도로 환경변수를 다시 설정해야 합니다.
/model에서 Opus 표기 변경 — 자동화 스크립트가 정확히 “Opus 4.7” 문자열을 매칭하고 있었다면 이제 “Opus”로 갱신하세요.EnterWorktree동작 변경 — 새 브랜치가 더 이상origin/<default-branch>가 아니라 로컬 HEAD에서 분기됩니다. 의도적으로 원격 기본 브랜치 기준이 필요하다면 별도로 처리해야 합니다.