Claude Code 2.1.129 업데이트
`--plugin-url`로 .zip 플러그인을 URL에서 바로 로드할 수 있고, Homebrew·WinGet 설치본이 백그라운드 자동 업그레이드를 지원합니다. Ctrl+R 히스토리가 다시 전체 프로젝트 검색으로 돌아왔고, Gateway `/v1/models` 자동 탐색은 환경변수 옵트인으로 바뀌었습니다. 1시간 프롬프트 캐시 TTL이 5분으로 강등되던 회귀와 OAuth 깨우기 후 로그아웃, `/context` 토큰 낭비 등 다수 버그도 함께 수정되었습니다.
이 글은 공식 문서를 바탕으로 요약·정리한 내용입니다.
무엇이 바뀌었나?
Claude Code 2.1.129가 2026년 5월 6일(현지 시간) 릴리스되었습니다. 플러그인 배포·설치 동선을 단순화하는 새 플래그·환경변수가 추가되었고, 2.1.124~2.1.128 사이에 들어간 몇몇 동작이 옵트인으로 되돌려졌습니다. 1시간 프롬프트 캐시 TTL이 조용히 5분으로 강등되던 회귀, 깨우기 후 OAuth refresh 레이스로 모든 세션이 로그아웃되던 문제, /context가 ASCII 그리드를 대화창에 덤프하며 토큰을 낭비하던 문제 등 운영 영향이 큰 버그들이 폭넓게 정리되었습니다.
새 기능
-
--plugin-url <url>— URL에서.zip플러그인을 바로 로드로컬 경로(
--plugin-dir)나 마켓플레이스 등록 없이 시험해보고 싶은 경우, 압축 파일을 직접 내려받아 풀어두는 단계가 필요했습니다. 이제--plugin-url에.zip아카이브 URL을 넘기면 현재 세션에서 그대로 가져와 로드됩니다. -
CLAUDE_CODE_FORCE_SYNC_OUTPUT=1— 동기화 출력 강제 활성화Emacs
eat처럼 자동 감지 로직이 놓치는 터미널에서는 동기화 출력(synchronized output)이 꺼진 채 동작해 화면 깜박임·중첩 출력이 발생했습니다. 이 환경변수를 1로 두면 자동 감지 결과를 무시하고 동기화 출력을 강제로 켭니다. -
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE— Homebrew·WinGet 자동 업그레이드Homebrew·WinGet으로 설치한 환경에서는 업그레이드를 사용자가 직접 실행해야 했습니다. 이 변수를 설정해두면 Claude Code가 백그라운드에서 패키지 매니저의 업그레이드 명령을 실행하고 완료 후 재시작 안내를 띄웁니다.
주요 개선
-
Gateway
/v1/models탐색이 옵트인으로 변경2.1.126~2.1.128에서는
/model피커가 게이트웨이의/v1/models를 자동 호출해 모델 목록을 가져왔습니다. 이번 릴리스부터는CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1을 명시적으로 설정한 경우에만 동작합니다. -
Ctrl+R 히스토리 검색이 전 프로젝트 기본으로 복귀
2.1.124에서 Ctrl+R 히스토리 피커가 기본적으로 현재 프로젝트만 검색하도록 바뀌면서 다른 프로젝트의 프롬프트가 보이지 않게 됐습니다. 이번 릴리스에서 2.1.124 이전처럼 모든 프로젝트의 프롬프트를 기본 검색하도록 되돌렸고, 현재 프로젝트나 세션으로 좁히고 싶을 때는 Ctrl+S를 누르면 됩니다.
-
타사 배포에서 1st-party 안내 스피너 팁 차단
Bedrock·Vertex·Foundry·
ANTHROPIC_BASE_URL게이트웨이로 운영하는 환경에서도 Anthropic 1st-party 기능(claude.com/plugins 등)을 가리키는 스피너 팁이 노출되던 문제가 정리되었습니다. -
skillOverrides설정이 실제 적용설정값이 정의돼 있었지만 실제 동작이 연결돼 있지 않았습니다. 이제
off는 모델과/피커 모두에서 숨김,user-invocable-only는 모델에서만 숨기고/로는 호출 가능,name-only는 설명을 접어 이름만 노출합니다. -
claude_code.pull_request.countOTel 메트릭이 MCP 경로도 집계PR·MR 생성 카운트가 셸 명령으로 만든 경우만 잡혀 MCP 도구로 만든 PR이 누락됐습니다. 이번 변경으로 MCP 도구를 통해 생성한 PR/MR도 함께 집계됩니다.
-
Policy refusal 오류에 API Request ID 포함
정책으로 거부된 요청을 디버깅·서포트로 넘길 때 어떤 요청인지 식별할 수 없어 추적이 어려웠습니다. 이제 거부 메시지에 API Request ID가 함께 표시됩니다.
-
플러그인 매니페스트의
themes·monitors는"experimental": { ... }아래로 이동 권장최상위 선언도 계속 동작하지만
claude plugin validate가 경고를 표시합니다. 향후 안정화 전까지는 실험적 영역에서 관리됩니다.
주요 버그 수정
세션·UI
- 알 수 없는 400 상태 코드를 가진 API 오류가 원본 오류 메시지 대신 raw JSON으로 표시되던 문제 수정.
/clear가 대화 종료 후 터미널 탭 타이틀을 초기화하지 않던 문제 수정.- 권한 다이얼로그 등이 떠 있는 동안
/rename으로 만든 세션 타이틀 칩이 사라지던 문제 수정. - 서브에이전트 실행 중 프롬프트 아래 에이전트 패널이 가려지던 문제 — 2.1.122 회귀 수정.
- 외부 에디터 핸드오프(Ctrl+G)가 프롬프트 위 대화 기록을 비워버리던 문제 수정.
/context가 ASCII 시각화 그리드를 대화창에 덤프하며 호출당 약 1.6k 토큰을 낭비하던 문제 수정./agentsLibrary 목록에서 화살표 키로 이동할 때 강조 항목이 뷰포트를 벗어나 보이지 않던 문제 수정./branch성공 메시지에 새 브랜치의 세션 id가 빠져/resume으로 이어가기 어려웠던 문제 수정.- 풀스크린 모드에서 keycap·ZWJ·스킨톤 이모지가 포함된 굵은 헤더가 끝부분 문자를 잃던 문제 수정.
--debug음성 모드에서 무해한 WebSocket 경고가 에러로 로깅되던 문제 수정.
권한·인증·정책
user:inference스코프가 없는 OAuth 자격으로 저장된 엔터프라이즈·팀 사용자에게 server-managed settings 정책이 적용되지 않던 문제 수정.- 슬립에서 깨어난 직후 OAuth refresh 레이스로 실행 중인 모든 세션이 로그아웃되던 문제 수정.
Bash(mkdir *),Bash(touch *)같은 allow 규칙이 프로젝트 내부 경로에서 인정되지 않던 문제 수정.deniedMcpServers의*://스킴 와일드카드가 대소문자 섞인 호스트명에 매칭되지 않던 문제 수정.
캐시·모델
- 1시간 프롬프트 캐시 TTL이 조용히 5분으로 강등되던 문제 수정.
/clear또는 압축 후/effort·/model을 변경하면 cache-miss 경고가 잘못 뜨던 문제 수정.
VSCode
/clear가 대화 컨텍스트와 표시된 트랜스크립트를 비우지 않던 문제 수정.
알아두면 좋은 점
- Gateway 모델 자동 탐색은 옵트인 — 2.1.126~2.1.128에서 자동으로 동작하던
/v1/models호출이 더 이상 기본 동작이 아닙니다. 게이트웨이의 모델 목록을/model피커에 채우려면CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1을 환경변수로 설정해야 합니다. - Ctrl+R 기본 동작 복귀 — 현재 프로젝트만 검색하던 2.1.124~2.1.128의 기본값이 전체 프로젝트 검색으로 되돌아왔습니다. 좁힘이 필요하면 Ctrl+S로 토글하세요.
- Homebrew·WinGet 자동 업그레이드는 옵트인 —
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE를 설정하지 않으면 기존처럼 수동 업그레이드 흐름을 그대로 유지합니다. - 플러그인 매니페스트 마이그레이션 권고 — 최상위에 선언된
themes·monitors는claude plugin validate경고가 뜨므로, 향후를 대비해"experimental": { ... }아래로 이동해두는 것이 좋습니다. - 1시간 프롬프트 캐시 TTL 정상화 — 1시간 TTL을 사용하도록 설정한 워크플로가 실제로는 5분으로 동작했을 가능성이 있습니다. 이번 수정 후 의도된 캐시 적중률·비용 곡선이 회복되는지 확인해보세요.