Claude Code v2.1.157: 라이브 플러그인 로딩과 워크트리 잠금 해제

Claude Code v2.1.157은 .claude/skills/ 라이브 로딩, 워크트리 잠금 해제, OTEL 텔레메트리를 추가했습니다. 상세 가이드.

Claude Code v2.1.157: 라이브 플러그인 로딩과 워크트리 잠금 해제
Share

v2.1.157이 제공하는 것

Claude Code v2.1.157: Live Plugin Loading and Worktree Unlock

Claude Code v2.1.157이 2026년 5월 29일 출시되었다. 이는 주간 릴리스 흐름의 일환으로, 3월의 v2.1.83에서 3개월도 안 돼 v2.1.157까지 올라온 것이다 . 이번 릴리스에는 브레이킹 체인지가 없으며, 플러그인/스킬 시스템, 디스패치 세션 설정, OpenTelemetry 툴 파라미터 로깅, 그리고 20건 이상의 버그 수정(지난 2주간의 리그레션 다수 포함) 등 네 가지 영역을 개선했다.

핵심 요약: Claude Code v2.1.157(2026년 5월 29일)은 .claude/skills/에서 플러그인 자동 로딩(--plugin-dir 플래그 불필요), 디스패치 세션 에이전트 설정, OTEL 툴 파라미터 로깅, 그리고 v2.1.153의 tmux 클립보드 리그레션을 포함한 20건 이상의 버그 수정을 추가한다.

버전을 고정해 사용하는 팀이라면 이 릴리스 속도에 주의해야 한다. 11주 만에 v2.1.83에서 v2.1.157까지 올라왔다는 것은, 스프린트 한 사이클 만에 고정된 설치본이 70개 이상의 패치 버전 뒤처질 수 있다는 뜻이다. CI 이미지나 공유 개발 컨테이너를 특정 Claude Code 빌드로 고정하고 있다면, 주간 업데이트가 이제 SDK 표면, 세션 UX, 플러그인 로더를 동시에 건드린다는 점을 감안해야 한다 .

플러그인 자동 로딩에 관한 체인지로그 항목은 이렇게 적혀 있다: ".claude/skills/에 배치된 플러그인은 세션 시작 시 자동으로 로드됩니다 — 마켓플레이스 게시나 명시적 설치 단계가 필요하지 않습니다." 이전에는 플러그인을 마켓플레이스에 게시하거나, 매번 호출할 때마다 --plugin-dir 경로를 전달해야 했다. 두 방법 모두 게시하고 싶지 않은 프로젝트 로컬 툴링에는 사용하기 어려웠다. 새 동작은 .claude/skills/를 라이브 로드 디렉터리로 만든다 — 파일을 넣고 새 세션을 시작하면 바로 사용 가능하다.

"함께 출시된 부가 기능: claude plugin init <name>.claude/skills/ 안에 바로 플러그인 스켈레톤을 생성한다; /plugin 자동완성에 이제 서브커맨드, 설치된 이름, 마켓플레이스 항목이 포함된다." — Claude Code CHANGELOG, 2026년 5월 29일
기능 v2.1.157 이전 v2.1.157 이후
로컬 플러그인 로딩 호출 시마다 --plugin-dir <path> 지정 또는 마켓플레이스 게시 필요 .claude/skills/에 넣으면 세션 시작 시 자동 로드
Claude 관리 워크트리 잠금 해제 세션 종료 시 워크트리가 잠긴 채로 남음; git worktree remove 시 수동 잠금 해제 필요 세션 종료 시 워크트리 자동 잠금 해제; 수동 개입 없이 git worktree prune 작동
OTEL 툴 파라미터 tool_decision 이벤트에 커맨드 상세 정보 없음 OTEL_LOG_TOOL_DETAILS=1 설정 시 이벤트에 tool_parameters(bash 커맨드, 스킬 이름) 추가
빈 이미지 처리 손상되거나 비어 있는 이미지가 전체 요청을 중단시킴 텍스트 플레이스홀더로 대체; 요청 계속 진행

Step 1 — .claude/skills/에 플러그인 넣기

.claude/skills/ 디렉터리는 이제 1급 플러그인 로더다. 세션 시작 시 Claude Code가 그 안의 모든 서브디렉터리를 스캔하여 발견한 플러그인을 로드한다 — 플래그, 게시 단계, 백그라운드 프로세스 재시작 없이도 가능하다 . 새 플러그인을 스캐폴딩하려면 다음을 실행한다:

claude plugin init my-deploy-tools

이 명령은 .claude/skills/my-deploy-tools/를 아래와 같은 스켈레톤으로 생성한다:

.claude/skills/my-deploy-tools/
├── plugin.json          # metadata: name, version, description
├── skills/
│   └── deploy.md        # one skill per .md file
└── hooks/
    └── pre-tool.js      # optional lifecycle hooks

.claude/skills/가 아직 없으면 plugin init이 자동으로 생성한다. 디렉터리를 직접 만들고 플러그인 디렉터리를 넣어도 된다 — 어떻게 생성됐는지 로더는 신경 쓰지 않는다 .

스킬은 YAML 프론트매터가 있는 단일 Markdown 파일이다. 플러그인은 하나 이상의 스킬에 훅과 메타데이터 매니페스트를 묶어 공유 가능한 디렉터리 단위로 만든 것이다. 이 구분은 툴링에서 중요하다: claude plugin install은 전체 플러그인을 설치하며(마켓플레이스 또는 로컬 경로 모두 가능); .claude/skills/.md 스킬 파일을 직접 작성해도 매니페스트 없이 독립 스킬로 인식된다.

알아두어야 할 핵심 프론트매터 플래그는 disable-model-invocation: true이다. 배포 스크립트, 데이터베이스 마이그레이션, 강제 푸시 같은 파괴적인 커맨드를 감싸는 스킬에 설정하면 Claude가 맥락에 따라 자동 실행하지 않는다. 해당 스킬은 사용자가 직접 호출해야만 실행된다. 프론트매터 예시:

---
name: deploy-staging
description: Push current branch to staging environment
disable-model-invocation: true
---
Deploy branch to staging: