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

Claude Code 2.1.305

2.1.304에서 생긴 회귀로 Vertex, Bedrock 등에서 tool search를 거부하는 엔드포인트나 게이트웨이를 쓰면 모든 요청이 실패하던 문제가 고쳐졌습니다. Linux 샌드박스의 `sandbox.allowNestedUserNamespaces`, 사용 한도가 일찍 풀린 것을 감지하는 retry watchdog 설정이 추가됐고, `/usage` 경고는 `f` 키 하나로 고칠 수 있는 한 줄 안내로 바뀌었습니다.

공식 발표 →

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

무엇이 바뀌었나?

Claude Code 2.1.305가 2026년 10월 20일 출시됐습니다. 가장 중요한 수정은 2.1.304에서 생긴 회귀로, tool search를 받아들이지 않는 환경(Vertex, Bedrock, 일부 게이트웨이)에서 모든 요청이 실패하던 문제입니다. 그 밖에 Linux 샌드박스 설정과 무인 재시도 모드 설정이 추가됐고, /usage 경고, MCP 동의 대화상자, Remote Control 안내가 개선됐습니다. 수정은 worktree, 모델 설정, MCP, 서브에이전트, 클라우드 세션, Workflow, 화면 표시와 접근성, self-hosted runner, VS Code 확장, Claude Tag, Code Review에 걸쳐 있습니다.

새 기능

  • sandbox.allowNestedUserNamespaces (Linux)

    Linux 샌드박스 안에서는 user namespace(프로세스를 격리하는 Linux 커널 기능)를 만들 수 없어, 이를 필요로 하는 Chromium이나 rootless podman 같은 도구를 샌드박스 명령으로 실행할 수 없었습니다. 이 설정을 켜면 샌드박스 명령이 user namespace를 만들 수 있습니다. 단, 이렇게 하면 해당 명령이 샌드박스의 파일 보호를 우회할 수 있게 되므로 필요한 경우에만 켜야 합니다.

  • CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS

    무인 재시도 모드(CLAUDE_CODE_RETRY_WATCHDOG)는 사용 한도에 걸리면 예정된 초기화 시점까지 기다렸고, 한도가 그보다 일찍 풀려도 알아채지 못했습니다. 이 환경 변수로 다시 확인할 간격을 정하면, 초기화 전에 풀린 한도를 감지해 작업을 이어갈 수 있습니다.

  • [VSCode] 시작 훅 실행 중 상태 표시

    SessionStart나 Setup 훅이 도는 동안에는 세션이 왜 아직 시작되지 않는지 알 수 없었습니다. 이제 “Running start-up hooks” 스피너 상태가 표시되고, 스크린 리더에도 안내됩니다.

  • [Claude Tag] 참여하지 않은 공개 채널 검색

    Claude가 아직 들어가지 않은 공개 Slack 채널은 Claude Tag 관리자 페이지의 장소 추가(Add place) 검색에 나오지 않았습니다. 이제 검색에 나타나, 관리자가 그 자리에서 바로 설정할 수 있습니다.

