무엇이 바뀌었나?
Claude Code 2.1.163은 2026년 6월 4일 출시됐습니다. 이번 릴리스는 엔터프라이즈 운영을 겨냥한 신규 기능들이 두드러집니다. 관리자가 매니지드 설정에서 허용 버전 범위를 강제할 수 있고, /plugin list로 플러그인 상태를 확인하며, Stop과 SubagentStop 훅이 Claude에 피드백을 돌려 턴을 이어가는 흐름이 가능해졌습니다. 그 외 claude -p가 백그라운드 명령 때문에 무한 대기하던 문제, 2.1.154에서 들어간 $TMPDIR 오버라이드 회귀, 매니지드 권한 규칙이 시작 중 일부 적용되지 않던 문제 등 운영 영향이 큰 회귀가 폭넓게 정리됐고, Claude Code 업데이트 후 백그라운드 세션이 콜드 재시작을 기다리지 않도록 개선됐습니다.
새 기능
-
requiredMinimumVersion과requiredMaximumVersion매니지드 설정조직에서 허용하지 않는 Claude Code 버전이 사용되는 것을 차단할 방법이 없었습니다. 이제 매니지드 설정에
requiredMinimumVersion과requiredMaximumVersion을 추가하면, 범위를 벗어난 버전에서는 Claude Code가 시작을 거부하고 사용자를 승인된 버전으로 안내합니다. -
/plugin list명령과 상태 필터설치된 플러그인 목록과 활성화 상태를 확인하려면 별도 디렉터리를 뒤져야 했습니다. 이제
/plugin list로 설치된 플러그인을 한 번에 나열할 수 있고,--enabled나--disabled필터로 상태별로도 확인할 수 있습니다. -
/btw응답 복사 단축키c/btw로 받은 답변을 다른 도구에 붙여 넣을 때 서식이 깨지는 경우가 있었습니다. 이제/btw응답 화면에서c를 누르면 원본 마크다운이 그대로 클립보드에 복사되어 다른 도구에 붙여 넣어도 서식이 유지됩니다. -
Stop과 SubagentStop 훅의
additionalContext피드백Stop 또는 SubagentStop 훅이 추가 피드백을 주려면 훅 오류로 표시되어 턴 흐름이 깨졌습니다. 이제 두 훅이
hookSpecificOutput.additionalContext를 반환하면, Claude이 그 피드백을 받아 오류 처리 없이 턴을 이어갑니다. -
스킬의
\$이스케이프 문법스킬 명령 본문에서 숫자 앞에 리터럴
$를 넣으려면 치환 규칙과 충돌해 표기가 까다로웠습니다. 이제\$이스케이프 문법으로 숫자 앞의 리터럴$를 명시적으로 표현할 수 있습니다. -
stdio MCP 서버가
--resume시CLAUDE_CODE_SESSION_ID수신훅과 Bash는
--resume시CLAUDE_CODE_SESSION_ID를 받고 있었지만 stdio MCP 서버는 받지 못했습니다. 이제 동일하게 전달되어 MCP 서버에서도 세션 ID 기반 동작을 일관되게 구현할 수 있습니다.
주요 개선
-
백그라운드 세션이 업데이트를 백그라운드에서 적용
Claude Code 업데이트 후 백그라운드 세션을 열면 콜드 재시작을 기다려야 했습니다. 이제 백그라운드 세션이 새 버전으로의 업데이트를 백그라운드에서 적용해, 업데이트 직후에도 세션 열기가 즉시 가능합니다.
-
상태 그룹 뷰에서 디스패치한 세션의 시작 디렉터리 보정
claude agents의 상태 그룹 뷰에서 디스패치한 세션이 의도와 다른 디렉터리에서 시작되는 경우가 있었습니다. 이제 에이전트 뷰가 열린 디렉터리에서 세션이 시작됩니다. -
/메뉴의 빌트인 명령과 스킬 설명 명확화/메뉴의 빌트인 명령과 스킬 설명이 짧거나 모호해 무엇을 하는지 한눈에 알기 어려웠습니다. 설명을 더 명확하게 다시 작성했습니다. -
구독 전환 제안의 위치 변경
구독 전환을 제안하는 안내가 토스트로 떴다 사라져 놓치기 쉬웠습니다. 이제 시작 안내(announcement) 슬롯에 표시되어 다음 시작 시점에도 확인할 수 있습니다.
주요 버그 수정
CLI 및 환경 변수
claude -p가 백그라운드 명령이 종료되지 않을 때 최종 결과 이후에도 무한 대기하던 문제 — 이제 결과가 나온 뒤 stdin이 닫히면 약 5초 후 백그라운드 셸이 종료됩니다.claude -p가 Bedrock, Vertex, Foundry에서CI=true이고 Anthropic API 키가 없을 때 “ANTHROPIC_API_KEY required”로 실패하던 문제 — 수정.$TMPDIR이 모든 명령에 대해/tmp/claude-{uid}로 덮어쓰여 bazel과 EDR 보호된 Go 워크플로에서 Bash 명령이 실패하던 회귀(2.1.154) — 이제 샌드박스 명령에만 적용됩니다.
권한 및 매니지드 설정
- 신규 config 디렉터리에서 시작 중에 매니지드 설정 fetch가 완료되면 조직 매니지드 권한 규칙이 세션 전체 동안 적용되지 않던 문제 — 수정.
- 훅의
if: "Bash(...)"조건이$()나$VAR를 포함하는 모든 Bash 명령에 매번 발동되던 문제 — 패턴이 이제 서브셸이나 백틱 안의 명령에도 매칭됩니다. Read(~/Desktop/**)같은 홈 디렉터리 deny 규칙이$HOME을 경유하는 Bash 명령을 차단하지 못하던 문제 — 수정.
Windows
- 세션 환경 디렉터리가 읽기 전용이거나 OneDrive 안에 있을 때 Windows에서 Bash 명령이 “EEXIST: file already exists”로 실패하던 문제 — 수정.
세션 및 백그라운드 에이전트
- Claude Code 업데이트 후 재첨부된
claude agents백그라운드 세션이 실행 중이던 백그라운드 작업을 잃던 문제 — 수정. - Esc로 에이전트 뷰를 종료할 때 터미널 정렬이 어긋나고 몇 초간 멈추던 문제 — 수정.
- 데스크탑 앱에서 백그라운드 작업 chip의 Stop을 눌러도 기저 프로세스가 이미 종료된 상태에서는 chip이 지워지지 않던 문제 — 수정.
터미널 및 UI
- 터미널이 붙여넣기 종료 마커를 누락하면 이후 키보드 입력이 영구히 응답하지 않던 문제 — 수정.
/mcp,/plugins같은 패널 다이얼로그를 닫은 뒤 트랜스크립트에 “(no content)” 한 줄이 남던 문제 — 수정.
알아두면 좋은 점
- 엔터프라이즈 버전 고정 —
requiredMinimumVersion과requiredMaximumVersion을 매니지드 설정에 추가하면 사용자가 범위를 벗어난 버전에서 Claude Code를 실행하는 것을 차단할 수 있습니다. 사용자에게는 승인된 버전으로 전환하라는 안내가 표시됩니다. $TMPDIR회귀 복구 — 2.1.154에서 모든 명령에 적용되던/tmp/claude-{uid}오버라이드가 샌드박스 명령에만 적용되도록 되돌아갔습니다. bazel이나 EDR 보호 환경에서 Bash 실패를 겪던 운영 환경은 별도 설정 변경 없이 복구됩니다.- 매니지드 권한 규칙 시작 타이밍 수정 — 신규 config 디렉터리에서 시작 직후 매니지드 설정 fetch가 완료되더라도 권한 규칙이 세션 전체에 정상 적용됩니다. 기존에 시작 직후 매니지드 정책 누락을 경험한 사용자는 이번 버전으로 업데이트 후 권한 강제가 의도대로 동작하는지 한 번 점검하는 것이 좋습니다.
- 훅
if: "Bash(...)"매칭 범위 확장 — 서브셸과 백틱 안의 명령도 매칭되므로, 기존에 좁게 작성된 조건이 더 자주 발동할 수 있습니다. 자동화가 의도보다 자주 트리거되면 조건을 재확인하세요. - Stop/SubagentStop 훅의 새로운 활용 —
hookSpecificOutput.additionalContext를 반환하면 훅 오류로 처리되지 않고 Claude이 피드백을 받아 턴을 이어갈 수 있어, 종료 시점에 추가 컨텍스트를 주입하는 에이전트 루프 설계가 가능해졌습니다.