블로그로 돌아가기
Agentic Coding

Claude Code 2.1.0 대규모 업데이트 - Skill Hot-Reload부터 Vim 모션 강화까지

21.74
Claude CodeRelease NotesAnthropicAI CodingDeveloper ToolsAgentic AI

Claude Code 2.1.0이 Skill Hot-Reload, Forked Sub-Agent Context, 향상된 Vim 모션, 통합 백그라운딩 등 30개 이상의 신기능과 50개 이상의 버그 수정을 포함하여 출시되었다.

Claude Code 2.1.0 대규모 업데이트 - Skill Hot-Reload부터 Vim 모션 강화까지
Anthropic이 2026년 1월 7일 Claude Code 2.1.0을 공식 출시했다. 이번 업데이트는 30 개 이상의 신기능과 50개 이상의 버그 수정을 포함하는 대규모 릴리스다. Skill 개발 워크플로우 개선, 에이전트 오케스트레이션 강화, Vim 사용자 경험 향상 등 개발자 생 산성을 크게 높이는 핵심 기능들이 다수 추가되었다.

핵심 신기능

1. Skill Hot-Reload

~/.claude/skills 또는 .claude/skills에서 생성하거나 수정한 Skill이 세션 재시 작 없이 즉시 반영된다. Skill 개발 워크플로우가 크게 단순화되었다.
사용 방법:
  1. ~/.claude/skills/my-skill/ 디렉토리 생성
  2. SKILL.md 파일 작성 및 저장
  3. Claude Code에서 즉시 사용 가능 (재시작 불필요)
  4. 수정 시에도 실시간 반영
제한사항:
  • YAML frontmatter 오류가 있으면 Skill 로딩 실패
  • 파일명은 정확히 SKILL.md (대소문자 구분)
  • 첫 줄에 --- 시작 필수 (빈 줄 없이)

2. Forked Sub-Agent Context

Skill frontmatter에서 context: forkagent 필드를 통해 분리된 서브에이전트 컨텍스트에서 실행이 가능하다. 복잡한 에이전트 오케스트레이션 시나리오를 지원한다 .
Frontmatter 예시:
YAML
---
name: code-analysis
description: Analyze code quality in isolated context
context: fork
agent: Explore
---
지원 에이전트 타입:
  • Explore: 코드베이스 탐색 및 분석
  • Plan: 계획 수립 및 아키텍처 설계
  • general-purpose: 범용 작업 (기본값)
  • 커스텀: .claude/agents/에 정의된 에이전트
사용 사례:
  • 복잡한 멀티 스텝 작업을 메인 대화에 섞이지 않게 실행
  • 전문화된 분석을 별도 컨텍스트에서 수행
  • 서브에이전트별 독립적인 대화 히스토리 유지

3. Language Configuration

settings.jsonlanguage 설정이 추가되어 Claude의 응답 언어를 구성할 수 있다 .
설정 예시:
JSON
{
"language": "Korean"
}
CJK 언어 지원 개선:
  • Option+Arrow 단어 탐색이 CJK 텍스트를 전체 시퀀스가 아닌 단어 경계로 처리
  • CJK 문자가 포함된 멀티라인 프롬프트의 여분의 빈 줄 제거
  • IME (Input Method Editor) 지원 개선: 커서 위치에 정확한 조합 창 표시
  • 단어 삭제(opt+delete) 및 단어 탐색이 키릴 문자, 그리스어, 아랍어, 히브리어, 태 국어, 중국어 등 비라틴 텍스트에서 정상 작동

4. 향상된 Vim Motions