주요 개선

  • /usage 경고를 바로 고치기

    /usage의 경고는 무엇이 문제인지는 알려 줘도 어디서 생겼고 어떻게 고칠지는 직접 찾아야 했습니다. 이제 경고마다 원인이 된 출처를 밝힌 한 줄 해결 방법으로 표시되고, f를 누르면 그 해결 방법이 적용됩니다. 같은 해결 방법이 VS Code와 /doctor에도 표시됩니다.

  • MCP 동의 대화상자의 오입력 방지

    프롬프트에 입력하려고 누른 Enter가 갑자기 뜬 MCP 동의 대화상자의 수락(Accept)으로 처리될 수 있었습니다. 이런 일이 덜 일어나도록 개선됐습니다.

  • iTerm2에서 mod 이미지 표시

    iTerm2 3.5 이상에서 전체 화면 렌더링을 쓰면 mod(세션 안에서 Claude가 만드는 인터페이스, 동작 확장)의 Image가 그림 대신 alt 텍스트만 보여 줬습니다. 이제 그림이 표시됩니다.

  • Remote Control spawn 모드 안내

    w를 눌러 spawn 모드를 바꿨을 때 그 설정이 어디에 저장되는지, 이후 claude remote-control이 어떤 모드로 왜 시작되는지 알기 어려웠습니다. 이제 w를 누르면 새 모드가 이 폴더에 저장된다고 알려 주고, 이후 저장된 모드로 시작할 때는 그 모드가 어디서 왔는지 보여 줍니다.

  • [VSCode] 세션 시작 지연 메시지

    훅이 실행 중이 아닌데 세션이 제때 시작되지 않으면 로그인과 네트워크부터 확인하라고 안내해, 실제 원인을 찾기 어려웠습니다. 이제 출력 로그를 먼저 보여 주고 가능한 원인을 나열합니다.

  • [Cloud sessions] self-hosted 환경 삭제 안내

    self-hosted 환경을 지울 때 무엇이 삭제를 막는지, 삭제하면 무엇에 영향이 있는지 알기 어려웠습니다. 이제 대화상자와 오류 메시지가 이를 알려 줍니다.

  • [Claude Tag] 큰 조직의 관리자 페이지

    큰 조직에서는 채널 목록을 불러오는 동안 플러그인, 스킬, 번들 수정이 동작하지 않았습니다. 이제 목록을 불러오는 중에도 수정할 수 있습니다.

동작이 바뀐 항목

  • allowedMcpServers와 managed-mcp.json (변경)

    managed-mcp.json의 stdio 서버 중 ${VAR}를 env에만 쓰는 서버도 allowedMcpServers가 걸러 냈습니다. 이제 이런 서버는 걸러지지 않으므로, 허용 목록에서 빠져 있던 서버가 업데이트 후 불러와집니다. 계속 막으려면 deniedMcpServers에 넣어야 합니다.

  • 경로로 마운트된 플러그인의 allowed-tools (변경)

    조직의 관리형 설정에 allowManagedPermissionRulesOnly가 켜져 있으면, Claude Desktop이 경로로 마운트한 플러그인은 더 이상 allowed-tools를 유지하지 않습니다.

  • /artifacts 삭제 확인 (변경)

    1이나 Enter는 남기기, 2는 삭제, Esc는 취소입니다. 2.1.304까지 동작하던 y, n은 더 이상 답으로 받지 않습니다.

  • mod 도킹 창 너비 (변경)

    mod의 도킹 창이 터미널 너비의 45%를 넘지 않습니다. 더 넓은 터미널에서 정해 둔 너비가 남아 있어도 마찬가지입니다.

  • [Code Review] 재리뷰 시작 문구 (변경)

    이전 리뷰의 차단(blocking) 지적이 아직 남아 있으면 재리뷰가 LGTM으로 시작하지 않습니다.

주요 버그 수정

요청 실패와 모델 설정

  • 2.1.304 회귀: Vertex, Bedrock 등에서 엔드포인트나 게이트웨이가 tool search를 거부하면 모든 요청이 실패하던 문제 수정. ToolSearch가 금지됐거나 --tools에서 빠진 게이트웨이 뒤에서도 같은 문제가 있었습니다. 이제 tool search 없이 다시 요청합니다.
  • 모델 이름이 modelOverrides 값과 대소문자나 [1m] 태그만 달라도 /effort, /autocompact 설정이 적용되지 않던 문제 수정.
  • 서브에이전트가 fallback 모델로 바뀐 뒤 Claude가 그 작업을 한 모델을 잘못 말하던 문제 수정.

worktree와 Bash

  • bare 저장소에서 새 worktree가 기본 브랜치 대신 로컬 HEAD에서 시작되던 문제, 바뀐 것이 없는 서브에이전트 worktree가 정리되지 않던 문제 수정.
  • 디스크가 가득 찼을 때 Bash 명령이 ENOSPC와 파일 경로만 보여 주며 실패하던 문제 수정. 이제 디스크가 가득 찼고 명령이 실행되지 않았다고 알려 줍니다.

