
Claude Code v2.1.149〜v2.1.150 릴리스 | 매일 Changelog 해설
요약
Claude Code v2.1.149 및 v2.1.150 업데이트 내용을 다룹니다. 토큰 사용량의 카테고리별 상세 분석 기능 추가, 보안 취약점(권한 우회) 수정, macOS 시스템 크래시 버그 해결 등 주요 변경 사항을 설명합니다.
핵심 포인트
- /usage 명령어를 통해 MCP 서버별 토큰 소비량 상세 확인 가능
- PowerShell 및 git worktree 환경에서의 권한 우회 보안 허점 3건 수정
- macOS에서 거대 디렉토리 검색 시 발생하던 시스템 크래시 버그 해결
- Markdown 체크박스 표시 및 /diff 뷰 키보드 스크롤 기능 개선
v2.1.149〜v2.1.150 총 2건을 1건으로 통합합니다. 내용은 거의 v2.1.149에 집중되어 있으며, v2.1.150은 내부 인프라 개선만을 포함합니다. 사용자에게 보이는 변경 사항은 없습니다.
이번 주목 포인트:
/usage가 무엇이 토큰을 소비하고 있는지 skills, subagents, MCP 중 구분 가능하도록 카테고리별 내역에 대응- 권한 우회(Permission Bypass) 3건 수정 - 작업 디렉토리 추적 누락으로 워크스페이스 외부를 읽을 수 있었던 허점을 차단
- 거대 디렉토리에서 macOS의 vnode 테이블이 고갈되던
find가 호스트 전체를 크래시시키던 버그 수정 - Markdown의 태스크 리스트가 체크박스로 표시 -
- [ ],- [x]가 단순한 검은 점이 아니게 됨 - 화살표·
/diff상세 내용을 키보드로 스크롤 -j,k,PgUp,PgDn등에 대응 - 긴 세션 후반부에 발생한 문제를 보고하기 쉽게
/feedback이 컴팩션(Compaction) 전의 대화도 포함
대상 독자: MCP 서버나 subagent, plugin을 여러 개 연결하여 사용 중이며, 토큰 소모가 빠르다고 느끼는 사람.
기존의 /usage는 토큰 소비량을 합계로만 표시했습니다. 무엇이 그 숫자를 높이고 있는지는 알 수 없었습니다. v2.1.149부터는 내역이 카테고리별로 나옵니다.
- skills
- subagents
- plugins
- MCP 서버별 비용
효과적인 부분은 MCP 서버 단위의 표시입니다. 연동을 늘릴수록 토큰은 깎이지만, 어떤 서버가 무거운지는 추측할 수밖에 없었습니다. 위 예시라면 github-server가 41%를 차지하고 있으므로, 이를 제거하면 최대 지출을 없앨 수 있습니다. 어디를 줄여야 효과적인지를 숫자로 결정할 수 있습니다.
> /usage
5-hour limit ████████░░ 78% (표시 이미지·수치는 예시)
├─ MCP: github-server 41%
...
대상 독자: allow 규칙이나 sandbox를 적용하여 운용하고 있는 사람. 특히 PowerShell 환경인 경우.
3건 모두 "Claude Code가 현재 작업 디렉토리를 놓쳐, 본래 읽을 수 없는 곳에 접근할 수 있는" 계열의 허점입니다. 모두 v2.1.149에서 수정되었습니다.
- PowerShell 내장 명령어:
cd,cd..,cd\,cd~,X:와 같은 방식으로 이동할 때 감지되지 않아, 후속 명령어가 워크스페이스 외부를 읽을 수 있었던 문제 - 파서(Parser):
pushd,popd를 가로지르는 추적 시PWD,OLDPWD,DIRSTACK의 오래된 값을 신뢰하여, 이동 후의 현재 위치를 잘못 파악하던 문제 - git worktree의 sandbox: 쓰기 허용 리스트가 공유
.git뿐이어야 했으나 메인 리포지토리의 루트 전체를 덮고 있었던 문제 (hooks/와config는 거부)
PowerShell이나 worktree를 사용하지 않는다면 영향이 없습니다. allow 규칙으로 읽기 범위를 제한하고 있다면, v2.1.149에서 차단되는 허점은 3개입니다.
Bash 도구로 거대한 디렉토리 트리에 find를 실행하면, macOS의 파일/vnode 테이블을 모두 사용하여 호스트 자체가 다운되는 경우가 있었습니다. v2.1.149에서 수정되었습니다. 깊은 계층을 무분별하게 검색할 때 발생하기 쉬웠던 버그입니다.
| 버전 | 카테고리 | 변경 사항 | 개요 |
|---|---|---|---|
| v2.1.149 | 기능 | Markdown 태스크 리스트 | - [ ] / - [x]를 체크박스로 묘사. 검은 점이 아니게 됨 |
| v2.1.149 | 기능 | /diff 키보드 조작 | 상세 뷰를 화살표, j / k ・ PgUp / PgDn ・ Space ・ Home / End로 스크롤 |
| v2.1.149 | 기능 | /feedback 개선 | 컴팩션 (Compaction) 전의 대화도 포함. 긴 세션 후반부의 문제를 분리하기 쉬워짐 |
| v2.1.149 | Enterprise | allowAllClaudeAiMcps | claude.ai의 클라우드 MCP 커넥터를 managed-mcp.json과 병용하여 로드하는 관리 설정 |
| v2.1.149 | 개선 | PowerShell 허용 규칙 | PowerShell(dotnet.exe build *) 등의 접두사 일치/와일드카드가 네이티브 실행 파일을 사전 승인하도록 함 |
| v2.1.150 | 내부 | 인프라 개선 | 사용자 대상 변경 사항 없음 |
기타 버그 수정 (v2.1.149)
managed-settings의 승인 다이얼로그를 실행 시 승인하면 터미널이 멈춘 상태로 유지됨/ultraplan과 원격 세션 생성이, 커밋되지 않은 변경 사항이 실질적으로 없는 작업 트리(Working Tree)에서 "Could not capture uncommitted changes"라며 실패함otelHeadersHelper의 스크립트 경로에 공백이 포함되면 아무런 메시지 없이 실패함 (실패 여부는/doctor와 디버그 로그에 표시되도록 수정)- Thinking 스피너가 도구 호출(Tool Call)을 넘어서도 호박색 상태로 유지됨
- 접힌 Bash 출력에서 짧은 행이 많을 경우 숨겨진 행 수를 잘못 표시함
- 슬래시 명령(Slash Command)의 인자 힌트가 입력란을 넘어가면 마지막 입력 문자가 잘림
- frontmatter의
name:이 디렉토리명과 다른 skill을 Tab 보완(Tab Completion)한 후, 인자 힌트와 후보가 나타나지 않음 - 상태 표시줄이 skill/agent의
effort:가 아닌 베이스라인인/effort를 표시함 - Ctrl+O의 트랜스크립트(Transcript) 표시가 열린 순간에 멈추고 새로운 메시지를 따라가지 않음
- 히스토리에서 불러온 프롬프트를 편집한 후, 화살표로 다시 위아래 이동하면 편집 내용이 사라짐
/config의 종료 요약이 무관한 설정을 전환했을 때 auto-compact와 테마의 허구적인 변경을 보고함/insights가 캐시된 session-meta에 옵션 필드가 누락되면 크래시가 발생함- 잘못된 PowerShell / History 도구 호출(입력 누락)이 트랜스크립트 접기 시 read로 오분류됨
- claude.ai나 모바일 앱에서 원격 제어 세션의 이름을 변경해도,
claude --resume의 로컬 세션 이름이 업데이트되지 않음 - 전송 직후의 프롬프트가 위쪽 화살표 히스토리에 이중으로 표시되는 경합(Race Condition) 발생
- 전체 화면에서 "Jump to bottom" 필(Pill)을 탭해도 즉시 사라지지 않음
v2.1.149는 기능 추가와 권한 관련 수정이 같은 날 한꺼번에 포함되었습니다. 일상적인 경험에 도움이 되는 것은 /usage의 내역 표시이며, 운영에 도움이 되는 것은 권한 우회 관련 3건의 수정입니다. v2.1.150은 내부 개선뿐이므로, v2.1.149를 적용했다면 굳이 추적할 필요는 없습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기