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

Claude Code 2.1.216

네트워크 송신 제어는 유지하면서 파일시스템 격리만 끄는 sandbox.filesystem.disabled 설정이 추가됐습니다. 긴 세션에서 메시지 정규화 비용이 턴 수에 비례해 제곱으로 커지며 수 초씩 멈추던 문제가 해결됐고, 워크트리로 격리된 서브에이전트가 git -C, --git-dir, GIT_DIR/GIT_WORK_TREE로 공유 체크아웃에 접근하던 문제와 워크플로 저장, 예약 작업이 .claude 심링크를 따라 프로젝트 밖으로 파일을 쓰던 보안 문제도 함께 수정됐습니다. OAuth 토큰이 세션 중 만료, 교체된 뒤 auto mode가 명령을 거부하던 문제, AskUserQuestion이 답변 의도와 반대로 동작하던 문제 등 세션, 권한, 워크트리 관련 회귀가 대거 정리됐습니다.

공식 발표 →

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

무엇이 바뀌었나?

Claude Code 2.1.216이 2026년 7월 20일 출시됐습니다. 파일시스템 격리만 선택적으로 끄는 새 샌드박스 설정이 추가됐고, 긴 세션에서 누적되던 성능 저하가 정리됐습니다. 워크트리 격리와 백그라운드 에이전트의 회귀, .claude 심링크를 통한 프로젝트 밖 파일 쓰기 같은 보안 문제, 그리고 auto mode, 권한 검사, 명령 파싱에 몰려 있던 버그가 대거 수정됐습니다.

새 기능

  • sandbox.filesystem.disabled 설정 추가

    기존 샌드박스는 파일시스템 격리와 네트워크 송신(egress) 제어가 묶여 있어, 파일 접근 제약이 작업에 방해가 되면 샌드박스 전체를 꺼야 했습니다. 이제 sandbox.filesystem.disabled 설정으로 파일시스템 격리만 건너뛰면서 네트워크 송신 제어는 그대로 유지할 수 있습니다.

주요 개선

  • 긴 세션 성능 저하 해결

    대화가 길어질수록 메시지 정규화 비용이 턴 수에 비례해 제곱으로 늘어나, 몇 초씩 멈추거나 재개(resume)가 느려졌습니다. 정규화 경로를 개선해 이 지연을 없앴습니다.

  • /fork 확인 메시지 간소화

    기존 /fork 확인은 정보가 여러 줄에 흩어져 있었습니다. 이제 새 세션 이름, claude attach id, 그리고 복사본이 같은 체크아웃을 공유하는 경우의 안내를 한 줄로 보여줍니다.

  • /context의 컨텍스트 초과 경고 · /compact 실패 표시

    대화가 컨텍스트 윈도우를 넘겨도 명확한 경고가 없었고, /compact가 실패해도 상태를 알기 어려웠습니다. 이제 /context가 컨텍스트 윈도우 초과를 명시적으로 경고하고, 실패한 /compact는 에러로 표시됩니다.

  • /rewind의 심링크·하드링크 보호

    /rewind가 추적 경로의 심링크·하드링크를 따라 파일을 복원하거나 삭제할 수 있었습니다. 이제 심링크·하드링크를 통한 복원·삭제를 하지 않고, 건너뛴 경로 수를 함께 보고합니다.

  • /ultrareview, /code-review ultra의 diff 관련 메시지 개선

    diff가 너무 크거나 비어 있을 때 원인을 알기 어려웠습니다. 이제 /ultrareview의 diff-too-large 에러는 설정된 한도, 측정된 diff 크기, 기여도가 가장 큰 파일을 보여주고, /code-review ultra의 빈 diff 메시지는 비교 기준 ref를 정확히 짚으며 명시적 base 지정을 제안합니다.

  • spend limit 조정 프롬프트에 서버 사유 표시

    지출 한도(spend limit) 변경이 거부되면 이유를 알 수 없었습니다. 이제 서버가 거부한 사유를 프롬프트에 함께 보여줍니다.

  • 백그라운드 세션의 입력 대기 요청 파킹

    백그라운드 세션에서 클라이언트가 붙어 있지 않으면 /mcp, /install-github-app의 입력 요청이 갈 곳이 없었습니다. 이제 붙은 클라이언트가 없을 때 agent view에 “needs input” 요청으로 남겨 둡니다.

  • 번들 dataviz 스킬 업데이트

    기본 차트 팔레트 순서를 재정렬하고, 4개 계열(series) 차트에 직접 라벨을 권하던 잘못된 가이드를 수정했습니다.

주요 버그 수정

세션과 성능

  • 클라우드 세션이 턴 도중 컨테이너가 재시작되면 진행 중이던 메시지를 잃던 문제 수정. 이제 중단된 턴이 재개 시 다시 실행되어, 세션이 응답 불능 상태로 남지 않습니다.

권한과 명령 파싱

  • OAuth 토큰이 세션 중 만료·교체된 뒤 auto mode가 “HTTP 401” 분류기 오류로 명령을 거부하던 문제 수정.
  • && 목록이나 부정(negation) 안에서 리다이렉트가 포함된 복합 문장의 Bash 명령 권한 검사 수정.
  • Windows에서 읽기 전용 명령이 권한 프롬프트 없이 네트워크 경로에 접근하던 문제 수정.
  • Bash 명령의 비ASCII 문자 파싱을 실제 셸의 단어 경계와 일치하도록 수정.
  • PowerShell 도구가 보이지 않는 유니코드 문자가 포함된 명령을 권한 검증하던 문제 수정. git, gh 명령 인자 검증도 강화됐습니다.

