무엇이 바뀌었나?
Claude Code 2.1.214가 2026년 7월 18일 출시됐습니다. 권한 검사(permission check) 보안 강화가 이번 릴리스의 중심입니다. Edit(src/**) 같은 단일 세그먼트 규칙의 과도한 자동 승인, Windows PowerShell 5.1 권한 우회, 파일 디스크립터 리다이렉트와 1만 자를 넘는 명령을 오판하던 Bash 권한 검사가 모두 안전한 쪽(fail-closed)으로 정리됐습니다. 남용, 탈옥 시도 사용자와의 세션을 종료하는 EndConversation 도구와 오래 걸리는 도구 호출의 진행 하트비트가 새로 추가되고, 백그라운드 데몬과 세션 수명 주기, Windows PowerShell 도구 안정성, 스트리밍, 프록시 관련 수정이 대거 포함됐습니다.
새 기능
-
EndConversation 도구 추가
Claude가 대화를 스스로 끝낼 수단이 없어, 심하게 남용하거나 탈옥(jailbreak)을 시도하는 사용자와의 세션도 계속 이어졌습니다. 이제 Claude가 그런 세션을 EndConversation 도구로 종료할 수 있습니다. claude.ai에서는 2025년부터 제공되던 안전장치입니다.
-
오래 걸리는 도구 호출의 진행 하트비트
오래 실행되는 도구 호출은 완료될 때까지 아무 출력이 없어 멈춘 것처럼 보였습니다. 이제 주기적으로 진행 하트비트를 표시해 작업이 진행 중임을 알 수 있습니다.
-
subagentStatusLine에 reasoning effort 추가커스텀 에이전트 행이 모델은 표시해도 reasoning effort는 알 수 없었습니다. 이제
subagentStatusLine페이로드에 reasoning effort가 포함되어, 커스텀 상태줄에서 모델과 effort를 함께 렌더링할 수 있습니다. -
메모리 파일 frontmatter에
modified타임스탬프메모리 파일이 언제 수정됐는지 frontmatter에 기록되지 않았습니다. 이제 ISO 형식의
modified타임스탬프가 추가됩니다. -
OpenTelemetry 상관관계, 출처 추적 속성 추가
로그 이벤트를 메시지 단위로 연결하거나 도구 출처를 추적할 수단이 없었습니다. 이제
message.uuid,client_request_id,tool_source속성이 추가되고, OTel 콘텐츠 속성의 60KB 절단 한도를CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH로 조정할 수 있습니다.
주요 개선
-
dir/**hookif:조건을<cwd>/dir로만 매칭단일 세그먼트
dir/**hookif:조건이 트리 어디에 있든dir/에 매칭됐습니다. 이제<cwd>/dir에만 매칭되며, 임의 깊이 매칭이 필요하면**/dir/**로 작성합니다.deny,ask권한 규칙은 기존의 임의 깊이 매칭을 유지합니다. -
file명령의-m/--magic-file,-f/--files-from권한 요구이 옵션들이 읽기 전용으로 간주되어 자동 허용됐습니다. 이제 권한을 요구합니다.
-
stale 연결 후 keep-alive 연결 풀 비활성화
stale-connection 오류가 나도 연결 풀을 재사용해, 재시도가 같은 끊긴 소켓에 다시 걸렸습니다. 이제 오류 후 keep-alive 풀링을 끄고 재시도 시 새 소켓을 엽니다.
-
SessionStart hook의 fork 소스 구분
세션이 fork로 시작해도 SessionStart hook이 소스를
"resume"으로 보고했습니다. 이제 fork로 시작하면"fork"로 보고합니다. -
claude rc홈 디렉토리 워크스페이스 신뢰 오류 메시지 개선홈 디렉토리에서 발생하는 워크스페이스 신뢰 오류가 명확하지 않았습니다. 이제 홈에서는 신뢰가 저장되지 않는다는 점과 프로젝트 디렉토리에서 실행하라는 안내를 함께 보여줍니다.
주요 버그 수정
권한 검사
Edit(src/**)같은 단일 세그먼트dir/**allow 규칙이 트리 어디에 있든 중첩dir/디렉토리 쓰기를 자동 승인하던 문제 — 이제<cwd>/dir에만 적용됩니다.- Windows PowerShell 5.1 세션에서 실행한 명령의 권한 검사 우회 수정.
- bash가 권한 분석기와 다르게 파싱하는 파일 디스크립터 리다이렉트 형식에서 Bash 권한 검사가 fail-closed하지 않던 문제 수정.
- 1만 자를 초과하는 매우 긴 명령을 Bash 권한 검사가 오판하던 문제 — 이제 자동 실행 대신 항상 확인 프롬프트를 띄웁니다.
[[ ]]비교 안의 zsh 변수 subscript와 modifier를 Bash 권한 검사가 무해한 텍스트로 취급하던 문제 — 이제 이런 명령도 승인을 요구합니다.- 일부
help,man명령이 안전하지 않은 옵션, 명령 치환, 백슬래시 경로를 실행할 수 있는데도 자동 승인되던 문제 수정. - 원격 세션의 권한 프롬프트가 로컬 확인 다이얼로그보다 먼저 진행될 수 있던 문제 수정.
- 데몬 리다이렉트 플래그(
--url,--connection,--identity, Podman 원격 모드)를 쓰는docker명령(Podmandockershim 포함)이 확인 프롬프트 없이 실행되던 문제 — 이제 권한을 요구합니다.
백그라운드 세션과 데몬
- 밀려난 백그라운드 데몬이 종료 시 후임 데몬의 컨트롤 소켓을 삭제해, 다음 클라이언트가 정상 교체 데몬을 죽이던 문제 수정.
←나/background로 대기시킨 뒤 방치한 백그라운드 세션이 데몬과 워커 프로세스를 무기한 살려두던 문제 수정.- 완료된 백그라운드 세션이 백그라운드 서비스가 유휴 상태가 되면
claude rm이나 agent 뷰로 제거되지 않던 문제 수정. - 비git 폴더에서 디스패치된 백그라운드 세션을 agents 뷰에서 삭제할 수 없던 문제 수정.
- 세션 스토어에 읽을 수 없는 폴더가 있으면 중지된 백그라운드 세션을 다시 열 때 저장된 대화가 복원되지 않던 문제 수정.
- Remote Control이 명시적으로 활성화되지 않은 세션에도 “session ready” 푸시 알림이 발송되던 문제 수정.
/install-github-app와/mcp설정 메뉴가 agent-view 세션에서 차단되던 문제 — 이제 터미널이 연결되지 않은 백그라운드 세션에서만 거부됩니다.
Windows와 PowerShell 도구
- 기업 프록시 뒤 Windows에서 스트리밍 턴이 “Socket is closed”로 실패하던 문제 수정.
- 자식 프로세스가 표준 입력을 기다릴 때 PowerShell 도구 명령이 타임아웃까지 멈춰 있던 문제(Windows) 수정.
- PowerShell 도구로 실행한 Python 스크립트가 표준 입력에서 비UTF-8 데이터를 읽을 때 UnicodeDecodeError로 크래시하던 문제(Windows) 수정.
- PowerShell 도구로 실행한 Python 스크립트가 비ASCII 출력에서 UnicodeEncodeError로 크래시하고, PowerShell 7 오류 메시지에 raw ANSI escape 시퀀스가 섞이던 문제(Windows) 수정.
- PowerShell 도구가
where.exe,fc.exe,diff.exe의 유효한 음수 반환을 오류로 보고하던 문제(Windows) 수정. - Windows PowerShell 5.1에서
>,>>가 다른 도구가 UTF-8로 읽지 못하는 UTF-16LE 파일을 쓰던 문제 수정.
스트리밍과 텔레메트리
- 느리게 읽는 SDK/파이프라인 소비자에서 종료 시 stream-json 출력이 잘리던 문제 — 종료 드레인이 고정 2초 상한 대신 대기 중인 바이트 양에 맞춰 확장됩니다.
- 여러 누적
message_delta프레임을 방출하는 스트림에서 세션 비용과 토큰 텔레메트리가 이중 집계되던 문제 수정. - 턴의 async 컨텍스트 밖에서 방출된 OTel 로그 이벤트가 interaction span의 trace 컨텍스트를 누락하던 문제 수정.
- 긴 세션에서 OAuth 토큰이 회전한 뒤 feature flag가 stale해지던 문제 수정.
- GrowthBook feature가 null로 평가될 때의 크래시와, malformed 플래그 페이로드가 캐시된 feature flag를 지우던 버그 수정.
기타
pkill -f패턴이 CLI 자신의 프로세스에 우연히 매칭되면 Bash 도구가 Claude 세션을 죽이던 문제(Linux) 수정.--settings가 디바이스 파일이나 수 GB 파일을 가리킬 때 메모리가 무한정 늘던 문제 — 이제 2MiB를 초과하는 설정 파일은 시작 시 명확한 오류와 함께 실패합니다.- 예약 작업이 자신에게 설정된 프롬프트를 신뢰할 수 없는 입력으로 거부하던 문제 — 이제 발사된 프롬프트가 세션에 배정된 작업으로 전달됩니다.
--settingsCLI 플래그로 활성화한 플러그인이 로드되지 않던 문제(2.1.181 이후 회귀) 수정./ultrareview가 머지 베이스가 없는 리포에서 실행을 거부하던 문제 — 이제 추적되는 전체 파일을 리뷰하도록 제안합니다.- 셸 설정 경로가 디렉토리일 때
claude update와claude doctor가 조용히 멈추고/status시스템 진단 섹션이 비던 문제 수정. - 메모리 파일 저장 시 frontmatter 값이 인라인
#에서 조용히 잘리던 문제 수정. - advisor가 생각하는 동안 나타나던 잘못된 “check your network” 경고 수정.
- exit code 2인 hook이 stdout JSON의 스키마 검증에 실패하면 문서대로 차단하지 않던 문제 수정.
- 프롬프트/리소스 갱신 중 MCP 일시적 오류가 서버의 슬래시 명령과 리소스를 지우던 문제 수정.
알아두면 좋은 점
- 권한 규칙을 쓰는 사용자는 동작 재확인 권장 — 단일 세그먼트
dir/**allow 규칙이 이제 트리 전체가 아니라<cwd>/dir에만 적용됩니다. 임의 깊이 매칭이 필요하면**/dir/**로 다시 작성하세요. 단,deny,ask규칙은 기존의 임의 깊이 매칭을 유지합니다. - Bash 권한 검사가 더 보수적으로 동작 — 1만 자를 초과하는 명령,
[[ ]]안의 zsh subscript/modifier, 파일 디스크립터 리다이렉트, 일부help/man명령이 이제 자동 실행 대신 확인 프롬프트를 띄웁니다. 이전에 자동 승인되던 명령이 확인을 요구할 수 있습니다. docker명령 권한 변경 — 데몬 리다이렉트 플래그(--url,--connection,--identity, Podman 원격 모드)를 쓰는 docker/Podman 명령이 이제 확인을 요구합니다. 자동화 스크립트에서 이런 플래그를 쓴다면 권한 규칙 조정이 필요할 수 있습니다.- EndConversation은 claude.ai에서 이미 운영되던 안전장치 — Claude Code에 새로 들어왔지만, claude.ai에서는 2025년부터 심한 남용, 탈옥 시도에 적용돼 온 기능입니다.