무엇이 바뀌었나?
Claude Code 2.1.260이 2026년 9월 3일 출시됐습니다. 새 기능은 “지금 무슨 일이 일어나는지 보이게 하는 것”에 몰려 있습니다. 편집 중인 변경을 대화 옆에서 바로 보는 /diff 패널, 프롬프트 캐시가 왜 빗나갔는지 짚어주는 /cost 표시, 화면이 없는 환경에서도 쓸 수 있게 된 /advisor와 /reload-plugins가 그렇습니다. 나머지 대부분은 수정입니다. 특히 파일 권한 규칙 처리에서 읽기 전용으로 지정한 폴더가 실제로는 쓰기 가능했던 문제가 정리됐고, 2.1.259에서 넓힌 Bash 인자 검사는 정상적인 빌드 명령까지 막아 되돌려졌습니다.
새 기능
-
/diff패널Claude가 파일을 고치는 동안 무엇이 바뀌었는지 보려면 대화를 멈추고 따로 확인해야 했습니다. 이제 전체 화면 모드에서 대화 옆에 열리는 패널이 커밋하지 않은 변경을 편집 진행에 맞춰 보여줍니다.
/diff로 켜고 끕니다. -
프롬프트 캐시 미스의 추정 원인 표시
2.1.251에서
/cost와 상태 표시줄의prompt_cache필드가 적중률, 미스, 다시 캐시된 토큰 수, warm/cold를 보여주게 됐지만, 왜 빗나갔는지는 알 수 없었습니다. 이제 도구 정의나 시스템 프롬프트가 바뀌었다, 캐시 유지 시간(TTL)을 넘겨 쉬었다 같은 추정 원인이 함께 표시됩니다. -
헤드리스 세션의
/reload-plugins플러그인을 다시 읽어들이는 이 명령은 터미널 세션에만 있어서, Claude Code Desktop이나 SDK로 실행하는 세션에서는 명령 목록에 나오지 않았습니다. 이제 헤드리스 세션에도 추가되어 두 환경의 명령 목록에 표시됩니다.
-
텍스트 형태의
/advisor/advisor는 화면에서 고르는 방식이라 화면이 없는 환경에서는 쓸 수 없었습니다. 이제/advisor,/advisor <model>,/advisor off를 문자열로 입력하는 방식이 생겨 데스크톱 앱, Remote Control,-p및 Agent SDK 같은 헤드리스 세션에서도 사용할 수 있습니다. -
Claude apps gateway의
oidc.scope_on_refresh일부 IdP는 토큰 갱신 요청에
openid범위를 다시 명시해야만 id_token을 돌려줍니다. 이제oidc.scope_on_refresh로 갱신 시 보낼 범위를 지정할 수 있습니다. -
Claude apps gateway의 새 Claude Desktop 설정 키 지원
desktop정책 블록이 최신 Claude Desktop의 설정 키를 알지 못했습니다. 이제userPluginMarketplacesEnabled,userPluginUploadsEnabled를 포함한 새 키를 정책으로 내려보낼 수 있습니다. -
[VSCode] 푸터 모델 표시의 effort level, 세션 목록의 Open과 Closed 필터
푸터의 모델 표시에는 선택한 effort level이 나오지 않았고, 세션 목록 상태 필터에는 열린 세션과 닫힌 세션을 가르는 항목이 없었습니다. 이제 모델 표시에 effort level이 함께 나오고(모델을 바꾼 뒤 이전 값이 남던 문제도 수정), 상태 필터 메뉴에 Open과 Closed가 추가됐습니다. 푸터 표시 크기는 이전의 작은 형태로 되돌아갔습니다.
주요 개선
-
전체 화면에서
ctrl+l,cmd+k가 화면을 비움전체 화면 모드에서 이 키는 터미널의
clear처럼 동작하지 않았습니다. 이제 대화 화면을 비우며, 이전 메시지는 위로 스크롤해 다시 볼 수 있습니다. -
!bash 모드 명령이 샌드박스 밖에서 실행엄격 샌드박스 모드(
sandbox.allowUnsandboxedCommands: false)에서는 사용자가!프롬프트에 직접 입력한 명령도 샌드박스 안에서 실행됐습니다. 이제 이 명령들은 사용자가 자기 터미널에 입력한 것처럼 샌드박스 밖에서 실행됩니다. -
닫는 괄호 뒤에 글자가 붙은 권한 규칙을 오류로 보고
Bash(ls) x처럼 닫는 괄호 뒤에 글자가 붙은 규칙은 아무것도 일치시키지 못하면서 조용히 무시됐습니다. 이제 잘못된 설정으로 보고되어 규칙이 동작하지 않는다는 사실을 바로 알 수 있습니다. -
경로에 괄호가 든 Windows 규칙의 설정 오류 안내
Edit(C:\dir\(name)\**)같은 규칙에서\(는 경로 구분자가 아니라 괄호를 그대로 쓰겠다는 표시로 해석됩니다. 이제 오류 메시지가 이 차이를 설명하고 헷갈리지 않는 표기를 제안합니다. -
관리형 CLAUDE.md가 보안 승인 대화상자를 띄우지 않음
서버에서 내려준 CLAUDE.md(
claudeMd)만 바뀌어도 보안 승인 대화상자가 떠서 배포 때마다 사용자 확인이 필요했습니다. 이제 이 항목은 승인 대상에서 빠집니다. 훅, 셸 명령, 샌드박스, 안전하지 않은env설정은 그대로 승인이 필요합니다. -
Claude in Chrome이 조직 관리자 설정을 따름
조직이 Claude in Chrome을 끄더라도 클라이언트에서는 그대로 쓸 수 있었습니다. 이제 관리자 설정을 따르며, 관리자가 끄면
--chrome,/chrome과 브라우저 도구를 사용할 수 없습니다. -
1M 컨텍스트 모델의 자동 압축
컨텍스트 창이 100만 토큰인 모델에서는 압축 시점이 한도에 맞춰지지 않았고, 컨텍스트가 아주 클 때 복구용 압축이 10분 제한에 걸려 실패했습니다. 이제 Opus와 Fable 세션은 100만 토큰 한도 직전에 압축하고, 큰 컨텍스트의 복구 압축도 시간 초과로 끝나지 않습니다.
-
Fable 5.1에서
/effort변경 시 프롬프트 캐시 유지세션 도중 effort를 바꾸면 프롬프트 캐시가 무효화돼 다음 요청이 비싸졌습니다. 이제 Claude Fable 5.1에서는 캐시가 그대로 유지됩니다.
-
/ultrareview대기 시간 45분클라우드 검토가 오래 걸리면 30분에서 대기가 끝나 결과를 받지 못했습니다. 이제
/ultrareview와claude ultrareview가 최대 45분까지 기다립니다. -
Workflow
agent({schema})의 구조화 출력 검증절대 만족시킬 수 없는 JSON Schema를 넘겨도 실행이 시작된 뒤 재시도 한도까지 소모한 다음에야 실패했습니다. 이제 그런 스키마는 시작 전에 거부되고, 재시도 한도 초과 오류에는 마지막 검증 실패 내용이 함께 표시됩니다.
-
미푸시 커밋이 있는 백그라운드 세션 삭제 안내
작업 트리에 푸시하지 않은 커밋이 남은 세션을 지우면 무엇을 잃게 되는지 알기 어려웠습니다. 이제 안내에 브랜치 이름과 커밋 수가 나오고, 한 번 더 삭제하면 작업 트리를 버립니다.
-
서브에이전트가 띄운 백그라운드 명령의 1시간 제한 제거
서브에이전트가 시작한 백그라운드 명령은 한 시간이 지나면 끊겼습니다. 이제 메인 세션과 같이 명령이 끝나거나 중지될 때까지 실행됩니다.
-
자체 호스팅 러너의
--kill-session-after-min사용자 입력을 기다리며 멈춰 있던 세션도 시간이 지나면 종료되고 실패로 보고됐습니다. 이제 이런 세션은 종료하지 않고 일시 중지 상태로 놓아, 다음 메시지가 오면 이어서 진행합니다.
-
Bedrock에서 중단된 요청의 입력 토큰 집계
요청이 중단되면 입력 토큰을 세기 위해 토큰 하나짜리 요청을 따로 보냈습니다. 이제 Claude apps gateway가 AWS의 무료 CountTokens API를 사용합니다. 이 방식을 쓰려면
bedrock:CountTokens권한을 부여해야 합니다. -
Claude apps gateway의
orgPluginSettings전송 형식Claude Desktop 1.15200.0 이상이 읽는 목록 형식으로
orgPluginSettings를 보냅니다. 그 이전 버전의 데스크톱 앱은 이 값을 무시합니다. -
Claude apps gateway의 중첩 필드 오타 검사
desktop정책의managedMcpServers나orgPluginSettings항목 안쪽 객체에서 필드 이름을 잘못 적으면 그대로 실행됐습니다. 이제 게이트웨이가 시작을 거부하며 어느 필드가 문제인지 알려줍니다. -
Claude apps gateway의 갱신 실패 로그
토큰 갱신이 실패해도 어느 단계에서 막혔는지 로그만으로는 알기 어려웠습니다. 이제 실패한 단계 이름이 로그에 나옵니다.
-
비대화형 세션의 유휴 CPU 사용량
-p와 SDK로 띄운 세션은 대기 중에도 필요 이상으로 CPU를 썼습니다. 이제 유휴 상태의 CPU 사용량이 줄었습니다. -
번들
claude-api스킬의 모델 ID 갱신내장된 이 스킬의 Go, Java, C# 예제가 이전 세대 모델 ID를 사용하고 있었습니다. 이제 현행 세대 모델 ID를 쓰며, 비용이 낮은 작업용 모델이나 서브에이전트 모델도 현행 세대를 골라야 한다는 설명이 추가됐습니다.
-
2.1.259의 Bash 인자
Read()거부 규칙 적용을 되돌림2.1.259는 Bash 명령의 인자에도
Read()거부 규칙을 적용했는데, 이 때문에Read(./**/build/**)규칙이 있으면 모든 모드에서npm run build가 거부되고cd … && grep형태의 명령이 auto mode에서도 확인을 물었습니다. 이 변경은 되돌려졌습니다.
주요 버그 수정
권한 규칙과 샌드박스
- 경로에 괄호가 들어간
Edit,Write,Read권한 규칙이 잘못된 규칙으로 버려지거나 Bash 샌드박스에서 무시되던 문제 수정. 읽기 전용으로 지정한 폴더가 실제로는 쓰기 가능한 상태로 남아 있었습니다. - 파일 권한 규칙 하나에 컴파일할 수 없는 패턴(예: 닫히지 않은
[)이 들어가면 모든 파일 편집이Invalid regular expression오류로 실패하던 문제 수정. 이제 그런 거부 규칙은 적혀 있는 경로 문자열 자체를 보호합니다. - zsh 명령이 REPORTTIME, REPORTMEMORY, DIRSTACKSIZE 할당 안에 명령 치환을 숨겨 두면 Bash 권한 검사가 자동으로 승인하던 문제 수정. 이제 확인을 묻습니다.
- macOS에서
permissions.blockReadsOutsideWorkingDirectories가 샌드박스 안의 git에서 사용자 git 설정을 가리고, 작업 트리로 격리된 서브에이전트가 자기 체크아웃도 보지 못하게 하던 문제 수정. - 번들 스킬의 별칭으로 지정한 관리형
skillOverrides항목(예:/doctor의checkup)이 적용되지 않고,Skill(name)거부 규칙이<dir>:name형태로 표시되는 중첩 스킬을 포함하지 못하던 문제 수정. - Glob과 Grep이 권한 검사보다 먼저 검색 경로를 디스크에서 확인하던 문제 수정. 이제 Read와 마찬가지로 권한이 결정된 뒤에 경로 없음을 알립니다.
기업 환경과 자격 증명
- 회사 루트 인증서가 OS 인증서 저장소에만 있을 때 Bedrock 모델 조회, 토큰 계산, AWS SSO 및 STS 자격 증명 호출이 “unable to get local issuer certificate” 오류로 실패하던 문제 수정.
- 이전에
/login으로 등록한 API 키가 남아 있는 claude.ai Enterprise, Team 사용자에게 관리형 설정이 적용되지 않던 문제 수정. /status가 로그인한 claude.ai 계정과 설정된 API 키를 둘 다 적용 중인 것처럼 나열하던 문제 수정. 이제 실제로 사용하지 않는 자격 증명에 표시가 붙습니다.
모델 선택과 프롬프트 캐시
model: fable에이전트가ANTHROPIC_DEFAULT_FABLE_MODEL고정값에 붙은[1m]표시를 무시하고 20만 토큰 컨텍스트로 조용히 실행되던 문제 수정.- 사용 권한이 있는 조직에서도
/model선택 화면에 Fable 5.1이 나오지 않아/model claude-fable-5-1로 직접 입력해야만 지정되던 문제 수정. - Claude Fable 5.1에서 도구 결과 뒤에 붙는 컨텍스트가 프롬프트 캐시에 포함되지 않아 도구를 부르는 턴마다 캐시되지 않은 입력으로 다시 전송되던 문제 수정.
- 플러그인 훅을 읽지 못하면 그 세션 내내 모델 전환이 막혀 있던 문제 수정. 이제 전환할 때마다 다시 확인하고, 거부되면 이유를 알려줍니다.
- 조직이 관리하는 플러그인의 마켓플레이스를 읽지 못하면 그 세션의 모델 전환이 막히던 문제 수정.
- Remote Control이 실제 모델 이름이 아닌 값을 모델 선택으로 받아들이던 문제 수정. 이제 다음 메시지에서 실패하는 대신 그 자리에서 오류로 거부합니다.
세션 재개와 되감기
- 체크포인트 백업 파일이 없어 아무것도 복원하지 못했는데도
/rewind와--rewind-files가 성공으로 보고하던 문제 수정. /rewind가 되돌려 없앤 턴의 파일 읽기 기록을 그대로 남기던 문제 수정. 이 기록 때문에 외부에서 파일을 고치면 “File unchanged since last read” 안내만 나오거나 파일 전체가 다시 들어갔습니다.- 세션의 작업 트리 디렉터리가 git 메타데이터를 잃으면 데스크톱 앱이 쓰는
-p --resume과--continue가 재시도할 때마다 실패하던 문제 수정. 이제 한 번 실패한 뒤에는 작업 트리 없이 대화를 이어갑니다.
에이전트와 워크플로
- SendMessage로 다른 에이전트를 재개한 서브에이전트가 그 에이전트의 완료 알림을 받지 못하던 문제 수정. 알림이 메인 대화로 가고 있었습니다.
- API 재시도 대기가 길어질 때(예:
CLAUDE_CODE_RETRY_WATCHDOG사용) 같은 프로세스에서 도는 팀 구성원의 대화 기록에서 메시지가 사라지거나 화면이 비던 문제 수정. 재시도 안내가 실제 메시지를 밀어내고 있었습니다. - 백그라운드로 넘어간 세션이 ListAgents에 두 번 나타나고(같은 이름의 대화형 항목이 하나 더 생김) 그 항목이 SendMessage를 받던 문제 수정.
- 여러 세션이 한 프로젝트 디렉터리를 공유할 때 “task output swap refused” 오류가 간헐적으로 나던 문제 수정.
- 긴 컨텍스트 압축이 진행 중인데도 Workflow 도구의 서브에이전트가 멈춘 것으로 판단돼 다시 시작되던 문제 수정.
MCP와 커넥터
- SDK가 제공하는 MCP 서버(예: 데스크톱 커넥터)가 첫 턴에는 빠져 있다가 다음 턴에야 나타나던 문제 수정.
- 클라우드에서 실행되는 claude.ai 세션에서 커넥터를 추가하거나 제거하면 Claude in Chrome 도구가 작업 도중 “Not connected” 오류로 실패하던 문제 수정.
- 호스트 앱(예: Claude Desktop)이 URL 마켓플레이스를 디렉터리로 저장하면 그 마켓플레이스의 플러그인 설치가 “marketplace entry path does not stay inside the marketplace directory” 오류로 실패하던 문제 수정.
아티팩트와 IDE 연동
- claude.ai, 데스크톱 앱, 모바일(Remote Control)에서 조작하는 세션이 아티팩트를 게시할 때 브라우저 탭이 하나 더 열리던 문제 수정.
- 일부 Cowork 세션에서 Artifact 도구의 첫 호출이 “Invalid tool parameters” 검증 오류로 실패하던 문제 수정.
- 스킬이나 슬래시 명령을 실행하면 IDE에서 선택한 줄 정보가 사라지던 문제 수정. 이제 “N lines selected” 맥락이 Claude에게 전달됩니다.
터미널과 화면
- 국기, 결합 이모지, 악센트가 붙은 글자가 줄바꿈 지점에서 쪼개지고, 터미널의 마지막 두 칸에 국기나 결합 이모지가 걸리면 이전 글자가 화면에 남던 문제 수정. 마지막 두 칸에 걸리는 경우는
…로 표시됩니다. - 전체 화면 모드에서 Ctrl+Z를 누르면 셸이 대체 화면에 남아 일시 중지된 화면 위에 겹쳐 그려지던 문제 수정.
GitLab 저장소
- 하위 그룹이 중첩된 GitLab 프로젝트(예:
gitlab.com/group/subgroup/project)의 저장소 인식이 되지 않던 문제 수정. - GitLab 저장소에서 작업할 때
owner/repo#123형태의 이슈 참조가 github.com으로 연결되던 문제 수정. 이제 gitlab.com 이슈로 연결됩니다.
[VSCode]
- 새 세션에서 Remote Control이 자동으로 켜지면 시작 화면이 사라지던 문제 수정.
- 세션 기록 선택 화면에서 이미 다른 탭에 열려 있는 세션을 고르면 한 번 더 불러오던 문제 수정. 이제 해당 탭으로 이동합니다.
- 세션 탭의 화면이 다시 로드되는 동안 Rename 명령이 아무 반응 없이 무시되던 문제 수정.
- 끊긴 응답을 다시 시도한 뒤 완성되지 않은 메시지, 빈 도구 카드, 남는 “Thought for” 줄이 화면에 그대로 있던 문제 수정.
- “Enable Remote Control for all sessions”를 켤 때 아직 시작 중이던 세션 탭에는 적용되지 않던 문제 수정.
알아두면 좋은 점
- 2.1.259의 Bash 인자
Read()거부 규칙 적용이 되돌려졌습니다 — 2.1.259에서 Bash 명령의 인자에도Read()거부 규칙이 적용됐지만,Read(./**/build/**)같은 규칙이 있으면 모든 모드에서npm run build가 거부되는 부작용이 있어 원래 동작으로 돌아갔습니다. 이 방식으로 파일 읽기를 막고 있었다면 업그레이드 후에는 적용되지 않습니다. - 엄격 샌드박스 모드에서도
!명령은 샌드박스 밖에서 실행됩니다 —sandbox.allowUnsandboxedCommands: false를 켜 두었더라도 사용자가!프롬프트에 직접 입력한 명령에는 샌드박스가 적용되지 않습니다. - 닫는 괄호 뒤에 글자가 붙은 권한 규칙은 설정 오류가 됩니다 —
Bash(ls) x같은 규칙을 쓰고 있었다면 업그레이드 후 오류로 표시됩니다. 원래 아무것도 일치시키지 못하던 규칙이므로 표기를 고쳐야 합니다. - Bedrock 토큰 집계에는
bedrock:CountTokens권한이 필요합니다 — Claude apps gateway가 중단된 요청의 입력 토큰을 AWS CountTokens API로 세므로, 이 권한이 없으면 집계가 되지 않습니다. - 전체 화면에서
ctrl+l,cmd+k는 화면을 비웁니다 — 대화 자체가 지워지는 것은 아니며, 이전 메시지는 위로 스크롤하면 다시 볼 수 있습니다. - Claude in Chrome은 조직 관리자 설정을 따릅니다 — 관리자가 끄면
--chrome,/chrome과 브라우저 도구를 쓸 수 없습니다. orgPluginSettings목록 형식은 Claude Desktop 1.15200.0 이상에서 읽힙니다 — 그 이전 버전의 데스크톱 앱은 이 설정을 무시합니다.