MCP, 클라우드 세션, Workflow

  • 클라우드 세션이나 SDK의 setMcpServers로 넘긴 MCP 서버가 세션 도중 사용자 설정의 같은 이름 서버로 바뀌던 문제 수정.
  • 클라우드 세션과 팀원(teammate) 세션에서, 압축이 길이에 맞추려고 가장 오래된 메시지를 요약에서 빼도 Claude에게 알리지 않던 문제 수정.
  • 예약된 Cowork 클라우드 세션에서 WebFetch에 URL 승인이 필요한 서브에이전트마다, 승인할 사람이 없는데도 5분씩 기다리던 문제 추가 사례 수정.
  • Workflow를 재개하면 이미 끝난 pipeline(), parallel() 에이전트를 실행 기록(journal)에서 가져오지 않고 다시 실행하던 문제 수정.
  • Remote Control 사용 중 /resume으로 대화를 바꾸면 /resume 목록에 빈 “(session)” 항목이 남던 문제 수정.
  • [Cloud sessions] Cloud environments 관리자 페이지가 기존 환경을 “installs packages” 오류로 저장하지 못하던 문제 수정.

화면 표시와 접근성

  • 좁은 터미널에서 /usage 행이 잘리던 문제 수정.
  • 시작 경고가 로고 위에 가공되지 않은 텍스트로 출력되던 문제 수정. 이제 경고는 디버그 로그로 가고, 아무것도 제한하지 않는 권한 규칙은 배너 아래 경고 행으로 표시됩니다.
  • 스크린 리더 모드에서 검색창 기호를 VoiceOver가 “telephone recorder”로 읽던 문제, Ctrl+R 검색 결과나 “ultrathink”처럼 강조된 프롬프트 텍스트의 단어 중간에 공백이 들어가던 문제 수정. 검색창은 이제 “Search:“로 읽힙니다.
  • [VSCode] spinnerVerbs 설정으로 기본 동사를 짧은 것으로 바꾸면 스피너가 “Compacting…”을 잘라 보여 주던 문제 수정.

Self-hosted runner

  • 2.1.300 회귀: TERM이 설정된 상태에서 stdout만 runner나 orchestrator와 공유하는 시작 스크립트가 Resource temporarily unavailable로 실패하던 문제 수정.
  • 2.1.296부터 git credential helper나 askpass 프로그램이 GIT_CONFIG로 설정을 읽으면 저장소 접근이 실패하던 문제 수정.
  • 백그라운드로 띄운 runner가 출력을 열어 둔 채 남아 있으면 orchestrator가 spawn-runner 훅을 시간 초과로 보고하던 문제 수정.

Claude Tag (Slack), Code Review

  • 다른 GitHub 계정으로 옮긴 저장소를 Claude Tag 접근 번들에 다시 추가할 수 없던 문제 수정.
  • Slack DM 스레드에서 설정한 루틴이, 같은 스레드의 다른 루틴이 대화를 새로 시작한 뒤 더 이상 게시하지 않던 문제 수정. 이제 두 루틴 모두 계속 게시합니다.
  • 대화가 끝난 Slack 스레드의 루틴이 실제로 게시하지 않고 성공으로 보고하던 문제 수정. 이제 해당 실행은 건너뛰고 만든 사람에게 알립니다.
  • [Code Review] 리뷰 도중 pull request에 여러 번 push되면 가장 최근 커밋을 리뷰하지 않을 수 있던 문제 수정.

알아두면 좋은 점

  • Vertex, Bedrock, LLM 게이트웨이를 쓰는데 2.1.304에서 모든 요청이 실패했다면 이번 버전으로 업데이트하면 해결됩니다.
  • managed-mcp.json과 allowedMcpServers로 MCP 서버를 관리한다면 env에만 ${VAR}를 쓰는 stdio 서버가 업데이트 후 불러와질 수 있습니다. 계속 막으려면 deniedMcpServers에 추가하세요.
  • sandbox.allowNestedUserNamespaces를 켜면 샌드박스 명령이 파일 보호를 우회할 수 있습니다. Chromium, rootless podman처럼 꼭 필요한 경우에만 사용하세요.
  • /artifacts 삭제 확인에 y, n을 쓰던 습관이 있다면 이제 1(남기기), 2(삭제), Esc(취소)로 답해야 합니다.