Claude Code 데일리 브리핑 - 2026-06-27

최신 릴리스 요약

버전날짜핵심 변경
v2.1.1956/26하이픈 hook matcher 정확일치 수정(code-reviewer·mcp__brave-search 부분일치 버그 → exact), CLAUDE_CODE_DISABLE_MOUSE_CLICKS(풀스크린 마우스 클릭/드래그/호버 끄고 휠 스크롤 유지), 외부 플러그인 설치 동의 강제(프로젝트 settings.json만으로 활성화 차단), background/claude agents 안정화(새 버전 작업 유실·크래시 빈 화면·daemon 소켓 실패 수정), 공백 없는 언어(일·중·태) 음성 자동 제출 수정, Remote 세션 프로비저닝 체크리스트 등
v2.1.1936/25autoMode.classifyAllShell, auto-mode 거부 사유 표시, OpenTelemetry assistant_response 로그(기본값 주의), MCP headersHelper 401/403 자동 재인증 (6/26 상세)
v2.1.1916/24/rewind/clear 이전 복원, 스트리밍 CPU ~37%↓, 콤마 hook matcher 무발화 수정, MCP 재시도·헤드리스 OAuth (6/25 상세)

어제(6/26 21:29) v2.1.195가 올라왔습니다 — v2.1.193(6/25)에 이은 릴리스로, v2.1.194는 건너뛰었습니다(v2.1.188·189·192처럼 발행 직전 취소된 것으로 보입니다). 이번 릴리스는 헤드라인급 신기능보다 정합성·안정화 수정이 중심이라, 오늘 무게중심은 둘입니다 — hook matcher의 조용한 오작동을 잡은 정정(아래 워크플로)과, 릴리스 밖의 시장·문화 뉴스입니다(생태계·커뮤니티). 그래도 오늘 가장 챙길 한 줄은 하이픈이 든 hook matcher가 그동안 부분일치로 엉뚱하게 매칭되던 버그입니다 — 6/25의 ‘콤마 matcher 무발화’에 이어, 가드 hook을 다시 점검할 두 번째 이유입니다.

전체 릴리스 노트


주요 신규 기능 & 실전 활용

CLAUDE_CODE_DISABLE_MOUSE_CLICKS — 풀스크린 마우스 캡처를 끄고 텍스트 선택을 되찾는다 (v2.1.195)

이번 릴리스에서 가장 ‘기능’다운 항목입니다. 새 환경변수 **CLAUDE_CODE_DISABLE_MOUSE_CLICKS**를 켜면, 풀스크린 모드에서 마우스 클릭·드래그·호버 캡처를 끄되 휠 스크롤은 그대로 둡니다.

# 풀스크린에서 마우스 클릭/드래그/호버 캡처를 끄고, 휠 스크롤만 남긴다
export CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1

이건 6/23(v2.1.187)에 추가된 ‘메뉴 마우스 클릭’의 짝입니다. 그때 권한 프롬프트·/model·/config 같은 메뉴를 마우스로 고를 수 있게 됐지만, 마우스를 캡처하는 순간 터미널 네이티브의 텍스트 드래그 선택·복사가 깨지는 사람들이 있었습니다(tmux·일부 터미널에서 특히). 이번 변수는 그 off 스위치입니다 — 마우스로 출력 텍스트를 긁어 복사하는 흐름을 지키고 싶다면 켜 두면 됩니다. 작지만, “마우스 지원을 더하되 끌 자유도 준다”는 점에서 풀스크린 UI를 쓰는 사람에게 직접 닿습니다. GitHub v2.1.195


개발자 워크플로우 팁

하이픈이 든 hook matcher가 ‘정확일치’로 고쳐졌다 — 가드 hook·MCP 룰을 재검증하라

CLAUDE.md 규칙을 hook으로 강제하거나 MCP 도구를 matcher로 가드해 둔 사람이라면, 이번 수정 한 줄을 반드시 챙기세요. v2.1.195는 하이픈이 든 식별자(예: code-reviewer, mcp__brave-search)를 쓴 hook matcher가 그동안 부분일치(substring)로 잘못 매칭되던 버그를 고쳤습니다 — 이제 **정확일치(exact-match)**입니다.

// .claude/settings.json — 하이픈 matcher의 의미가 바뀌었다
{
  "hooks": {
    "PreToolUse": [
      // 'mcp__brave-search'는 이제 그 이름의 도구만 정확히 매칭한다.
      // 그 MCP 서버의 '모든 도구'를 매칭하려면 와일드카드를 명시하라:
      { "matcher": "mcp__brave-search__.*", "hooks": [ /* ... */ ] }
    ]
  }
}

핵심은 양방향으로 깨질 수 있던 동작이 정정됐다는 점입니다 — ① 그동안 mcp__brave-search부분일치라, 의도와 달리 이름이 겹치는 다른 도구까지 매칭해 가드가 너무 넓게 걸렸을 수 있고, ② 반대로 mcp__brave-search그 서버의 모든 도구를 매칭하려던 의도는, 이제 exact-match가 되면서 조용히 안 먹게 됩니다(mcp__brave-search__.*로 바꿔야 합니다). 어느 쪽이든, 여러분의 가드가 실제로 무엇을 잡고 있었는지가 이번 업데이트로 달라집니다. 6/25의 콤마 구분 matcher 무발화 수정과 정확히 같은 결입니다 — 그 hook이 실제로 의도한 도구에만 발화하고 있다는 보장이 없으면 강제도 없습니다. 하이픈이 든 matcher(특히 mcp__ 도구)를 쓴다면 ① 업데이트하고 ② 위험한 명령으로 hook이 정확히 발화하는지 재현해 보세요. GitHub v2.1.195

