무엇이 바뀌었나?
Claude Code 2.1.229가 2026년 8월 12일 출시됐습니다. 분량이 큰 릴리스로, 추가 5건과 수정 18건, 그 밖의 변경 9건으로 이뤄져 있습니다. 새로 들어온 기능은 플러그인 배포와 원격 실행 환경에 몰려 있고, 수정은 크래시와 화면 출력 오류에 집중돼 있습니다. /commit-push-pr의 위험한 git 명령 자동 승인이 중단되고 Windows 셀프호스티드 러너에 --base-dir이 필수가 되는 등, 기존 사용 방식이 달라지는 변경도 두 건 포함됐습니다.
새 기능
-
플러그인 마켓플레이스를 로컬 명령으로 지정
마켓플레이스는 고정된 경로나 원격 저장소를 가리켜야 했습니다. 플러그인이 놓이는 위치가 사람마다 다르거나 IDE 같은 다른 프로그램이 관리하는 경우에는, 그 경로를 설정 파일에 직접 적어 두고 위치가 바뀔 때마다 고쳐야 했습니다. 이제 마켓플레이스 소스로
command방식을 쓸 수 있습니다. 지정한 로컬 명령이 플러그인 폴더 경로를 출력하면 Claude Code가 세션을 시작할 때마다 그 명령을 다시 실행해 경로를 확인하고, 재시작 없이 반영합니다.mode: "link"를 지정하면 플러그인을 복사하지 않고 그 위치에 있는 것을 그대로 사용합니다. -
셀프호스티드 러너 세션에서도 서버가 내려주는 훅 적용
관리형 환경(managed environment)에서는 서버가 훅을 내려보내 세션에 적용할 수 있었지만, 직접 운영하는 러너에서 돌아가는 세션에는 이 방식이 적용되지 않았습니다. 조직 차원의 훅 정책을 러너 쪽에 따로 심어 두어야 했습니다. 이제 셀프호스티드 러너 세션도 관리형 환경과 같은 방식으로 서버가 제공하는 훅을 받습니다.
-
긴 사고 구간에서 연결이 끊기지 않도록 keepalive 신호 전송
Vertex와 Bedrock을 거쳐 스트리밍 응답을 받을 때, 모델이 오래 생각하는 동안에는 데이터가 흐르지 않습니다. 그 사이 중간 구간이 연결을 놀고 있는 것으로 판단해 대기 시간 초과로 끊어 버리는 일이 있었습니다. 이제 게이트웨이의 스트리밍 응답에 SSE keepalive ping(연결이 살아 있음을 알리는 빈 신호)을 보내 이런 끊김을 막습니다.
-
claude remote-control --continue로 최근 세션 재개가장 최근에 쓰던 Remote Control 세션을 다시 이어 갈 수 있는
--continue옵션이 문서에 명시됐습니다. 세션을 고르지 않고 바로 직전 것을 이어 받을 때 사용합니다. -
VS Code 사이드바의 세션 그룹
세션이 늘어나면 사이드바 목록에서 원하는 것을 찾기 어려웠습니다. 이제 사이드바에서 세션을 그룹으로 묶을 수 있습니다. 오른쪽 클릭으로 그룹을 만들고 이름을 바꾸거나 지울 수 있으며, Cmd 또는 Ctrl 클릭과 Shift 클릭으로 여러 세션을 한 번에 옮길 수 있습니다.
주요 개선
-
ListAgents가 끊긴 세션과 클라우드 세션을 구분해 표시ListAgents목록에는 이미 연결이 끊긴 Remote Control 세션도 그대로 남아 있어서, 살아 있는 세션과 구분되지 않았습니다. 이제 연결이 끊긴 Remote Control 세션은offline으로 표시되고, 내 클라우드 세션에는cloud라벨이 붙습니다. -
워크플로 팬아웃에서 프롬프트 앞부분 캐시 재사용
동적 워크플로가 앞부분이 같은 형제 에이전트를 한꺼번에 띄우면, 첫 에이전트가 캐시를 만들기 전에 나머지도 함께 출발해 각자 같은 앞부분 비용을 다시 냈습니다. 이제 앞부분이 같은 형제 에이전트는 시간차를 두고 출발하므로, 뒤따르는 에이전트가 캐시된 프롬프트 앞부분을 읽습니다.
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0으로 끌 수 있습니다. -
“prompt is too long” 오류에 이유 설명 추가
이 오류는
/compact를 실행해 보라는 안내만 보여 줬습니다. 자동 압축이 이미 시도됐지만 실패한 경우에도 같은 안내가 나와서, 무엇을 해야 하는지 알기 어려웠습니다. 이제 자동 압축이 왜 복구하지 못했는지를 함께 설명합니다. -
샌드박스의 IPv6 주소 표기 처리
샌드박스 네트워크 도메인 목록에 IPv6 주소를 적을 때, 주소 안의 콜론과 포트 구분 콜론이 섞여 해석이 갈릴 수 있었습니다. 이제 IPv6 리터럴은 대괄호로 감싸 표기하고(
[::1]:443), 해석이 갈리는 표기는 통과시키지 않고 막는 쪽으로 처리하며/doctor가 해당 항목을 표시합니다. -
/login이후에도CLAUDE_CODE_OAUTH_TOKEN경고 반복CLAUDE_CODE_OAUTH_TOKEN이 설정돼 있으면 로그인 결과보다 이 토큰이 우선 적용됩니다. 로그인에 성공하면 경고가 사라져, 실제로는 방금 로그인한 계정이 쓰이지 않는데도 그 사실을 놓치기 쉬웠습니다. 이제 로그인에 성공한 뒤에도 이 경고를 다시 표시합니다. -
/commit-push-pr의 위험한 플래그 자동 승인 중단/commit-push-pr은 실행하는 git과 gh 명령을 자동 승인했습니다. 여기에는--force,--amend,--no-verify처럼 되돌리기 어려운 결과를 만드는 플래그가 붙은 명령도 포함됐습니다. 이제 이런 플래그가 포함된 명령은 자동 승인되지 않습니다. -
Windows 셀프호스티드 러너에
--base-dir필수Windows에는 러너가 저장소를 내려받을 기본 체크아웃 폴더가 정해져 있지 않습니다. 이제 Windows에서 셀프호스티드 러너를 시작할 때
--base-dir을 직접 지정해야 합니다. -
VS Code 피드백 경로와
/btw패널 크기 조절“Report a problem” 메뉴와
/bug명령은 지금은 운영하지 않는 설문 링크를 열었습니다. 이제 둘 다 내장 피드백 대화상자를 엽니다. 그리고/btw곁가지 질문 패널은 경계를 끌어 크기를 조절할 수 있게 됐습니다. 옆에 붙인 배치와 위아래로 쌓은 배치 모두에서 동작합니다.
주요 버그 수정
크래시와 화면 출력
- 긴 응답이 스트리밍 도중 일부 사라지고, 터미널에 두 번 출력되던 문제 수정.
- 도구 호출의
glob,file_path,command값이 문자열이 아닐 때 오류 화면으로 크래시하던 문제 수정. 해당 세션을--resume으로 다시 열 때도 같은 크래시가 발생했습니다. - 아주 좁은 터미널 창에서 진행 막대나 마크다운 표가 그려질 때 RangeError로 크래시하던 문제 수정.
claude --continue와claude --resume이 시작 단계에서 크래시하는 원인이 되기도 했습니다. - Windows에서 도구 호출이나 메시지가 확장 길이 경로(
\\?\로 시작하는 형식)나 UNC 경로로 파일을 가리킬 때 크래시하던 문제 수정. - IDE 확장이 연결된 상태에서 진단 메시지가 수천 건 있는 파일을 편집한 뒤 화면이 몇 초씩 멈추던 문제 수정.
모델 연결과 API
- 작성자 표시 헤더를
CLAUDE_CODE_ATTRIBUTION_HEADER로 끈 사용자에게 auto 모드가 모든 도구 호출에서 실패하던 문제 수정. Anthropic API에 직접 연결하는 경우에 해당했습니다. - 커스텀
ANTHROPIC_BASE_URL게이트웨이를 쓰는 claude.ai 구독자에게/model이 Sonnet과 Opus의 1M 컨텍스트 선택을 거부하던 문제 수정. - 엄격한 authorization server를 쓰는 MCP OAuth 인증이 실패하던 문제 수정. redirect URI에
localhost대신127.0.0.1을 사용하도록 바뀌었습니다. - SDK와
--input-format stream-json세션에서 공백만 있는 메시지를 보내면 400 API 오류가 나던 문제 수정. - 메시지만으로 API의 32MB 요청 한도를 넘는 대화가 압축 재시도를 반복하던 문제 수정. 제거할 이미지나 문서가 없어 압축으로는 줄일 수 없는 상황이었습니다. 이제 반복하지 않고 명확한 메시지와 함께 한 번에 실패합니다.
- Claude Desktop 세션의 OpenTelemetry 내보내기가 거부되던 문제 수정. Desktop이 관리하는 게이트웨이가 동시에 텔레메트리 수신 주소인 경우에 발생했습니다.
Remote Control과 GitHub 연동
- 노트북 터미널에서 슬래시 명령을 입력한 뒤 Remote Control 클라이언트에 작업 중 표시가 멈춘 채 남아 있던 문제 수정.
/install-github-app이 만들어 준 Claude Code Review 워크플로가 리뷰를 PR에 남기지 않은 채 완료되던 문제 수정.
셀프호스티드 러너와 원격 세션
managed-mcp.json이 배포돼 있고 서버가 MCP 서버를 내려주면 셀프호스티드 러너와 그 밖의 원격 세션이 시작 단계에서 종료되던 문제 수정. 이제 서버가 내려준 MCP 서버는 경고를 남기고 건너뜁니다.- 셀프호스티드 러너의 저장소 준비 단계가 Git Credential Manager 입력창에서 멈춰 있던 문제 수정. 이제 자격 증명이 없으면 git이 기다리지 않고 곧바로 실패합니다.
플러그인과 백그라운드 작업
- 일회성
claude plugin명령이 남긴 실행 표시 파일 때문에 오래된 플러그인 버전이 정리되지 않던 문제 수정. - CPU가 제한된 컨테이너 안에서 동적 워크플로가 컨테이너에 할당된 CPU 한도가 아니라 호스트 컴퓨터의 코어 수를 기준으로 동작하던 문제 수정.
- 원자적 파일 교체 뒤 파일 감시 핸들이 정리되지 않고 쌓이던 문제, 그리고 Windows에서 예약 작업 감시가 네트워크 드라이브나 가상 파일 시스템에서 실패할 때 처리되지 않은 오류가 나던 문제 수정.
알아두면 좋은 점
/commit-push-pr은 이제 위험한 플래그마다 확인을 요구 —--force,--amend,--no-verify등이 붙은 git과 gh 명령은 자동 승인되지 않습니다./commit-push-pr을 사람 개입 없이 돌리던 흐름이 있다면 확인 단계가 생깁니다.- Windows 셀프호스티드 러너는
--base-dir없이 시작되지 않음 — Windows에는 기본 체크아웃 폴더가 없으므로, 기존 러너 실행 스크립트에--base-dir지정을 추가해야 합니다. - MCP OAuth의 redirect URI가
127.0.0.1로 바뀜 — authorization server 쪽에 등록해 둔 redirect URI가localhost형식만 허용하고 있다면,127.0.0.1주소도 등록돼 있는지 확인이 필요합니다. - 32MB를 넘는 대화는 이제 반복 재시도 없이 실패 — 메시지 자체가 한도를 넘는 대화는 압축으로 줄일 수 없으므로 한 번에 실패 처리됩니다. 대화를 나누거나 새 세션에서 이어 가야 합니다.
- 워크플로 시간차 출발은 끌 수 있음 — 앞부분이 같은 형제 에이전트를 시간차 없이 동시에 띄우려면
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0으로 설정합니다. - 플러그인
command소스는 세션마다 다시 확인됨 — 경로를 출력하는 명령이 세션 시작 때마다 실행되므로, 명령이 실패하거나 느리면 세션 시작에 영향을 줄 수 있습니다.