Claude Code v2.1.301: vim % 이동과 OTel 분류기 필드 추가
v2.1.301은 vim 모드 편집 동작과 OpenTelemetry 이벤트 필드, 무인 재시도 설정을 보강한 릴리스입니다. 모델 전환 시 요약 처리와 터미널 표시 오류, 스킬 인자 처리 성능 등 수정 사항도 함께 들어갔습니다.
- vim 모드에 % 모션이 추가되어 짝이 맞는 괄호로 이동하거나 d/c/y와 함께 쓸 수 있습니다.
- OpenTelemetry tool_decision 이벤트에 classifier_verdict, permission_mode, classifier_category 3개 필드가 붙었습니다.
- 무인 재시도 모드에 CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS가 생겨 사용량 한도 대기에 상한을 둘 수 있습니다.
- 컨텍스트 창이 작은 모델로 바꿀 때 긴 대화는 이전 모델이 먼저 요약하며, 스킬 인자 이름은 최대 64개·각 64자까지만 채웁니다.
- VS Code 확장에서 LaTeX 수식 렌더링이 지원됩니다.
릴리스 노트 전체
공식 릴리스 노트의 51개 항목을 원문 순서대로 한 줄씩 옮겼습니다. 더하거나 뺀 항목은 없습니다.
- 무인 재시도 모드(`CLAUDE_CODE_RETRY_WATCHDOG`)에서 사용량 한도가 너무 먼 시점에 초기화되면 기다리지 않고 요청을 종료하도록 하는 `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS`를 추가했습니다
- `claude-api` skill에 `ant` CLI로 트레이스 대상을 설정하는 방법을 포함한 OpenTelemetry 트레이싱 안내를 추가했습니다
- vim 모드에 `%` 모션을 추가했습니다: 단독으로 또는 d/c/y와 함께 짝이 되는 괄호로 이동합니다
- mod의 `Input`에 `rows`를 추가했습니다: 터미널에서 여러 줄 텍스트 필드로 표시되며, Enter는 제출하고 Shift+Enter 또는 Enter 앞의 백슬래시는 새 줄을 시작합니다
- OpenTelemetry `tool_decision` 이벤트에 `classifier_verdict`와 `permission_mode`를 추가하여 auto mode 분류기의 결정과 권한 규칙을 구분할 수 있게 했습니다
- `OTEL_LOG_TOOL_DETAILS=1`일 때 OpenTelemetry `tool_decision` 이벤트에 분류기 차단이 일치한 기본 제공 규칙의 이름을 나타내는 `classifier_category`를 추가했습니다
- `WorktreeCreate` hook이 만든 worktree에 푸시되지 않은 커밋이 있을 수 있는데도 종료할 때 묻지 않고 삭제하던 문제를 고쳤습니다
- 조직에서 최신 Fable 모델을 사용할 수 없을 때 `fable`(및 `best`) 모델 별칭이 Anthropic API에서 오류를 내던 문제를 고쳤습니다: 이제 Claude Code가 이전 Fable 모델로 한 번 재시도합니다
- 디스크가 가득 차서 로그인을 갱신하지 못할 때 오해를 부르는 "Please run /login" 오류가 표시되던 문제를 고쳤습니다. 이제 오류에 디스크가 언급되고 파일을 삭제하라고 안내합니다
- 검색 프로그램이 결과를 반환하기 전에 예기치 않게 실패했을 때 Grep과 Glob이 일치 항목 없음으로 보고하던 문제를 고쳤습니다. 이제 검색이 실패했다는 오류를 반환합니다
- workflow 에이전트가 작업 텍스트에 사용자 권한이 없다는 harness 메모를 읽은 뒤 간혹 자신의 단계를 건너뛰고도 실행이 성공으로 보고되던 문제를 고쳤습니다
- PreToolUse hook이 Edit 또는 Write를 처리하는 환경에서 artifact 업데이트가 거부되던 문제를 고쳤습니다. 이제 Claude가 게시 호출에서 변경하는 대신 파일을 편집한 다음 다시 게시합니다
- 인자 이름이 매우 많거나 매우 긴 skill과 명령을 호출할 때 몇 초간 멈추던 문제를 고쳤습니다. 이제 처음 64개의 이름만, 각각 최대 64자까지 채워집니다
- 인자가 많은 플레이스홀더를 채울 때 skill, 명령, hook이 매우 많은 메모리를 사용하던 문제를 고쳤습니다
- RHEL 8의 MATE Terminal처럼 VTE 0.53 미만을 기반으로 한 터미널에서 폴더 신뢰 프롬프트를 `>0q` 같은 불필요한 문자가 가리고, 종료 시 셸 프롬프트 앞에 `>4m`이 나타나던 문제를 고쳤습니다
- 일부 iTerm2 버전에서 시작 시 프롬프트에 불필요한 `GOK` 텍스트가 나타나던 문제를 고쳤습니다
- 공급자가 Bedrock이 아닌데도 이름에 `application-inference-profile`이 포함된 모델로 전환하면 `awsAuthRefresh` 명령이 실행되고 모델 전환 hook이 지연되던 문제를 고쳤습니다
- `claude auth status`나 `claude plugin list` 같은 짧은 명령이 토큰 갱신 도중에 종료된 후 로그인 갱신 시간 초과와 예기치 않은 로그아웃이 발생하던 문제를 고쳤습니다
- 권한 확인 중에 턴 도중 보낸 메시지로 도구 호출이 중단되면 모델에 사용자가 거부한 것으로 보고되던 문제를 고쳤습니다
- 컨텍스트 창이 더 작은 모델로 전환할 때 먼저 묻지 않고 이전 모델의 요약에 사용량 크레딧이 소모될 수 있던 경우를 고쳤습니다
- 응답에 요청한 모델과 다른 모델 이름이 표시되는 LLM 게이트웨이 뒤에서 선택하지 않은 모델로 대화가 계속 반복해서 압축되던 문제를 고쳤습니다
- 느리거나 바쁜 컴퓨터에서 vim 모드가 Escape 이후에도 간혹 INSERT에 머무르던 문제를 고쳤습니다
- vim 모드에서 Esc가 입력한 AskUserQuestion 답변을 버리던 문제를 고쳤습니다: 이제 자유 입력 필드가 vim NORMAL 모드를 지원하며, Esc는 NORMAL에서만 취소합니다
- Read 도구가 .xlsm, .parquet, .epub, .heic 같은 바이너리 파일을 텍스트로 읽던 문제를 고쳤습니다
- 헤더 행만 있는 Markdown 표가 터미널보다 너비가 넓을 때 아무것도 그려지지 않던 문제를 고쳤습니다. 계획 승인 카드의 계획에서도 마찬가지였습니다
- /claude-api skill이 AWS의 Claude Platform에서는 CMEK 외부 키 엔드포인트를 사용할 수 없다고 안내하던 문제를 고쳤습니다
- `/rewind`를 사용한 후 skill이 더 이상 모델에 나열되지 않던 문제를 고쳤습니다
- 재개한 세션의 압축 행이 로드되지 않은 기록에 대해 ctrl+o를 안내하던 문제를 고쳤습니다. 이제 이전 메시지가 저장된 위치를 알려 주며 전체 화면에서도 표시됩니다
- 응답을 중단한 직후 "new task? /clear to save tokens" 힌트가 다시 나타나던 문제를 고쳤습니다
- plugin 또는 skill hook의 `ask` 결정에 대한 권한 프롬프트에 해당 hook이 어느 plugin 또는 skill에서 온 것인지 표시되지 않던 문제를 고쳤습니다
- reftable 저장소에서 git 확인 중 하나가 시간 초과되거나 실패하면 `/diff`가 충돌 상태의 cherry-pick 또는 revert를 감지하지 못하던 문제를 고쳤습니다
- 같은 세션에서 Bash `cd`를 실행한 뒤 workflow 스크립트를 읽거나 편집하거나 다시 실행할 때 권한을 요청하거나 거부되던 문제를 고쳤습니다
- 어두운 ANSI 테마와 16색 터미널에서 흐린 텍스트가 올바르게 표시되지 않던 문제를 고쳤습니다: 채워진 상자 안에서는 흐리게, 선택 및 검색 강조 표시 아래에서는 흐리지 않게, 목록 설명은 다른 보조 텍스트처럼 흐리게 표시됩니다
- `claude -p` 실행이나 클라우드 세션처럼 새 Claude Code 프로세스의 첫 응답이 끝나기 전에 호출하면 mod의 `$.model.fork`가 `nothing-to-fork`를 반환하던 문제를 고쳤습니다
- 전체 화면 모드: 보이는 대화 기록을 다시 만드는 동안 `/compact`와 자동 압축이 UI를 잠시 멈추게 하던 문제를 고쳤습니다
- Self-hosted runner: 관리형 설정이 MCP 서버를 제한할 때 Slack에서 시작한 세션이 저장소를 찾거나 연결하지 못하던 문제를 고쳤습니다. 해당 도구를 끄려면 `deniedMcpServers`를 사용하세요
- Self-hosted runner: 관련 없는 설정 또는 세션 실패가 git의 missing-ref 문구를 인용했을 때 세션이 소스 브랜치가 삭제된 것으로 보고되고 재시도되지 않던 문제를 고쳤습니다
- Self-hosted runner: 종료 중인 세션에 대해 실패하거나 거절된 세션 해제를 재시도하겠다고 로그에 표시하던 문제를 고쳤습니다. 이제 반복 실패는 횟수로 표시됩니다
- Windows: 중지된 백그라운드 PowerShell 명령의 출력 파일에 마지막 `[killed]` 줄이 빠져 있던 문제를 고쳤습니다
- 컨텍스트 창이 더 작은 모델로 전환하는 기능을 개선했습니다: 새 모델에 비해 너무 긴 대화는 이제 이전 모델이 먼저 요약합니다
- 오래 실행되는 하위 에이전트가 작업하는 동안의 렌더링 성능을 개선했습니다: 진행 기록이 렌더링할 때마다 전체를 다시 처리하는 대신 점진적으로 업데이트됩니다
- artifact를 개선했습니다: Claude가 작성하는 페이지가 이제 고정 헤더 위쪽 영역을 칠하므로 모바일 앱에서 스크롤된 텍스트가 그곳에 보이지 않습니다
- mod를 개선했습니다: VS Code와 데스크톱 및 모바일 앱에서는 질문 대화상자 위에 그려지는 트리에 Markdown과 최대 48개 행을 넣을 수 있으며, 터미널은 일반 텍스트 12개 행을 유지합니다
- mod hook의 `.catch` 핸들러가 hook이 예외를 던지거나 시간 초과될 때만 실행되도록 변경했습니다. hook 자체 호출 하위에서 발생한 이벤트는 이제 `.catch`를 묻지 않고 해당 hook을 건너뜁니다
- mod의 `$.env.set`이 변수가 설정되거나 해제되면 `{}`로, 쓰기가 이루어지지 않으면 이유를 알려 주는 `{ deny }`로 resolve되도록 변경했습니다
- [VSCode] Claude의 응답에 `$$` 및 여러 줄 `\[ … \]` 블록과 인라인 `$…$`, `\(…\)` 수식을 포함한 LaTeX 수식 렌더링을 추가했습니다
- [VSCode] VS Code 및 JetBrains 패널의 Pro 및 Max 요금제 사용량 한도 배너에 "Get more usage" 링크를 추가했습니다
- [VSCode] 패널을 충돌시키거나 멈추게 하는 대화가 다시 로드할 때마다 다시 열리던 문제를 고쳤습니다
- [VSCode] 긴 사고 중에 채팅 패널이 느려지던 문제를 고쳤습니다: 이제 업데이트마다 전체 사고 텍스트를 다시 파싱하지 않습니다
- [VSCode] 일부 언어 서버에서 진단에 규칙 코드(예: MD013) 대신 "[object Object]"가 표시되던 문제를 고쳤습니다
- [VSCode] 받아쓰기를 제공하지 않는 환경(claude.ai 이외 로그인, 원격 창)에서 마이크 권한을 확인하려고 네이티브 받아쓰기 오디오 모듈을 로드하던 문제를 고쳤습니다
함께 읽기: Claude Haiku 5.5 API 요금 분석 및 최적화 가이드 · Claude Code v2.1.299 변경점: 유휴 압축과 MCP 규칙 변경 · Claude Code v2.1.290 업데이트: 보안 점검 강화와 백그라운드 세션 안정화
이번에 새로 생긴 기능
이번 업데이트로 새로 쓸 수 있게 된 기능은 10가지입니다. 근거 항목은 위 릴리스 노트의 번호입니다.
| 기능 | 달라진 점 | 근거 항목 |
|---|---|---|
| vim 모드 % 모션 | 짝이 맞는 괄호로 점프하며, d/c/y와 조합해 삭제·변경·복사 범위로도 쓸 수 있습니다. | 3번 |
| vim 모드 입력 안정화 | 느리거나 바쁜 환경에서 Escape 후에도 INSERT에 머무르던 문제가 고쳐졌습니다. AskUserQuestion의 자유 입력란도 vim NORMAL 모드를 지원하며, Esc는 NORMAL 상태에서만 취소합니다. | 22번, 23번 |
| OTel tool_decision 분류기 정보 | classifier_verdict와 permission_mode가 추가되어 auto 모드 분류기 판단과 권한 규칙 판단을 구분할 수 있습니다. OTEL_LOG_TOOL_DETAILS=1이면 classifier_category로 차단에 해당한 내장 규칙 이름도 확인됩니다. | 5번, 6번 |
| 무인 재시도 대기 상한 | CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS로, 사용량 한도 초기화가 너무 멀면 기다리지 않고 요청을 종료하게 설정할 수 있습니다. | 1번 |
| claude-api 스킬 트레이싱 안내 | OpenTelemetry 트레이싱 안내가 추가되었고, ant CLI로 트레이스 목적지를 설정하는 방법이 포함됩니다. | 2번 |
| 작은 컨텍스트 모델로 전환 시 요약 | 새 모델에 비해 대화가 너무 길면 이전 모델이 먼저 요약합니다. 사용 크레딧이 묻지 않고 소모될 수 있던 경우도 수정되었습니다. | 40번, 20번 |
| mod 입력과 API 변경 | mod의 Input에 rows가 추가되어 여러 줄 텍스트 필드를 쓸 수 있습니다. Enter는 제출, Shift+Enter나 백슬래시 후 Enter는 줄바꿈입니다. $.env.set은 {} 또는 { deny }로 결과를 돌려줍니다. | 4번, 45번 |
| mod 질문 대화상자 트리 확장 | VS Code와 데스크톱·모바일 앱에서 질문 대화상자 위 트리에 Markdown과 최대 48행을 담을 수 있습니다. 터미널은 일반 텍스트 12행입니다. | 43번 |
| VS Code LaTeX 수식 렌더링 | $$, 여러 줄 \[ … \] 블록과 인라인 $…$, \(…\) 수식이 응답에 렌더링됩니다. | 46번 |
| 사용량 한도 배너 링크 | Pro와 Max 플랜의 VS Code·JetBrains 패널 사용량 한도 배너에 'Get more usage' 링크가 표시됩니다. | 47번 |
바뀐 효과 직접 측정하기
에이전트, effort, 속도, 재시도에 관한 변경이 내 작업에서 얼마나 차이 나는지는 직접 재 보면 숫자로 확인됩니다. claude -p를 JSON 출력으로 실행하면 걸린 시간과 턴 수, 서브에이전트 결과가 함께 나옵니다.
claude -p "<작업 지시>" \
--output-format json < /dev/null
작업 지시는 옵션보다 앞에 둡니다. --allowedTools Agent "<작업 지시>"처럼 쓰면 --allowedTools가 값을 여러 개 받는 옵션이라 작업 지시까지 도구 이름으로 읽습니다. 옵션을 뒤에 쓰려면 --allowedTools=Agent처럼 =로 붙입니다. 아무것도 보내지 않는 파이프에 표준 입력이 연결돼 있으면 3초를 기다린 뒤 경고를 띄우고 진행하는데, < /dev/null로 표준 입력을 막아 두면 이 대기가 없습니다.
- duration_ms: 실행 전체에 걸린 시간(밀리초)
- num_turns: 결과가 나오기까지 걸린 턴 수
- subagent_stats.completed / subagent_stats.failed: 서브에이전트가 끝까지 마친 수와 실패한 수
단순 조회 작업 하나(예: 어떤 함수가 어디서 호출되는지 찾기)와 코드 수정 작업 하나(예: 함수 하나에 테스트 추가)를 정해 둡니다. 같은 저장소에서 설정마다(업데이트 전후, effort 수준별) 두 작업을 각각 여러 번 실행하고, 조회와 수정의 기록을 따로 모아 비교합니다.
아래는 Claude Code 2.1.292에서 서브에이전트 한 개를 띄운 실행의 실제 출력에서 위 네 값만 남긴 것입니다. 나머지 키는 ...로 줄였습니다.
{
"duration_ms": 14271,
"num_turns": 4,
"subagent_stats": {
"completed": 1,
"failed": 0,
...
},
...
}
기록표의 첫 줄은 이 실행을 옮긴 것입니다. 조회 작업과 코드 수정 작업을 나눠, 실행할 때마다 한 줄씩 더합니다.
| 작업 | 설정 | 시간(ms) | 턴 | 완료/실패 |
|---|---|---|---|---|
| 예시 | 2.1.292 | 14271 | 4 | 1 / 0 |
버전 올리고 확인하는 법
이 글의 변경을 모두 쓰려면 Claude Code 2.1.301 이상이 필요합니다. 터미널에서 claude update로 새 버전을 받고, claude --version으로 2.1.301 이상인지 확인합니다.
claude update
claude --version
- Claude Code v2.1.301 릴리스 노트 · github.com
작성일 2026-10-17 00:17
소개 · 문의 · 개인정보처리방침 · 면책 안내 · 저작권 안내 · AI, IT 글 모음
© 2026 MinoSui. 이 글의 무단 전재·재배포를 금합니다. 원문: https://minoss0918.blogspot.com/
댓글
댓글 쓰기