claudekit / updates / claude-code-2-1-169
[ PATCH · ]

Claude Code 2.1.169

`--safe-mode` 플래그(`CLAUDE_CODE_SAFE_MODE`)로 모든 커스터마이징(CLAUDE.md, plugins, skills, hooks, MCP servers)을 끄고 시작할 수 있고, `/cd` 명령으로 프롬프트 캐시를 깨지 않고 세션 작업 디렉토리를 옮길 수 있습니다. `disableBundledSkills` 설정은 번들된 skills, workflows, 내장 슬래시 명령을 모델에 노출하지 않게 숨깁니다. 그 외 enterprise managed MCP 정책(`allowedMcpServers`/`deniedMcpServers`)이 재연결과 IDE 설정에서 강제되지 않던 문제, Up/Down 화살표가 줄바꿈된 입력을 건너뛰던 동작, claude.ai 자격증명 사용자에게 매 턴 시작마다 발생하던 macOS UI stall, 2.1.161에서 회귀된 Windows `claude -p` slow/hang 등이 정리되었습니다.

공식 발표 →

이 글은 공식 문서를 바탕으로 요약·정리한 내용입니다.

무엇이 바뀌었나?

Claude Code 2.1.169가 2026년 6월 8일 출시됐습니다. 문제 해결과 운영에 직접 쓸 수 있는 세 가지 새 도구(--safe-mode, /cd, disableBundledSkills)가 들어왔고, enterprise 매니지드 MCP 정책 강제와 백그라운드 세션 운영 관련 회귀들이 함께 정리되었습니다.

새 기능

  • --safe-mode 플래그와 CLAUDE_CODE_SAFE_MODE 환경변수

    사용자 커스터마이징(CLAUDE.md, plugins, skills, hooks, MCP servers) 중 어느 항목이 문제를 일으키는지 분리해 보려면 매번 일일이 비활성화해야 했습니다. 이제 --safe-mode 플래그(또는 CLAUDE_CODE_SAFE_MODE 환경변수)로 시작하면 모든 커스터마이징이 꺼진 상태로 Claude Code가 떠서, 베이스라인 동작과 비교할 수 있습니다.

  • /cd 명령으로 세션 작업 디렉토리 이동

    세션 중간에 다른 디렉토리로 옮기려면 새 세션을 띄워야 했고, 그 과정에서 프롬프트 캐시가 깨졌습니다. 이제 /cd <path> 명령으로 같은 세션에서 작업 디렉토리를 옮길 수 있어 캐시가 유지됩니다.

  • disableBundledSkills 설정과 CLAUDE_CODE_DISABLE_BUNDLED_SKILLS 환경변수

    Claude Code에 번들된 skills, workflows, 내장 슬래시 명령을 모델에 노출하지 않도록 숨기는 방법이 없었습니다. 이제 disableBundledSkills 설정 또는 동명 환경변수로 번들 항목 전체를 모델 시야에서 제외할 수 있습니다.

주요 개선

  • /workflows가 턴 진행 중에도 즉시 열림

    Claude가 응답을 만드는 중에는 /workflows가 응답이 끝날 때까지 막혀 있었습니다. 이제 턴 진행 중에도 즉시 열려 워크플로 상태를 확인할 수 있습니다.

  • TaskCreate 신뢰성 보강

    잘못된 입력이 들어오면 즉시 실패해 디버깅이 어려웠습니다. 이제 잘못된 입력은 자동으로 복구를 시도하고, 미로드 도구에 대한 validation error에는 스키마가 함께 포함돼 원인을 바로 알 수 있습니다.

  • Vertex/Foundry 기본 idle timeout 복원

    스트림이 stall된 상태에서 무기한 매달려 있던 문제가 있었습니다. Vertex와 Foundry에서 기본 5분 idle timeout이 복원되어 stall이 감지되면 스트림이 중단됩니다. 옵트아웃하려면 API_FORCE_IDLE_TIMEOUT=0을 설정합니다.

  • Remote-managed settings의 부분 적용

    매니지드 설정에 잘못된 항목이 하나라도 있으면 전체 페이로드가 조용히 드롭되어, 의도한 정책이 강제되지 않았습니다. 이제 잘못된 항목 외 나머지 유효한 정책은 그대로 적용되고, 검증 오류는 표면에 노출됩니다.

  • 백그라운드 세션의 플래그 보존

    retire→wake 사이클에서 --ide, --chrome, --bare, --remote-control 같은 플래그가 사라져 재시작 후 동작이 달라졌습니다. 이제 이 플래그들이 세션 생애 전반에 걸쳐 유지되고, respawn 상태 검증도 강화되었습니다.

  • 응답 스트리밍과 스피너 애니메이션의 CPU 사용량 감소

    스트리밍 중과 스피너 렌더링 시 CPU 사용량이 불필요하게 높았습니다. 두 경로 모두 CPU 사용량이 줄었습니다.

  • CLAUDE.md 길이 경고 임계값이 컨텍스트 윈도우에 비례

    “CLAUDE.md is too long” 경고가 모델별 컨텍스트 윈도우와 무관하게 동일한 임계값으로 떴습니다. 이제 모델 컨텍스트 윈도우 크기에 비례해 임계값이 정해집니다.

