무엇이 바뀌었나?
Claude Code 2.1.309가 2026년 10월 22일 출시됐습니다. 이번 릴리스의 중심은 샌드박스와 권한 검사입니다. 샌드박스 밖에서 실행되던 셸 시작 파일, 심볼릭 링크를 거치면 적용되지 않던 쓰기 차단 규칙, 일부 복합 명령에서 확인을 건너뛰던 Bash 권한 검사 등 보호 장치를 우회할 수 있던 경로가 여럿 막혔습니다. 함께 sed -i, claude ultrareview, bypass permissions 모드의 rm 처리, 워크트리 생성 방식이 바뀌었고, 세션과 입력, 스킬과 훅, VS Code 확장, Cloud sessions, Claude Tag, Code Review에 걸친 수정이 들어갔습니다.
주요 개선
-
Windows에서 git 명령 속도, 모든 플랫폼에서 영어 오류 메시지
Claude Code가 내부적으로 실행하는 git 명령이 Windows에서 느렸습니다. 이제 이런 명령 상당수가 더 빨라졌습니다. 또한 git이 다른 언어로 설정되어 있어도 이 명령들의 오류는 모든 플랫폼에서 영어로 표시됩니다.
-
디스크가 가득 찼을 때의 안내
디스크가 가득 차 Bash 명령이 중간에 끊기거나 임시 볼륨이 가득 찬 상태로 시작하면, 원인을 알기 어려운 ENOSPC 오류만 보였습니다. 이제 Bash 명령이 디스크 부족으로 끊겼다고 알려 주며 정리할 폴더를 함께 알려 줍니다. 임시 볼륨이 가득 찬 상태로 시작할 때도 이해하기 쉬운 메시지가 출력됩니다.
-
너무 깊이 중첩된 훅 모듈 오류
훅 모듈이 너무 깊이 중첩되어 불러올 수 없으면 stack overflow 메시지만 보여 어느 파일이 문제인지 알 수 없었습니다. 이제 오류에 해당 파일 이름이 표시됩니다.
-
/claude-api스킬 개선OpenTelemetry 추가를 요청하면 SDK 추적만 안내했는데, 이제 API 추적(tracing)도 함께 제안합니다. 또한 어떤 기능이 지원되지 않는다고 답하기 전에 최신 문서를 먼저 확인합니다. 서비스 계정 키와 Workload Identity Federation 토큰으로 OpenTelemetry 전송 대상을 관리할 수 있다는 내용도 반영됐습니다.
-
기본 제공 dataviz 스킬의 APCA 지원
dataviz 스킬은 텍스트 대비를 WCAG 2 대비율로만 판단했습니다. 이제 APCA를 텍스트 대비 기준으로 받아들이며, AA 준수가 필요한 곳에서는 WCAG 2 대비율을 유지합니다. 팔레트 검증 스크립트에
apca(text, background)함수가 추가됐고, 색이 칠해진 차트 영역 안의 라벨을 흰색으로 쓸지 검은색에 가까운 색으로 쓸지도 알려 줍니다. -
[Self-hosted runner] 다른 runner로 옮겨진 세션
세션이 새 runner로 옮겨지면 중단된 도구 호출에 대한 정보가 Claude에게 전달되지 않았습니다. 이제 중단된 도구 호출이 결과를 알 수 없음(outcome unknown)으로 표시되어 Claude가 이를 확인할 수 있습니다.
-
[VSCode] Edit, Write 속도
채팅 패널에서 편집할 때마다 새 문제(진단 결과)를 1초에서 1.5초 동안 기다렸습니다. 이제 대부분의 경우 0.75초만 기다립니다.
-
[VSCode] 인증서 검증 실패 시 로그 안내
TLS 검사 프록시(Zscaler, Netskope 등) 뒤에서 음성 받아쓰기나 확장 자체 요청이 인증서 검증에 실패하면 무엇을 해야 할지 알기 어려웠습니다. 이제 로그에 해결 방법을 알려 주는 경고가 기록됩니다.
-
[Cloud sessions] Changes 창 안내
클라우드 세션의 Changes 창이 무엇을 기준으로 변경 목록을 보여 주는지 알 수 없었습니다. 이제 푸시된 커밋만 보여 주는지, Claude의 편집만 보여 주는지 표시합니다.
동작이 바뀐 항목
-
sed -i실행 방식 (변경)sed -i는 실제 명령 대신 파일 편집 미리보기로 흉내 내어 처리됐습니다. 이제 일반 Bash 명령처럼 표준 Bash 확인 창을 거쳐 작성된 그대로 실행됩니다. 다른 Bash 편집과 마찬가지로/rewind로 되돌릴 수 없습니다. -
claude ultrareview작업 공간 신뢰 확인 (변경)claude ultrareview가 작업 공간 신뢰를 요구합니다. 터미널에서는 확인을 묻고, 그렇지 않으면 실행을 거부합니다. 스크립트에서는 값을 받지 않는--trust-workspace플래그를 넘기거나(PR 번호나 base 브랜치는 이 플래그보다 앞에 둡니다)CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1을 설정해야 합니다. -
bypass permissions 모드의 위험한
rm,rmdir(변경)데스크톱 앱과 VS Code의 bypass permissions 모드에서 위험한
rm,rmdir명령은 확인 창을 띄워 무인 세션을 멈춰 세웠습니다. 이제 명령을 즉시 거부하고 다시 작성하라는 힌트를 주어, 무인 세션이 계속 진행됩니다. -
샌드박스에서 제외된 명령의 쓰기 (변경)
샌드박스가 켜져 있지만 실행될 수 없는 상황에서, 설정으로 샌드박스에서 제외한 명령은 샌드박스 쓰기 허용 목록 경로에 쓰기 전에 확인을 묻습니다. 이 상황에서는 샌드박스 없이 실행하는 대체 동작이 거부됩니다.
-
워크트리 생성 시 git 객체 가져오기 (변경)
워크트리를 만들거나 재사용할 때 git이 필요한 객체를 그때그때 가져오지 않습니다. 일반 클론과 Bash 샌드박스가 설정된 partial clone(일부 객체만 받아 둔 클론) 모두에 적용되며, 이런 partial clone은 객체를 먼저 가져옵니다.
-
/claude-api스킬의 Managed Agents 서브에이전트 팀 (변경)/claude-api스킬이 Managed Agents 서브에이전트 팀을coordinator대신multiagent_20261001기반으로 만들며, dynamic workflows가 기본으로 켜집니다.
주요 버그 수정
샌드박스와 권한 검사
- macOS, Linux에서 샌드박스 Bash 명령을 실행할 때마다 셸 시작 파일이 샌드박스 밖에서 먼저 실행되던 문제 수정.
- macOS 샌드박스의
denyWriteglob 패턴이 심볼릭 링크를 거쳐 접근하는 폴더에서는 실제 위치에 적용되지 않던 문제 수정. - 샌드박스 명령과 자동 승인된 편집이
--mcp-config로 넘긴 MCP 설정 파일을 수정할 수 있던 문제 수정. - print 모드와 SDK 세션에서 비활성화한 MCP 서버가 이후 권한 확인 과정에서 다시 연결되던 문제 수정.
- 리다이렉트 대상 파일을 열지 못할 수 있는 명령이 설정한 변수를 Bash 권한 검사가 신뢰하던 문제 수정.
- git 실행 전 디렉터리를 바꾸는 일부 복합 명령에서
cd가 다른 명령에 감싸이거나 앞에 무언가 붙으면 Bash 권한 검사가 확인을 묻지 않던 문제 수정. 이제 일반cd와 같이 확인을 묻습니다. - 서브셸이 함께 있는 일부 명령에서
Edit(path)거부 규칙이 해당 경로로의 Bash 리다이렉트를 막지 못하던 문제 수정. - 워크트리 격리 세션이 격리 검사에서 거부해야 할 일부 로캘 접두 명령과, zsh의 일부 산술 명령을 받아들이던 문제 수정.
- 설정 디렉터리에 심볼릭 링크로 접근하면 프로필 저장소 쓰기 보호가 적용되지 않던 문제 수정.
- 분할 창(split-pane) 에이전트 팀원이 리더의 명령줄에 지정한 도구 거부 규칙과
--tools규칙을 물려받지 않던 문제 수정. - Linux에서 백그라운드 명령이 세션보다 오래 실행되면 샌드박스 쓰기 차단이 풀리던 문제 수정.
- Windows에서 현재 디렉터리를 대상으로 추가 인자가 붙은 일부
Set-Location,cd명령을 PowerShell 권한 검사가 자동 승인하던 문제 수정. 이제 승인을 묻습니다.
워크트리와 git
- Claude Code가 만드는 워크트리와 브랜치 checkout이 git replace ref를 따르던 문제 수정. 다른 git 작업처럼 이를 무시합니다.
세션, 입력, 대화 기록
- 아주 큰 중첩 CLAUDE.md 아래의 파일을 읽은 뒤 세션이 압축을 반복하던 문제 수정. 크기 제한을 넘는 중첩 CLAUDE.md는 앞부분만 불러옵니다.
- ctrl+enter(즉시 전송)가 응답 시작 전에 누를 때만 메시지를 대기열에 넣고, 프롬프트 훅 실행 중에 누르면 메시지를 대기열에 둔 채 훅을 다시 시작하던 문제 수정.
!모드에서 키에 연결된 슬래시 명령이 셸 명령으로 실행되던 문제 수정.- ctrl+o에서 아직 전달 대기 중인 다른 에이전트와 세션의 메시지가 보이지 않던 문제 수정. 이제 대화 기록 아래에 대기 중 표시와 함께 전체가 나타납니다.
- 긴 도구 출력 미리보기가 이모지 중간에서 잘려
jq로 읽을 수 없는 세션 대화 기록이 남던 문제 수정. /rename으로 이름을 바꾼 세션이 VS Code 창을 다시 불러오거나 비대화형--resume후 다른 세션에 자동 생성된 이름으로 보이던 문제 수정./code-review --fix, 서브에이전트, 셸 명령으로 체크포인트 대상 파일을 바꾼 턴이/rewind목록에 “No code changes”로 표시되던 문제 수정./privacy-settings가 오래된 “Help improve our AI models” 값을 보여 주던 문제 수정. 설정을 가져오지 못하면 그렇다고 알려 줍니다.- 조직이 피드백을 받지 않을 때 “try again later”로 안내하던 문제 수정. 서버가 보낸 이유와 버그 신고 위치를 보여 줍니다.
- 너무 큰 /feedback 보고서가 대화 기록 없이 다시 전송되지 않고 실패하던 문제 수정.
- Linux 샌드박스가 상위 프로세스의
/proc를 공유할 때 Read가 PDF 페이지 범위에 대해 “File does not exist”를 보고하던 문제 수정.
스킬, 훅, mod
--add-dir폴더의 스킬이 다른 스킬과 이름이 같으면 호출할 수 없던 문제 수정. 이제<folder>:<name>형태로 제공됩니다.- 셸에서 파일을 바꾼 경우
/verify와/code-review가 중첩 패키지 자체의 스킬을 찾지 못하던 문제 수정. /claude-api스킬의 잘못된 안내 세 가지 수정.ant beta:worker poll --on-work가 추적 컨텍스트를 명령에 넘긴다는 설명, C# 추적 설정에서 클라우드 플랫폼 클라이언트 span이 빠진 문제, Claude Platform on AWS 요청의 API span이 호출자의 추적에 합류할 수 없다는 설명이 바로잡혔습니다.- PowerShell로 실행되는 훅이 종료 코드 2로 끝나도 차단하지 않던 문제 수정. Windows에서
"shell": "powershell"을 쓴PreToolUse,PermissionRequest훅이 Git for Windows가 없을 때 차단 없이 통과되던(fail open) 문제도 함께 수정됐습니다. - mod의
turn.step훅이haiku같은 별칭으로 모델을 지정하면 모든 요청이 모델 오류로 실패하던 문제 수정. 별칭이 실제 모델로 해석됩니다.
플러그인과 아티팩트
- claude.ai에서 동기화한 플러그인과 스킬이 디스크 읽기 오류 후 삭제되던(때로는 세션 도중) 문제 수정.
- 일부 압축된(minified) 스크립트가 있는 페이지나 Claude가 먼저 읽지 못한 아티팩트 등 평범한 페이지의 게시와 업데이트가 거부되던 문제 수정.
- 한 턴 안에서 대화가 압축된 뒤 그 턴이 끝날 때까지 아티팩트를 업데이트할 때마다 권한을 묻던 문제 수정.
게이트웨이와 연결
ANTHROPIC_BEDROCK_BASE_URL을 기본bedrock-runtime.<region>.amazonaws.com엔드포인트로 설정하면 Amazon Bedrock에서 fine-grained tool streaming이 꺼진 채로 남던 문제 수정.- keepalive 핑만 보내는 게이트웨이 뒤에서 “Waiting for API response” 안내가 깜박이던 문제 수정. Anthropic 백엔드가 아닌 경로는 45초를 기다립니다.
- Claude Desktop에서 호스팅되는 세션의 연결이 갱신될 때 메시지가 사라지던 문제 수정.
- 같은 컴퓨터의 터미널이 다른 계정이나 조직으로 로그인되어 있으면 Claude 데스크톱 앱의 Claude Code 세션에서 일부 기능이 빠지던 문제 수정.
- git 저장소가 아닌 폴더에서
claude remote-control상태 줄의 브랜치가HEAD로 표시되던 문제 수정. - PR, 이슈, 댓글에 역할 이름이나 자리 표시자를 멘션 형태로 적어 관련 없는 GitHub 사용자에게 알림이 가던 문제 수정.
플랫폼별, Self-hosted runner
- macOS에 Xcode나 Command Line Tools가 없으면 Claude Code를 시작할 때마다 “Install Command Line Developer Tools” 창이 뜨던 문제 수정.
- [Self-hosted runner] 첫 프롬프트(예:
/code-review)가 서브에이전트에서 아직 작업 중인데--startup-timeout-min이 세션을 멈추던 문제 수정. 응답이 없는(frozen) 프로세스는 여전히 중단됩니다.
VS Code 확장
- 편집기가 불완전한 파일 사본을 캐시한 뒤 Claude 패널이 빈 채로 남던 문제 수정. 스스로 복구하거나, 무엇이 잘못됐고 어떻게 고칠지 알려 줍니다.
- 메시지를 보내지 않고 새 세션을 시작할 때마다 Session history에 빈 “Untitled” 세션이 쌓이던 문제 수정.
/goal같은 긴 슬래시 명령 메시지가 채팅 패널을 가득 채우던 문제, 패널을 좁힌 뒤 긴 메시지가 Show more로 접히지 않던 문제 수정.~/.claude/keybindings.json의 Chat 컨텍스트에서 “ctrl+j”를 null로 설정해도 Ctrl+J가 항상 줄바꿈을 넣던 문제 수정. 이제 VS Code와 OS에 맡겨집니다.- mod의 “From the … plugin” 라벨이 슬래시 명령과 @-멘션 메뉴 위에 겹쳐 그려지던 문제 수정.
- 복사한 LaTeX 수식을 붙여 넣으면 빈 목록 항목, 문단, 코드 블록이 생기거나 목록 번호가 1부터 다시 매겨지던 문제 수정.
- 조직이 피드백을 받지 않을 때 피드백 오류가 HTTP 상태만 보여 주던 문제 수정.
Cloud sessions
- 루틴 양식의 Add connector 목록이 불러오는 중에도 사용 가능한 커넥터가 없다고 표시하던 문제 수정.
- 클라우드 환경 편집기가 환경 변수 순서를 뒤섞고, 두 종류의 따옴표가 모두 들어간 값에 백슬래시를 추가하던 문제 수정.
- 관리자 설정의 self-hosted 환경 상세 대화 상자에서 제목, 탭, 버튼이 함께 스크롤되던 문제 수정. 이제 내용만 스크롤됩니다.
- 클라우드 세션의 “read documentation” 도구 줄이 읽을 수 있는 페이지 대신 이스케이프된 JSON을 보여 주던 문제 수정.
Claude Tag (Slack)
- 채널용으로 승인한 초안을 Claude가 DM에 잘못 게시하던 문제 수정. 채널이 지정되지 않은 게시는 거부되어 승인된 채널로 갈 수 있게 합니다.
- 세션이 멈춘 상태에서 승인 카드의 Allow, Deny를 눌러도 아무 일도 일어나지 않던 문제 수정. 이제 응답하면 세션이 다시 시작됩니다.
- 워크스페이스가 다른 Claude 조직으로 옮겨진 뒤 채널의 태그 없는 메시지를 무시하던 문제 수정. Enterprise Grid의 공유되지 않은 채널도 포함됩니다.
- 스레드에 방금 추가된 새 메시지를 읽기 전에 답글을 게시하던 문제 수정.
- 관리자 설정의 Slack 페이지가 목록을 불러오지 못했을 때 연결된 워크스페이스가 없다고 표시하던 문제 수정. 이제 오류와 Retry 버튼을 보여 줍니다.
Code Review
- 앞선 체크 생성 시도가 실패하면 완료된 리뷰가 pull request에 체크를 남기지 않던 문제 수정. 마지막 시도로 완료된 체크를 추가합니다.
@claude review stop후에도 실행 중인 리뷰 뒤에 대기하던 푸시가 리뷰를 시작하던 문제 수정. 해당 체크는 이유와 함께 닫힙니다.
알아두면 좋은 점
- 스크립트에서
claude ultrareview를 실행한다면 업데이트 후 작업 공간 신뢰 확인 때문에 실행이 거부됩니다.--trust-workspace를 PR 번호나 base 브랜치 뒤에 붙이거나CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1을 설정하세요. sed -i로 고친 내용을/rewind로 되돌려 왔다면 이제 되돌릴 수 없습니다.sed -i는 다른 Bash 편집처럼 일반 확인 창을 거쳐 그대로 실행됩니다.- 데스크톱 앱이나 VS Code에서 bypass permissions 모드로 무인 세션을 돌린다면 위험한
rm,rmdir은 확인을 기다리지 않고 바로 거부되며, Claude가 명령을 다시 작성해 작업을 이어 갑니다. - 설정으로 샌드박스에서 제외한 명령이 있다면 샌드박스가 켜져 있지만 실행될 수 없는 환경에서는 쓰기 허용 목록 경로에 쓰기 전에 확인을 묻습니다.
- Bash 샌드박스를 설정한 partial clone에서 워크트리를 쓴다면 워크트리를 만들거나 재사용할 때 필요한 git 객체를 그때그때 가져오지 않고 먼저 가져옵니다.
- 아주 큰 중첩 CLAUDE.md를 쓰고 있다면 크기 제한을 넘는 부분은 불러오지 않습니다. 중요한 지시는 파일 앞부분에 두세요.