Vim 사용자를 위한 대폭 개선이 이루어졌다. 새로운 모션, 연산자, 텍스트 객체가 추 가되어 생산성이 크게 향상된다.
새로운 모션 및 연산자:
기능설명
;f/t 반복다음 일치 문자로 이동
,f/t 역방향 반복이전 일치 문자로 이동
yy / Y줄 복사현재 줄 또는 줄 끝까지 복사
p붙여넣기커서 뒤에 붙여넣기
P앞에 붙여넣기커서 앞에 붙여넣기
>>들여쓰기현재 줄 들여쓰기
<<내어쓰기현재 줄 내어쓰기
J줄 결합여러 줄을 하나로 합침
텍스트 객체:
객체설명
iw / awinner word / a word
iW / aWinner WORD / a WORD
i" / a"inner double quotes / around quotes
i' / a'inner single quotes / around quotes
i( / a(inner parentheses / around parens
i[ / a[inner square brackets / around brackets
i{ / a{inner curly braces / around braces
Vim 모드 활성화: /vim 명령어 또는 /config를 통한 영구 설정

5. 통합 백그라운딩

Ctrl+B를 누르면 실행 중인 모든 포그라운드 작업(Bash 명령어와 에이전트 모두)을 동시에 백그라운드로 전환한다.
작동 방식:
  1. Claude Code에 백그라운드 실행 요청 또는 Ctrl+B 키 입력
  2. 백그라운드 작업은 고유 ID를 가진 별도 셸에서 실행
  3. 출력 모니터링, 상태 확인, 종료 가능
  4. Tmux 사용자는 Ctrl+B를 두 번 눌러야 함 (tmux prefix 키 때문)
사용 사례:
  • 서버, 빌드, 기타 프로세스를 모니터링하면서 지속적인 개발
  • 장시간 실행되는 테스트를 백그라운드로 보내고 다른 기능 작업
  • 에이전트를 백그라운드에서 실행하고 다른 작업 수행
2.1.0 개선사항:
  • 백그라운드 작업 완료 시 깔끔한 완료 메시지 표시 (noisy 출력 제거)
  • 대량 출력 생성 시 30K 문자로 자동 truncate하여 API 컨텍스트 오버플로우 방지

6. MCP list_changed 알림

MCP (Model Context Protocol) 서버가 list_changed 알림을 통해 재연결 없이 도구, 프롬프트, 리소스를 동적으로 업데이트할 수 있다.
지원 알림 타입:
  • notifications/tools/list_changed: 도구 목록 변경 알림
  • notifications/prompts/list_changed: 프롬프트 목록 변경 알림
  • notifications/resources/list_changed: 리소스 목록 변경 알림
작동 방식:
  1. MCP 서버가 도구 변경 알림을 보냄
  2. Claude Code가 자동으로 해당 서버로부터 도구 목록 새로고침
  3. /mcp 메뉴에 변경사항 즉시 반영
이전 버전 문제점:
  • 알림을 보내도 Claude Code가 응답하지 않음
  • 동적 프롬프트 업데이트가 UI에 나타나지 않아 재시작 필요
  • 커스텀 MCP 명령어가 .claude/commands/에 추가되어도 나타나지 않음
MCP 서버 개발자에게 매우 유용한 개선사항이다.

7. /plan 명령 단축키

프롬프트에서 /plan을 입력하면 plan 모드로 직접 진입한다. 기존의 복잡한 진입 과 정이 단순화되었다. 또한 plan 모드 진입 시 권한 프롬프트가 제거되어 더 빠르게 사 용할 수 있다.

8. 슬래시 명령 개선

입력 시작뿐 아니라 어디서나 /를 입력하면 자동완성이 활성화된다. --tools 플래 그로 대화형 모드에서 Claude가 사용할 수 있는 도구를 제한할 수 있다.
도구 제한 예시:
Bash
claude --tools Read,Grep,Bash

9. Hook 기능 대폭 강화

Hook 시스템이 대폭 강화되어 더 많은 사용 사례를 지원한다. 에이전트, Skill, 슬래 시 명령어에서 Hook을 정의할 수 있다.
10가지 Hook 이벤트:
Hook설명
PreToolUse도구 호출 전 실행 (차단 가능)
PermissionRequest권한 대화 표시 시 실행 (허용/거부 가능)
PostToolUse도구 호출 완료 후 실행
UserPromptSubmit사용자 프롬프트 제출 시 (Claude 처리 전)
NotificationClaude Code가 알림 전송 시
StopClaude Code가 응답 완료 시
SubagentStop서브에이전트 작업 완료 시
PreCompactClaude Code가 컴팩트 작업 실행 전
SessionStart새 세션 시작 또는 기존 세션 재개 시
SessionEndClaude Code 세션 종료 시
새로운 기능:
  • once: true 설정으로 세션당 한 번만 실행되는 Hook 지정
  • frontmatter의 allowed-tools 필드에서 YAML 스타일 목록 지원
  • 플러그인에서 prompt와 agent hook 타입 지원 (기존에는 command hook만 지원)
  • 에이전트 frontmatter에서 PreToolUse, PostToolUse, Stop Hook 지원
  • Skill 및 슬래시 명령어 frontmatter에서 Hook 지원
Hook 정의 예시:
YAML
---
name: secure-operations
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/security-check.sh"
---
once: true 사용 예시:
YAML
hooks:
- type: command
command: "echo 'Session initialized'"
once: true
사용 사례:
  • 알림: Claude Code가 입력 대기 시 커스텀 알림
  • 자동 포맷팅: 파일 편집 후 prettier, gofmt 등 실행
  • 로깅: 규정 준수/디버깅을 위한 실행 명령어 추적
  • 피드백: 코드 규칙에 대한 자동 피드백 제공
  • 커스텀 권한: 프로덕션 파일 또는 민감한 디렉토리 수정 차단
⚠️ 보안 경고:
Hook은 현재 환경의 자격 증명으로 에이전트 루프 중 자동 실행된다. 악의적인 Hook 코드는 데이터를 유출할 수 있으므로, Hook을 등록하기 전에 항상 구현을 검토해야 한 다.

10. 에이전트 제어

settings.json의 권한 설정이나 --disallowedTools CLI 플래그에서 Task(AgentName) 구문으로 특정 에이전트를 비활성화할 수 있다.
설정 예시:
JSON
{
"permissions": {
"deny": ["Task(Plan)", "Task(Explore)"]
}
}

11. Bash 와일드카드 패턴

Bash 도구 권한에서 와일드카드 패턴 매칭이 지원된다. * 기호를 임의의 위치에 사 용할 수 있다.
패턴 예시:
Plain Text
Bash(npm *) # npm으로 시작하는 모든 명령어
Bash(* install) # install로 끝나는 모든 명령어
Bash(git * main) # git과 main 사이에 임의 명령어
:* 구문:
Bash(npm:*)는 npm의 모든 하위 명령어를 허용한다: npm install, npm run dev, npm clean 등.
설정 예시:
JSON
{
"permissions": {
"allow": [
"Bash(npm:*)",
"Bash(git status)",
"Bash(git diff)",
"Bash(git add *)",
"Bash(git commit *)"
],
"ask": ["Bash(npm install *)"]
}
}
권한 우선순위:
  1. Deny 규칙: 도구 사용 완전 차단
  2. Ask 규칙: Allow 규칙보다 우선
  3. Allow 규칙: 자동 허용
모범 사례:
  • 제한적으로 시작하여 필요에 따라 권한 확대
  • 프로젝트별 도구는 .claude/settings.local.json에 설정
  • 공통 도구(npm, git, python 등)는 ~/.claude/settings.json에 설정

12. 원격 세션 지원

claude.ai 구독자를 위해 /teleport/remote-env 슬래시 명령이 추가되었다. 원 격 세션을 재개하고 구성할 수 있다.
/teleport 명령어:
  • 브라우저 버전과 CLI 도구 간 seamless 이동
  • 채팅 기록 및 컨텍스트가 함께 복사됨
  • CLI에서 --teleport <session-id> 플래그 사용 가능
워크플로우 예시:
  1. 웹에서 작업 시작
  2. 작업을 백그라운드로 전환
  3. CLI에서 세션 텔레포트하여 계속 작업
/remote-env 명령어:
  • 원격 세션 환경 구성
  • 리포지토리의 .claude/settings.json에서 Hook 구성 가능
  • 기본적으로 모든 Hook은 로컬 및 원격 환경에서 실행
  • 특정 환경에서만 실행하려면 CLAUDE_CODE_REMOTE 환경 변수 확인
네트워크 액세스:
  • 원격 환경은 보안을 위해 HTTP/HTTPS 네트워크 프록시 뒤에서 실행
  • 기본적으로 네트워크 액세스는 허용 목록 도메인으로 제한
현재 제한사항:
  • 세션 텔레포트는 현재 한 방향만 가능: Claude Code on the web → 로컬 CLI
  • 로컬 세션을 원격 머신(예: AWS 인스턴스)으로 계속할 방법 없음

터미널 개선사항

Shift+Enter 지원

iTerm2, WezTerm, Ghostty, Kitty에서 터미널 설정 수정 없이 Shift+Enter가 바로 동 작한다.

키보드 수정

  • Alt+B와 Alt+F(단어 이동)가 iTerm2, Ghostty, Kitty, WezTerm에서 정상 작동
  • Ghostty, iTerm2, Kitty, WezTerm에서 종료 시 터미널 키보드 모드가 올바르게 리셋
  • CJK 문자(한국어, 일본어, 중국어)를 포함하는 멀티라인 프롬프트에서 불필요한 빈 줄 제거

이미지 붙여넣기

iTerm2에서 Cmd+V로 이미지를 붙여넣을 수 있다(Ctrl+V로 매핑). macOS TIFF 형식 스 크린샷 붙여넣기 안정성이 향상되었다.

보안 수정

민감한 데이터(OAuth 토큰, API 키, 비밀번호)가 디버그 로그에 노출될 수 있던 보안 이슈가 수정되었다. 모든 사용자는 가능한 빨리 업데이트하는 것이 강력히 권장된다 .

성능 개선

시작 성능

다수의 시작 성능 최적화가 적용되었다. 초기 로딩 시간이 단축되었다.

터미널 렌더링

네이티브 인스톨러나 Bun 사용 시 터미널 렌더링 성능이 개선되었다. 이모지, ANSI 코 드, 유니코드 문자 처리가 더욱 빨라졌다.

Jupyter 노트북

셀이 많은 Jupyter 노트북을 읽을 때 성능이 향상되었다.

안정성 개선

  • 파이프 입력(cat refactor.md | claude) 안정성 향상
  • AskQuestion 도구 안정성 개선
  • 컴팩션 안정성 개선
  • sed in-place 편집 명령이 diff 미리보기와 함께 파일 편집으로 렌더링
  • 응답이 출력 토큰 한도로 잘릴 때 자동으로 계속 (오류 메시지 대신)
  • 권한 거부 후에도 서브에이전트(Task 도구)가 계속 작동하여 대체 접근 방식 시도가 능

주요 버그 수정

세션 관리

  • -c 또는 --resume으로 세션 재개 시 파일과 Skill이 올바르게 발견됨
  • 위쪽 화살표나 Ctrl+R 검색으로 기록에서 프롬프트 재생 시 붙여넣은 콘텐츠 손실수 정
  • OAuth 토큰 갱신이 서버 보고와 로컬 만료 확인 불일치 시에도 트리거
  • 세션 지속성 경합 조건 및 409 충돌 수정

파일 작업

  • Write 도구가 하드코딩된 0o600 권한 대신 시스템 umask를 준수
  • FIFO 파일 읽기 시 심볼릭 링크 해석을 건너뛰어 행 방지

명령 실행

  • $() 명령 치환이 파싱 오류 없이 실행
  • 백슬래시 연속이 포함된 멀티라인 bash 명령이 올바르게 처리
  • 글로벌 옵션 뒤의 하위 명령이 올바르게 식별(git -C /path log 등)

이미지 처리

  • 대용량 붙여넣기 이미지가 "Image was too large" 오류 없이 처리

AWS/클라우드

  • AWS Bedrock 서브에이전트가 EU/APAC 교차 리전 추론 모델 구성을 상속하여 403 오 류 해결
  • 백그라운드 태스크의 대용량 출력이 30K자로 잘리고 파일 경로 참조 제공

기타

  • 이름에 점이 있는 리포지토리에서 백그라운드 작업이 'git repository not found' 오류로 실패하던 문제 수정
  • WSL 환경에서 Chrome의 Claude Code 지원
  • 플러그인의 allowed-tools frontmatter에서 ${CLAUDE_PLUGIN_ROOT} 치환 수정

SDK 및 확장 변경

SDK

  • 최소 zod 피어 의존성이 ^4.0.0으로 변경 (⚠️ 주요 변경사항)

VSCode 확장

  • 컨텍스트 메뉴에 현재 선택된 모델명 표시
  • 자동 수락 권한 버튼에 설명 라벨 추가(예: "Yes, allow npm for this project")
  • 마크다운 콘텐츠에서 단락 구분이 올바르게 렌더링
  • 확장에서 스크롤 시 부모 iframe도 스크롤되는 문제 수정

Windows

  • 부적절한 렌더링 문제 수정
  • 실행 파일 생성 실패 시 네이티브 인스톨러가 조용히 실패하는 문제 수정

UI/UX 개선

  • Skill 실행 시 진행 상황 표시(도구 사용이 발생할 때마다 표시)
  • /skills/ 디렉토리의 Skill이 슬래시 명령 메뉴에 기본으로 표시 (user-invocable: false로 제외 가능)
  • Skill 제안이 최근 및 자주 사용하는 Skill을 우선 표시
  • 첫 응답 토큰 대기 시 스피너 피드백 개선
  • 스피너의 토큰 카운트에 백그라운드 에이전트 토큰 포함
  • 권한 프롬프트 UX 개선(Tab 힌트가 푸터로 이동, 깔끔한 Yes/No 라벨)
  • plan 모드 진입 시 권한 프롬프트 제거
  • "Interrupted" 메시지 색상이 덜 위협적으로 변경
  • Skills가 컨텍스트 시각화에서 별도 카테고리로 표시

새로운 환경 변수 및 설정

설정설명
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS기본 파일 읽기 토큰 제한 재정의
CLAUDE_CODE_SHELL자동 셸 감지 재정의
language응답 언어 구성
respectGitignore파일 선택기용 프로젝트별 gitignore 제어
fileSuggestion커스텀 @ 파일 검색 명령어
IS_DEMO스트리밍/녹화용 UI에서 이메일 및 조직 숨김

주요 변경사항 및 제거

  • 최소 zod peer dependency를 ^4.0.0으로 변경 (SDK)
  • 계획 모드 진입 시 권한 프롬프트 제거
  • 빠른 메모리 입력을 위한 # 단축키 제거 (대신 /edit CLAUDE.md 사용)

영향 및 예상 효과

이번 업데이트는 Claude Code 사용자에게 다음과 같은 영향을 미친다.
개발 생산성 향상
Skill Hot-Reload와 향상된 Vim 모션으로 개발 워크플로우가 크게 개선된다. 특히 Skill을 자주 수정하는 사용자와 Vim 사용자에게 유용하다.
에이전트 오케스트레이션 강화
Forked Sub-Agent Context와 에이전트 제어 기능으로 복잡한 자동화 시나리오 구현이 가능해졌다. MCP list_changed 알림은 MCP 서버 개발자에게 필수적인 개선사항이다.
Hook 시스템 성숙
10가지 Hook 이벤트와 다양한 새 기능으로 Hook 시스템이 더욱 강력해졌다. 자동화, 로깅, 보안 강화 등 다양한 사용 사례를 지원한다.
터미널 경험 개선
주요 터미널에서 키보드 동작이 개선되었다. 특히 한국어, 일본어, 중국어 사용자에게 멀티라인 프롬프트 문제 해결과 IME 지원 개선이 반갑다.
보안 강화
민감 데이터 노출 문제 수정으로 보안이 강화되었다. 모든 사용자는 가능한 빨리 업데 이트하는 것이 권장된다.

업데이트 방법

Claude Code 2.1.0으로 업데이트하려면 다음 명령을 실행한다.
Bash
claude update
# 또는 설치 스크립트 재실행
curl -fsSL https://claude.ai/install.sh | sh

참고 자료