상호작용과 프롬프트

  • AskUserQuestion이 답변에서 “기다려” 또는 “먼저 설명해”라고 했는데도 Claude에게 계속 진행하라고 지시하던 문제 — 이제 자유 입력 답변에는 중립적인 문구가 전달됩니다.
  • Claude Code on the web에서 세션이 몇 분간 유휴 상태였다가 같은 질문을 다시 묻고 답변을 버리던 문제 수정.
  • 파일을 수정하는 훅 이후 @-멘션이 아무것도 조용히 첨부하지 않던 문제, vim의 c 연산자·붙여넣기 dot-repeat, 재개 시 statusline이 두 번 실행되던 문제, 실패 시 resume-picker가 멈추던 문제 수정.
  • 백그라운드 작업이 있는 장기 세션에서 유휴 프롬프트의 Esc-Esc가 rewind picker를 열지 않던 문제 수정.

백그라운드 에이전트와 워크트리

  • 재개된 백그라운드 에이전트 세션이 기본 에이전트로 되돌아가던 문제 — 이제 에이전트의 프롬프트와 도구 제한이 복원됩니다.
  • 워크트리로 격리된 서브에이전트가 git -C, --git-dir, GIT_DIR/GIT_WORK_TREE로 git을 공유 체크아웃 쪽으로 돌리던 문제 수정.
  • 작업 디렉토리가 선택한 프로젝트와 맞지 않을 때 워크트리 세션이 다른 프로젝트의 남은 워크트리로 들어가던 문제 수정.
  • git 리포지토리가 없는 워크트리를 쓰던 백그라운드 세션을 삭제할 수 없던 문제 수정.
  • 에이전트 목록에서 Ctrl+X를 두 번 눌러도 세션이 삭제되지 않고, 백그라운드 워커가 죽은 삭제된 세션이 다시 나타나던 문제 수정.
  • 시작 구간(startup window)에 우선순위 높은 메시지가 도착하면 백그라운드 서브에이전트가 취소되던 문제 수정.
  • claude daemon stop --any가 오래된 레거시 데몬 lockfile 때문에 무관한 프로세스를 종료할 수 있던 문제 수정.

인증, 연결, 보안

  • 워크플로 저장과 예약 작업 쓰기가 .claude의 심링크를 따라 프로젝트 밖으로 파일을 쓸 수 있던 문제 수정.
  • Claude-in-Chrome이 세션 OAuth 토큰에 필요한 스코프가 없을 때 재연결에서 403 루프를 돌던 문제 수정.
  • MCP 재인증이 새 로그인이 성공하기 전에 동작 중인 자격 증명을 폐기하던 문제, 그리고 백그라운드 세션의 재연결 안내가 쓸 수 없는 명령을 가리키던 문제 수정.

스킬, 명령, 텔레메트리

  • 세션 중 변경된 스킬·명령이 재시작 전까지 슬래시 메뉴에 나타나지 않던 문제 수정.
  • name frontmatter 필드가 있는 플러그인 스킬이 슬래시 명령 자동완성에서 플러그인 접두사를 잃던 문제 수정.
  • 텔레메트리가 권한 거부를 잘못 보고하던 문제 — 실패한 권한 프롬프트 요청은 더 이상 사용자 거부로 집계되지 않고, 사용자 인터럽트는 거부가 아니라 abort로 보고됩니다.
  • Prometheus 메트릭 엔드포인트(OTEL_METRICS_EXPORTER=prometheus)가 잘못된 # UNIT 줄을 내보내던 문제 수정.

터미널과 표시

  • /memory, /plan, /keybindings, Ctrl+G에서 연 GUI 에디터가 떠 있는 동안 터미널에 마우스·포커스 잔상이 남던 문제 수정. /memory는 더 이상 에디터가 닫힐 때까지 기다리지 않습니다.
  • 전체 화면 모드에서 다이얼로그가 패널 오른쪽 끝을 넘어 늘어나던 문제, /config 설정 목록이 키보드 힌트 푸터를 잘라내던 문제 수정.
  • transcript 모드(Ctrl+O) 푸터 힌트가 104열보다 좁은 터미널에서 줄바꿈되던 문제 수정.
  • [VS Code] 오른쪽-왼쪽 문자(아랍어, 히브리어, 페르시아어)가 영어나 코드와 섞이면 순서가 뒤집혀 렌더링되던 문제 수정.

알아두면 좋은 점

  • sandbox.filesystem.disabled는 파일 격리만 끈다 — 네트워크 송신(egress) 제어는 그대로 유지되므로, 파일 접근 제약만 풀고 싶을 때 샌드박스 전체를 끄지 않아도 됩니다.
  • 워크트리 격리 서브에이전트를 쓰는 팀은 동작 재확인 권장git -C, --git-dir, GIT_DIR/GIT_WORK_TREE로 공유 체크아웃에 접근하던 경로가 막혔고, 작업 디렉토리가 맞지 않을 때 다른 프로젝트의 워크트리로 들어가던 문제도 수정됐습니다.
  • .claude 심링크로 인한 프로젝트 밖 쓰기가 차단됐다 — 워크플로 저장·예약 작업이 .claude 심링크를 따라가지 않으며, /rewind도 심링크·하드링크를 통한 복원·삭제를 하지 않습니다. 심링크를 쓰던 환경이라면 동작 변화를 확인하세요.
  • auto mode의 OAuth 만료 거부가 해소됐다 — 토큰이 세션 중 만료·교체된 뒤 명령이 “HTTP 401”로 거부되던 문제가 수정됐으므로, 장기 세션에서 auto mode를 쓰는 경우 이전보다 안정적으로 동작합니다.