주요 버그 수정

권한과 매니지드 설정

  • enterprise 매니지드 MCP 정책(allowedMcpServers/deniedMcpServers)이 재연결, IDE-typed configs, --mcp-config로 추가된 서버(설치 후 첫 세션), 원격 설정 로드 이전 시점에 강제되지 않던 문제 수정. 또한 원격 설정이 없는 조직의 cold start 지연도 함께 개선.
  • untrusted project settings에서 trust confirmation 없이 OTEL client-certificate paths를 설정할 수 있던 보안 이슈 수정.

백그라운드 에이전트와 세션

  • claude agents --json 출력에서 blocked 상태와 방금 디스패치된 백그라운드 세션이 빠지던 문제 수정. 완료된 세션까지 포함하는 --all 옵션과 id, state 필드가 추가되었습니다.
  • worker가 죽은 동안 대기 중이던 stale permission/dialog prompts가 원격 세션에 재연결할 때마다 매번 다시 뜨던 문제 수정.
  • 백그라운드 에이전트가 pre-warmed worker에 디스패치될 때 프로젝트 레벨 설정의 env 값(예: ANTHROPIC_MODEL)을 무시하던 문제 수정.
  • 백그라운드 세션이 worktree에 들어가기 전 shared-checkout 편집을 시도해 거절당하던 wasted edit — 이제 worktree 진입 전에는 편집이 차단됨을 미리 알려 회피.
  • WSL/Windows Terminal에서 agents view를 빠져나갈 때 stale/garbled frame이 남던 문제 수정.
  • MCPB 플러그인 캐시가 Windows에서 spurious 무효화되어 불필요한 재추출이 일어나던 문제 수정.
  • plugin .in_use PID lock 파일이 무한 누적되던 문제 — 크래시 세션이 남긴 stale 마커는 하루 한 번 정리됩니다.

터미널과 UI

  • 긴 입력 한 줄이 시각적으로 여러 행으로 줄바꿈된 상태에서 Up/Down 화살표가 wrapped rows를 건너뛰고 명령 히스토리로 점프하던 동작 수정. 시각적 행 단위로 먼저 이동하고, 히스토리 호출은 가까운 가장자리로 진입합니다.
  • claude.ai 자격증명으로 로그인한 macOS 사용자에게 매 턴 시작마다 약 30-50ms UI stall이 발생하던 문제 수정.
  • Windows에서 claude -p가 슬래시 명령/스킬 스캔 대기 동안 느리거나 hang처럼 보이던 회귀 수정(2.1.161에서 도입).
  • 커스텀 statusline 사용자에게 footer hint(예: “esc to interrupt”)가 보이지 않던 문제 수정.
  • 슬래시 명령 메뉴의 skill 태그 색 대비 개선.

플랫폼과 인프라

  • Remote Control이 세션 재개 중 OAuth 토큰 갱신과 동시에 발생할 때 “reconnecting” 상태에서 stuck되던 문제 수정.
  • Windows 시작 시 캐시된 자격증명 없이 백그라운드 git 명령이 실행되면 Git Credential Manager의 “Connect to GitHub” 팝업이 뜨던 문제 수정.
  • Windows auto-updater가 세션 안에서 claude.exe가 다른 프로세스에 점유된 상태로 계속 재시도하던 문제 수정 — 점유가 확인되면 그 세션 안에서는 재시도 중단.

알아두면 좋은 점

  • 2.1.167, 2.1.168은 한 줄 안정성 패치 — 두 버전 모두 changelog가 “Bug fixes and reliability improvements” 한 줄뿐인 핫픽스라 별도 콘텐츠로 다루지 않습니다.
  • --safe-mode는 문제 격리용 — 모든 커스터마이징을 끈 베이스라인과 비교해 어느 항목이 원인인지 좁히는 도구입니다. 평소 운영에는 사용하지 않습니다.
  • /cd는 같은 세션 내 이동 — 프롬프트 캐시를 유지하면서 working directory만 바꿉니다. 새 프로젝트 컨텍스트로 완전히 갈아타려면 여전히 새 세션이 적합합니다.
  • disableBundledSkills로 모델 시야 제어 — 번들된 skills, workflows, 내장 슬래시 명령을 모델에 노출하지 않는 옵션입니다. 조직이 자체 스킬만 노출하고 싶을 때 사용합니다.
  • enterprise MCP 정책 강제 강화의 영향 — 이전에는 재연결, IDE-typed configs, --mcp-config, 원격 설정 로드 전 시점에 정책이 강제되지 않았습니다. 이전에 의도와 다르게 강제가 풀려 있던 환경은 업데이트 후 정책이 실제로 적용되는지 재확인하세요.
  • OTEL client-certificate paths 보안 수정 — 신뢰되지 않은 프로젝트 설정이 trust confirmation 없이 OTEL client-certificate 경로를 설정할 수 있었습니다. 보안 영향이 있으므로 해당 환경은 업그레이드를 권장합니다.
  • claude agents --json 스키마 변경id, state 필드가 추가되고 --all 옵션이 도입됐습니다. 출력을 파싱하는 자동화는 새 필드를 활용하도록 확인하세요.