claude agents로 background를 길게 굴린다면 — 크래시 복구가 단단해졌다

background 에이전트를 띄워 두고 claude agents로 관리하는 흐름이라면, v2.1.195의 안정화 묶음이 직접 닿습니다. 6/26에 다룬 background 에이전트의 동작 개선과는 결이 다른, 이번엔 크래시·재시작 경로의 데이터 무결성 수정입니다.

핵심은 “밤새 돌린 background 작업이 아침에 사라지거나 열리지 않는” 종류의 사고를 줄이는 것입니다. 장시간·다중 background 작업을 claude agents로 운영한다면(특히 자동 업데이트로 버전이 바뀌는 환경), 이 묶음만으로도 업데이트할 이유가 됩니다. GitHub v2.1.195


보안/제한 이슈

외부 플러그인이 이제 ‘명시적 설치 동의’를 요구한다 — settings.json 자동 활성화 차단 (v2.1.195)

작아 보이지만 공급망(supply-chain) 관점에서 챙길 수정입니다. v2.1.195는 프로젝트 .claude/settings.json만으로 활성화된 외부 플러그인이, 이제 모든 로더 경로에서 명시적 설치 동의를 요구하도록 고쳤습니다 — 그동안 일부 경로에서는 이 동의가 빠진 채 외부 플러그인이 켜질 수 있었습니다.

핵심은 “클론한 저장소가 내 동의 없이 외부 플러그인을 켜는” 경로를 닫는 것입니다. 누군가의 저장소를 받아 Claude Code로 여는 순간, 그 저장소의 .claude/settings.json에 박혀 있던 외부 플러그인이 조용히 로드된다면, 이는 임의 코드가 내 환경에서 도는 통로가 됩니다. 이제는 그 활성화가 사용자의 명시적 동의를 거쳐야 합니다 — 6/23의 sandbox.credentials(샌드박스의 시크릿 접근 차단), 6/22의 **“규칙은 hook으로 강제”**와 같은 자리에서, 에이전트·설정 파일이 자동으로 가질 수 있는 권한의 표면을 줄이는 흐름의 한 칸입니다. 남이 만든 저장소를 자주 여는 사람이라면 곧장 효용입니다. GitHub v2.1.195

Fable 5·Mythos 5 — 수출통제 15일째, 정부는 ‘좁은 jailbreak’를 사유로·Anthropic은 반박 (6/27)

여러 날 다룬 사안이라 짧게, 다만 새 디테일 중심으로 짚습니다. 6/27 기준 수출통제 15일째(6/12 명령)에도 Fable 5·Mythos 5는 여전히 오프라인입니다 — 6/25에 트래픽 0이 확인됐습니다. 이번에 드러난 새 정보는 정부의 사유입니다: 보도에 따르면 정부는 Fable 5의 ‘jailbreak(우회)’ 가능성을 근거로 들었는데, 그 우회란 사실상 “모델에 특정 코드베이스를 읽혀 소프트웨어 결함을 고치게 하는” 좁은(non-universal) 것이고, 그마저 구두 증거에 그쳤다고 합니다.

이에 Anthropic은 정면으로 반박했습니다 — “좁은 jailbreak 가능성을 발견했다는 이유로, 수억 명에게 배포된 상용 모델을 회수하는 것에 동의하지 않는다. 이 기준을 업계 전반에 적용하면, 모든 프런티어 모델 제공자의 신규 모델 배포가 사실상 멈출 것”이라는 입장입니다. 즉 6/26에 다룬 Tom Brown의 협상 진전과 별개로, 사실관계·기준 자체를 두고 양측이 충돌하고 있다는 뜻입니다. 외국 국적 개발자(한국·일본 등)의 실무 대응은 그대로입니다 — fallbackModel·availableModelsOpus 4.8 같은 대체 경로를 깔아 두고, 모델 가용성이 회사가 아니라 지정학과 정책에 좌우될 수 있다는 전제로 자동화를 설계하세요. 더해, 6/26은 인시던트 없이 클린했습니다(이번 주 초의 잇단 잡음 뒤 모처럼의 무사고 하루). Anthropic 성명 · explainx


생태계 & 플러그인

/plugin Enable/Disable가 ‘이름이 다를 때’ 안 먹던 문제 수정 (v2.1.195)

플러그인 생태계의 운영 마찰을 줄이는 수정입니다. v2.1.195는 어떤 플러그인의 plugin.jsonname이 마켓플레이스 등록명과 다를 때, /plugin에서 Enable/Disable이 동작하지 않던 문제를 고쳤습니다.

핵심은 ‘이름 불일치 때문에 끄고 켜는 것조차 안 되던’ 플러그인을 정상화하는 것입니다 — 마켓플레이스 등록명과 패키지 내부 name이 어긋나면, 토글 자체가 먹지 않아 그 플러그인을 관리할 수 없는 상황이 생겼습니다. 6/25에 다룬 마켓플레이스 renames 자동 추종, 6/24의 /plugin 정리 유도와 같은 자리에서, 플러그인 배포·식별·관리의 거친 모서리를 한 칸 더 다듬는 변경입니다. 여러 플러그인을 마켓플레이스로 배포·구독하는 팀(특히 등록명과 내부 이름이 갈리기 쉬운 경우)에 실용적입니다. GitHub v2.1.195


커뮤니티 뉴스


알아두면 좋은 소소한 변경사항

v2.1.195에서 위에서 다 다루지 못한 실용적 변경·수정들입니다.


추천 칼럼 & 읽을거리


흥미로운 프로젝트 & 도구