Claude Code v2.1.162가 출시되었습니다. 이 버전은 보안 및 권한 제어(Permission Control)와 관련된 중요한 버그 수정을 여러 개 포함하고 있습니다. 특히 WebFetch의 권한 규칙 적용 누락이나 Windows 환경에서의 경로 대조 오류는 액세스 제어 설계에 영향을 미치는 문제이므로, 해당 환경을 사용하는 개발자는 확인이 필요합니다.
또한 claude agents 명령에 관한 대규모 결함 수정과 MCP 타임아웃(timeout) 설정 오작동 수정, 실행 표시의 UX 개선 등도 포함되어 있습니다.
📌 영향을 받는 사람
- Claude Code의
claude agents로 멀티 에이전트(multi-agent) 개발을 하고 있는 사람
- WebFetch에 명시적인 deny/allow 규칙을 설정하고 있는 사람
- Windows 환경에서 Claude Code를 사용하고 있는 사람
- MCP 서버의
timeout을 1000ms 미만으로 설정했던 사람
| 중요도 | 변경 사항 | 조치 필요 여부 |
|---|
| 🔴 High | WebFetch 권한 규칙이 사전 승인 도메인에 미적용 | 확인 필요 |
| ... | claude agents 연결·입력·백그라운드 등 여러 결함 | 불필요 (자동 수정) |
| 🟡 Medium | 이모지를 포함한 문자열에서 API 400 에러 발생 (MCP) | 불필요 (자동 수정) |
| 🟡 Medium | SDK/stream-json에서 턴(turn) 시작 직후의 Esc 키가 무시됨 | 불필요 (자동 수정) |
| 🟢 Low | claude agents --json에 waitingFor 필드 추가 | 불필요 |
| 🟢 Low | 실행 표시 간소화 및 경고 메시지 개선 | 불필요 |
| 🟢 Low | Windsurf → Devin Desktop 리브랜딩 대응 | 불필요 |
⚠️ Breaking Change (버그 수정으로 인한 동작 변화)
내장된 사전 승인 도메인에 대한 WebFetch에 대해, 지금까지 명시적인 deny / ask / allow 규칙이 무시되었습니다. v2.1.162 이후부터는 명시적인 규칙이 우선됩니다.
수정 전 동작:
- 내장된 사전 승인 도메인(예:
github.com 등)은 자동으로 허용
WebFetch(domain:github.com)에 deny를 설정해도 무시됨
수정 후 동작:
- 명시적인
deny / ask / allow 규칙이 사전 승인 도메인보다 우선됨
- 보안 정책을 엄격하게 적용하고 싶은 경우 올바르게 동작
대응이 필요한 케이스:
- 사전 승인 도메인에 대한 액세스를
deny 하고 싶은 경우 (지금까지는 작동하지 않았으나, v2.1.162부터 작동함)
- 반대로 "의도치 않게
deny를 설정했던" 경우에는 허용되지 않으므로 설정을 재검토할 것
⚠️ Windows 사용자는 특히 주의
Windows 환경에서는 다음 두 가지 문제가 동시에 수정되었습니다:
Windows 사용자를 위한 확인 사항:
- 권한 규칙에
~\나 \\server\ 형식의 경로를 사용하고 있는 경우, 지금까지 제대로 작동하지 않았을 가능성이 있음
- 의도적으로
deny 했던 파일이 Glob/Grep에서 표시되지 않았었는지 확인할 것
💡 Tips
1000ms 미만의 timeout 설정은 v2.1.162 이후로 무시됩니다. 환경 변수 MCP_TOOL_TIMEOUT 또는 기본값이 사용됩니다. claude mcp get을 실행하면 주의 사항이 표시됩니다.
대응:
MCP 서버 설정의 timeout이 1000ms 미만으로 되어 있다면 설정을 재검토해 주세요.
이번 릴리스에서 가장 많은 수정이 이루어진 부분은 claude agents 명령입니다.
수정된 결함 목록:
| 결함 | 수정 내용 |
|---|
| 백그라운드 서비스 재시작 후의 연결 바운스 (Connection Bounce) | 재시작 직후의 attach가 세션 목록에서 튕겨 나가는 문제를 수정 |
| ... | |
또한, 신규 기능으로 claude agents --json 출력에 waitingFor 필드가 추가되었습니다.
대기 중인 세션이 무엇에 의해 차단(block)되고 있는지 프로그램에서 확인할 수 있게 되었습니다.
Before (v2.1.162 이전):
After (v2.1.162 이후):
활용 예시:
# 권한 프롬프트 대기 중인 세션 추출
claude agents --json | jq '.sessions[] | select(.waitingFor == "permission_prompt")'
Before (오작동하던 설정):
{
"mcpServers": {
"my-server": {
...
After (수정 후 권장 설정):
{
"mcpServers": {
"my-server": {
...
또는 환경 변수로 제어:
export MCP_TOOL_TIMEOUT=5000
명시적인 deny의 예 (v2.1.162부터 올바르게 작동):
{
"permissions": {
"deny": [
...
v2.1.162에서는 시작 시 표시가 더욱 깔끔해졌습니다:
- 「Claude in Chrome enabled」, 「marketplace installed」 등의 시작 메시지 삭제
- 모델 자동 업데이트 및 팀 온보딩(onboarding) 힌트는 로고 아래의 조용한 알림으로 표시
- 엔드포인트 보안의 새로운 바이너리 스캔을 기다리도록 개선 (기존에는 5초 만에 실패했음)
Claude Code v2.1.162의 주요 포인트는 다음 3가지입니다:
권한 제어의 중요 버그 수정
claude agents의 대폭 개선
-
연결, 입력, 표시와 관련된 6건 이상의 결함을 일괄 수정
-
waitingFor 필드를 통해 차단 요인을 프로그램에서 파악 가능
MCP / LSP의 안정성 향상
- 1000ms 미만의 timeout 설정이 실수로 모든 도구 호출을 중단하던 문제를 해결
- 이모지를 포함한 문자열로 인한 API 400 에러를 수정
특히 Windows 사용자와 WebFetch에 명시적인 권한 규칙을 설정한 사용자는 동작 변화가 발생할 가능성이 있으므로, 업데이트 후 설정과 동작을 확인하는 것을 권장합니다.