Claude Code 2.1.293~2.1.296 변경 정리: Haiku 5.5와 훅 onFailure
2.1.293부터 2.1.296까지 나흘 사이에 네 번의 릴리스가 나왔습니다. 모델, 훅, 서브에이전트, Claude apps 게이트웨이 쪽에 새로 쓸 수 있는 항목이 많아 기능 위주로 묶었습니다.
- 2.1.293에서 Claude Haiku 5.5(claude-haiku-5-5)가 Anthropic API의 기본 Haiku 모델이 되었고, 컨텍스트는 1M입니다.
- 2.1.295에서 command·HTTP 훅에 onFailure: "block"이 추가되어 훅이 실행되지 못하면 동작을 막을 수 있습니다.
- 2.1.296에서 서브에이전트 frontmatter에 autoCompactWindow가 생겨 서브에이전트만 더 일찍 자동 압축할 수 있습니다.
- MCP 도구 설명 기본 한도는 2,048자에서 4,096자로 늘었고, Read 도구에는 allow_large 옵션이 붙었습니다.
목차
릴리스 노트 전체
공식 릴리스 노트의 280개 항목을 원문 순서대로 한 줄씩 옮겼습니다. 더하거나 뺀 항목은 없습니다.
v2.1.293 (2026-10-07)
- Claude Haiku 5.5(`claude-haiku-5-5`)를 추가했습니다. 이제 Anthropic API의 기본 Haiku 모델이며, 컨텍스트 1M, Mtok당 $0.10/$0.50입니다(100K를 넘는 프롬프트는 $0.50/$2.50).
- `subagentStatusLine` 페이로드에 `agentType`를 추가했습니다. 이제 스크립트에서 사용자 지정 서브에이전트 유형을 구분할 수 있습니다.
- mod용 `$.tool.register`에 `isDeferred`를 추가했습니다. `false`로 설정하면 도구 검색 뒤에 두지 않고 처음부터 프롬프트에 도구 스키마를 나열합니다.
- Claude가 컨텍스트 압축 직전에 수행한 자신의 마지막 작업을 압축 후에 완료된 것으로 간주해, 끝난 작업을 철회하거나 다시 하는 문제를 고쳤습니다.
- HTTP MCP 연결이 닫힐 때까지 보낸 모든 요청을 계속 보관하던 메모리 누수를 고쳤습니다.
- Claude가 작업하는 동안 보낸 메시지가 `←`로 세션을 백그라운드로 옮길 때 사라지던 문제를 고쳤습니다. 대기 중인 메시지를 옮길 수 없으면 `←`는 이제 그대로 유지되며 그 사실을 알려 줍니다.
- `/model`의 effort를 ←/→로 조절할 때 가장 높거나 낮은 단계를 넘어 순환되어, Low가 모델의 기본 effort로 실수로 저장될 수 있던 문제를 고쳤습니다.
- `--chrome`으로 시작한 세션에서 `/tui`가 Claude in Chrome 연결을 끊고 `--no-chrome`을 무시하던 문제를 고쳤습니다.
- 호스트, 권한 규칙 또는 `--tools` 목록이 `SendMessage` 도구를 제거한 세션(재개된 세션 포함)에서도 Claude에게 `SendMessage`로 서브에이전트를 이어 가거나 메시지를 보내라고 안내하던 문제를 고쳤습니다.
- 서브에이전트와 `--agent` 세션에서 자체 도구 목록에만 빠져 있는 기본 제공 도구를 세션 전체에서 비활성화된 것으로 안내하던 문제를 고쳤습니다.
- claude.ai와 동기화된 스킬의 수정된 설명이 새 대화를 시작하거나 `/clear`를 실행할 때까지 모델에 전달되지 않을 때가 있던 문제를 고쳤습니다.
- 로그인이 만료되었거나 곧 만료될 때 `claude logs`, `stop`, `kill`, `rm` 및 `claude daemon status`, `stop`, `uninstall`이 간혹 로그아웃시키던 문제를 고쳤습니다.
- 세션 폴더를 읽는 데 일시적으로 실패하면(예: 열린 파일이 너무 많은 경우) 푸터의 에이전트 수가 사라지던 문제를 고쳤습니다.
- `worker`라는 이름의 사용자 지정 에이전트가 시작될 때 "Agent"로 표시되던 문제와, 에이전트가 끝나면 에이전트 상세 대화 상자의 제목에서 에이전트 유형이 사라지던 문제를 고쳤습니다.
- 게시 호출이 아직 스트리밍 중일 때 Artifact 도구의 대화 기록 행이 잠깐 `Artifact("(unprintable path)")`로 표시되던 문제를 고쳤습니다.
- Linux에서 샌드박스 명령이 실행되는 동안 설정 파일을 "파싱할 수 없다"는 이유로, 다른 체크아웃 안에 있는 저장소 등 일부 저장소의 `/ultrareview` 업로드를 잘못 거부하던 문제를 고쳤습니다.
- split-index 파일 때문에 `/ultrareview` 업로드를 거부할 때, git이 인덱스를 읽지 못하게 될 수 있는 git 명령을 안내하던 문제를 고쳤습니다.
- 매우 긴 Remote Control 및 클라우드 세션에서 응답이 스트리밍되지 않고 한 블록씩 나타날 수 있던 문제를 고쳤습니다.
- Remote Control이 자격 증명을 복구할 때마다 세션의 시작 기록을 다시 업로드하던 문제를 고쳤습니다.
- `claude remote-control`로 시작한 세션에서 PushNotification이 "Remote Control inactive"라고 보고하던 문제를 고쳤습니다.
- 플러그인 훅 워커가 재시작되는 동안 mod의 `classic.*` 이벤트 훅이 건너뛰어져 설정 훅만으로 응답하던 문제를 고쳤습니다.
- `$.session.append`를 호출하는 mod에서 `claude plugin test`가 실패하던 문제를 고쳤습니다. 이제 새로운 `mock.session`으로 테스트에서 추가된 행을 다시 읽을 수 있습니다.
- Docker Desktop이 설치된 Mac(`~/.docker/bin` 아래 링크)에서 `claude plugin eval`이 Bash 권한을 부여하는 모든 실행을 거부하던 문제를 고쳤습니다. 이제 거부 메시지에 자격 증명 저장소의 어느 부분이 링크를 가지고 있었는지 표시됩니다.
- `desktop` 정책이 `builtinBrowserEnabled` 같은 Claude Desktop 내장 브라우저 키를 설정하면 Claude apps 게이트웨이가 시작을 거부하던 문제를 고쳤습니다.
- 동의가 `.claude/settings.local.json` 또는 `--settings` 파일에만 저장된 경우 `claude agents`가 백그라운드 세션에서 무시되는 bypass 권한을 제공하던 문제를 고쳤습니다. 이제 먼저 동의를 요청하며, bypass를 무시하는 세션에는 사라지지 않는 짧은 알림이 표시됩니다.
- 프롬프트에 보내지 않은 텍스트가 있거나(이제 이동이 취소됨) 답변을 기다리는 질문이 있는데도 `←`가 10초 뒤에 세션을 백그라운드로 옮기던 문제를 고쳤습니다.
- `←`를 눌러 세션을 백그라운드로 옮기려던 직후 권한 프롬프트에서 Esc 또는 피드백 없는 No를 선택해도 턴이 중지되지 않던 문제를 고쳤습니다.
- 세션 폴더를 읽을 수 없을 때(예: 열린 파일이 너무 많은 경우) 에이전트 보기가 잠깐 세션 목록을 자리 표시 행으로 바꾸던 문제를 고쳤습니다.
- Claude가 Read 도구 대신 Bash 도구에서 단일 파일 대상 cat, head, tail, sed -n 또는 grep 명령으로 파일을 볼 때 경로 범위 규칙과 중첩된 CLAUDE.md 파일이 로드되지 않던 문제를 고쳤습니다.
- 같은 단어로 시작하고 끝나는 붙여넣기 텍스트가 직접 입력한 것처럼 Claude에게 전송될 때가 있던 문제를 고쳤습니다.
- 붙여넣기 직후 입력하거나 붙여넣은 악센트가 마지막 글자와 합쳐지면 붙여넣은 텍스트 속 스킬 이름이 직접 입력한 것으로 처리되던 문제를 고쳤습니다.
- 보고서를 전송하는 중에 Ctrl+O 또는 Ctrl+Z를 누르면 `/feedback`이 초안 목록으로 돌아가 전송을 취소할 수 없게 되던 문제를 고쳤습니다.
- 파일이나 폴더를 삭제할 수 없을 때 `claude purge`가 아무 알림 없이 멈추던(종료 코드 0 또는 터미널에서 멈춤) 문제를 고쳤습니다. 이제 나머지를 삭제하고, 삭제하지 못한 항목을 나열한 뒤 종료 코드 1로 끝납니다.
- keybindings.json 검사를 고쳤습니다. 단독 " "(스페이스 키)는 더 이상 오류로 보고되지 않으며, "ctrl+ k" 같은 키에는 이제 경고가 표시됩니다.
- 공백으로만 이루어진 줄에서 vim 모드의 `>>`와 `<<`가 커서를 줄 끝 너머에 두어 이어서 입력한 `x`가 아무것도 지우지 못하던 문제를 고쳤습니다.
- vim 모드를 고쳤습니다. Visual 모드에서 전체 줄을 삭제(`V` 후 `d`)하면 커서가 첫 번째 공백이 아닌 문자에 위치하고, 그 뒤의 `.`는 커서가 있는 줄에 적용됩니다.
- Windows: 상태 표시줄, 훅 또는 셸 명령을 중지할 때 같은 프로세스 ID를 부여받은 관련 없는 프로세스가 종료될 때가 있던 문제를 고쳤습니다.
- 2.1.281에서 변경한 auto 모드 거부 메시지(거부가 정확한 명령만이 아니라 그 결과에도 적용된다고 Claude에게 알리던 내용)를 되돌렸습니다.
- 컨테이너 재시작으로 대기 중인 `/loop` 깨우기나 예약 작업이 사라진 뒤에도 클라우드 세션이 계속 잠든 상태로 남던 문제에 대한 2.1.290의 수정을 되돌렸습니다. 이제 Claude에게 알리지 않으며 세션은 계속 잠든 상태로 남습니다.
- Team 및 Enterprise 조직의 시작 과정을 개선했습니다. 정책 및 관리형 설정을 더 일찍 가져오며, 응답이 지연된 요청은 3초 뒤에 다시 시도합니다.
- Claude in Chrome을 개선했습니다. 브라우저가 탭 정보를 늦게 보고할 때 거부되는 페이지 동작이 줄었습니다.
- 브라우저에 연결할 수 없을 때 표시되는 클라우드 세션의 Claude in Chrome 메시지를 개선했습니다. 둘 이상의 조직에 속해 있으면 확장 프로그램이 같은 조직에 로그인되어 있어야 한다는 점과 변경 방법을 안내합니다.
- Bash 편집 diff 안내를 개선했습니다. 나열된 파일이 명령이 실행되는 동안 변경되었으며, 다른 프로세스의 쓰기도 포함될 수 있다고 알려 줍니다.
- 아티팩트를 개선했습니다. Claude가 라이브러리를 2주 이상 지난 정확한 버전으로 고정합니다.
- 사용 중인 세션이 없을 때 claude.ai 스킬 동기화가 변경 사항을 확인하는 주기를 10분에서 약 40분으로 변경했습니다.
- 에이전트 목록과 모델에 알리는 MCP 서버의 순서를 변경했습니다. ASCII가 아닌 문자가 포함된 이름은 이제 ASCII 이름 뒤에 정렬됩니다.
- OpenTelemetry `claude_code.at_mention` 로깅을 변경했습니다. 이제 프롬프트를 읽을 때마다 에이전트 이벤트와 MCP 리소스 이벤트를 각각 최대 100개까지만 내보냅니다.
- Self-hosted runner: 오케스트레이터가 폴링 사이에 일정하게 5초가 아니라 4~6초 동안 대기하도록 변경했습니다. 한 환경의 여러 복제본이 같은 순간에 폴링하지 않게 됩니다.
- [Claude Tag] 워크스페이스 간에 공유되는 Enterprise Grid 채널에서 Slack이 연결되지 않은 워크스페이스로 메시지를 표시할 때 Slack의 Claude가 워크스페이스가 설정되지 않았다고 답하던 문제를 고쳤습니다.
- [Claude Tag] 관리자가 채널의 커넥터, 플러그인, 스킬 또는 규칙을 변경하면 Slack의 Claude가 채널에서 작업 도중 멈추던 문제를 고쳤습니다. 이제 변경 사항은 Claude가 작업을 마친 뒤에 적용됩니다.
- [Claude Tag] Slack의 Claude에게 추가 메모와 함께 스레드의 루틴을 지금 실행하라고 요청하면 결과를 게시할 수 없는 별도 실행이 시작되던 문제를 고쳤습니다. 이제 해당 스레드에서 실행이 이어집니다.
- [Claude Tag] Claude Tag 관리자 설정에서 액세스 번들의 Add a connector 대화 상자가 Google에 한 번 로그인하면 모든 Google 커넥터를 연결됨으로 표시하던 문제를 고쳤습니다.
- [Claude Tag] Claude Tag 관리자 설정을 개선했습니다. 아직 연결되지 않은 Enterprise Grid도 Connect 버튼과 함께 나열됩니다.
- [Claude Tag] 관리자만 게시할 수 있는 공지 채널에 Slack의 Claude가 소개 메시지를 게시하지 않고 참여하도록 변경했습니다.
- [Claude Tag] Claude Tag 관리자 설정에서 채널 규칙 한도를 각 워크스페이스와 조직 전체 Slack 페이지 모두 20개에서 50개로 변경했습니다.
- [Code Review] Code Review의 Add a repository 대화 상자를 개선했습니다. 추가할 수 없었던 각 저장소와 그 이유(예: GitHub 쓰기 권한 없음)를 나열합니다.
v2.1.294 (2026-10-08)
- "Block commands that..."처럼 지시문으로 작성된 `prompt` 및 `agent` 훅이 막아야 할 것을 허용하던 문제를 고쳤습니다.
- "Carry on if the build is broken"처럼 지시문으로 작성된 Stop 및 SubagentStop의 `prompt` 훅을 판단하는 방식을 개선하여 Claude가 일찍 멈출 가능성을 줄였습니다.
v2.1.295 (2026-10-08)
- command 및 HTTP 훅에 `onFailure: "block"`을 추가했습니다. 훅이 시작되지 못하거나, 시간 초과되거나, 예상치 못한 코드로 종료되면 동작을 통과시키지 않고 차단합니다.
- Program Status Protocol(OSC 7501) 지원을 추가했습니다. 이를 구현한 터미널은 Claude Code가 작업 중인지, 사용자를 기다리는지, 완료되었는지 표시할 수 있습니다.
- `/copy` 선택기에 인용 텍스트를 추가해, 작성한 메시지를 `>` 표시 없이 복사할 수 있습니다
- `claude plugin install`, `enable`, `disable`, `marketplace add`가 쓰는 설정 파일이 로드되지 않을 때 경고를 추가했습니다
- `claude -p` 실행이 마지막 턴 이후에도 열려 있을 때, stderr가 터미널이면 무엇을 기다리는지 알려 주는 한 줄을 추가했습니다
- Claude apps gateway의 Bedrock, Vertex, Foundry 및 기타 클라우드 업스트림에서 `timeouts.upstream_ttfb_ms` 지원을 추가했습니다. 이제 설정한 값이 해당 업스트림에서 스트림이 시작되기까지 걸리는 시간을 제한하며, 초과하면 페일오버되거나 502가 반환됩니다
- `←`가 현재 도구의 완료를 기다리는 동안 턴을 중단하면 "Backgrounding cancelled" 메시지를 표시하도록 추가했습니다
- 모든 Claude apps gateway 업스트림에 선택 사항인 `models` 목록을 추가했습니다. 목록에 있는 모델만 해당 업스트림으로 전송되며 페일오버 시에도 같고, 항목 안의 `*` 하나는 와일드카드로 쓰입니다
- 관리형 설정이 없는 머신에서도 사용자 설정에 `forceLoginMethod: "gateway"`와 `forceLoginGatewayUrl`을 지정할 수 있도록 지원을 추가해, `/login`이 해당 Claude apps gateway에서 열립니다
- 플러그인의 README에 설치 안내 줄이 없으면 `claude plugin validate`가 조언을 표시하도록 추가했습니다. 붙여 넣을 줄을 출력하며, `--strict`를 써도 종료 코드는 바뀌지 않습니다
- Claude apps gateway의 `inference` 감사 이벤트에 `upstream_request_id`를 추가했습니다. 지원 문의에 쓸 수 있도록 Amazon Bedrock, Anthropic API 또는 다른 업스트림의 요청 ID를 담습니다
- mod용 `$.ui.notify`를 추가했습니다. 사용자의 알림 설정을 통해 네이티브 알림을 띄우고 어느 채널에서 보냈는지 알려 줍니다
- mod의 `Button`에 문자열과 `Text` 자식을 추가해, 목록의 한 행을 칩이나 흐린 세부 정보가 들어 있는 하나의 누를 수 있는 항목으로 만들 수 있습니다
- 무인 재시도 모드(`CLAUDE_CODE_RETRY_WATCHDOG`)가 429 및 529 오류를 기다리는 시간을 제한하는 `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`를 추가했습니다
- Claude apps gateway의 성공한 추론 응답에 `request-id` 헤더를 추가해, Claude Code 텔레메트리의 `request_id`가 게이트웨이의 감사 로그와 일치하도록 했습니다
- 게이트웨이, Bedrock, Vertex 또는 Foundry가 context-1m 베타를 거부할 때 `[1m]` 모델의 모든 요청이 실패하던 문제를 고쳤습니다. 이제 Claude Code가 해당 베타 없이 다시 요청합니다
- 백그라운드 작업이 다른 턴을 시작할 때 `claude -p` 텍스트 출력에서 이전 응답이 누락되던 문제를 고쳤습니다. 이제 각 턴의 응답이 해당 턴이 끝날 때 출력됩니다
- 헤드리스 및 SDK 세션에서 원격 MCP 서버가 15초보다 긴 장애 후 연결이 끊긴 채로 남거나, 연결 직후 매번 연결을 끊는 서버에 빠르게 반복 재연결하던 문제를 고쳤습니다. 반복되는 연결 끊김은 이제 최대 30초까지 간격을 늘려 재시도합니다
- 서버의 오류 응답에 네트워크 오류 이름이 우연히 포함되어 있을 때 원격 MCP 연결이 끊기던 문제를 고쳤습니다
- 페이지네이션 커서를 반복하는 MCP 서버에 연결할 때마다 같은 페이지를 최대 20번 요청하던 문제를 고쳤습니다
- MCP 도구가 반환한 CSS, JavaScript, XML 파일이 Read 도구가 거부하는 .bin으로 저장되던 문제를 고쳤습니다. 글꼴 및 아이콘 파일도 이제 각자의 확장자를 갖습니다
- 모델이 `description` 대신 `command_description`을 전달할 때 Bash 도구 호출이 실패하던 문제를 고쳤습니다
- 포트 80(`host:80`)으로 작성한 사이트 거부 규칙이 해당 호스트의 일반 `http://` 페이지에 적용되지 않던 Claude in Chrome 문제를 고쳤습니다
- `/plugin`의 Errors 탭에서 Enter를 누르면 확인 없이 로드에 실패한 마켓플레이스와 그 플러그인이 제거되던 문제를 고쳤습니다
- 어떤 플러그인도 설치할 수 없는 이름의 마켓플레이스에 대해 `claude plugin marketplace add`가 성공으로 보고하던 문제를 고쳤습니다. 이제 이러한 추가는 거부됩니다
- 편집이나 셸 명령이 서브에이전트 뒤에서 대기하는 동안 `CLAUDE_AUTO_BACKGROUND_TASKS`가 해당 서브에이전트를 백그라운드로 옮겨, 서브에이전트가 끝나기 전에 그 호출이 시작되던 문제를 고쳤습니다
- `claude remote-control` 세션에서 휴대폰 메시지 직후, `/config` 토글이 없을 때, 또는 Claude Code 내부에서 시작했을 때 PushNotification이 푸시가 전송되지 않았다고 표시하던 문제를 고쳤습니다
- 원격 세션에서 256개를 넘는 파일을 한 번에 보내면 "could not be vouched for"라며 거부되던 문제를 고쳤습니다
- 로그인 갱신 직후 시작할 때 드물게 관리형 설정을 불러오지 못하던 문제를 고쳤습니다
- Claude Code를 다시 시작할 수 없을 때 `/tui`가 메시지 없이, 또는 원시 시스템 오류와 함께 종료되던 문제를 고쳤습니다
- 텍스트로 표시된 링크 주소가 응답에 남아 있던 색상 또는 숨김 스타일 때문에 가려지던 문제를 고쳤습니다. 표나 질문 미리보기에서 줄바꿈되는 위치도 포함합니다
- Claude apps gateway에 로그인한 세션에서 `availableModels`에 나열된 Fable 모델이 `/model` 선택기에 나타나지 않던 문제를 고쳤습니다. 이제 같은 모델에 추가된 `modelPicker` 행 대신 내장 행이 표시됩니다
- 세션이 더 이상 그룹을 포함하지 않게 된 뒤에도 Claude apps gateway의 관리자 지출 보기에 개발자의 예전 그룹과 그룹 한도가 표시되던 문제를 고쳤습니다
- `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`가 `/usage`와 상태 표시줄의 Claude apps gateway 지출 한도를 숨기던 문제를 고쳤습니다. 지출 한도 요청은 세션이 로그인한 게이트웨이로 전송됩니다
- 자체 연결된 워크트리에 있는 서브에이전트에 부모 세션의 git 브랜치, 상태, 최근 커밋이 표시되던 문제를 고쳤습니다
- 프롬프트에 입력한 텍스트가 `←`로 시작한 백그라운드 전환을 취소했을 때 Claude가 현재 도구가 끝나는 시점에 멈추던 문제를 고쳤습니다. 이제 Claude는 포그라운드에서 계속 작업합니다
- `--tools`와 `--restricted`가 실행 후 등록되는 내장 도구에 적용되지 않던 문제와, 지원 중단된 도구 이름이 호출자의 도구 집합 밖의 도구에 도달하던 문제를 고쳤습니다
- Claude가 MCP 서버의 리소스 목록을 기다리는 동안 인터럽트해도 시간 초과까지 턴이 끝나지 않던 문제를 고쳤습니다
- mod의 훅이 깊게 중첩된 도구 입력을 오류 없이 잘린 채로 받아, 가드가 보지 못한 내용을 통과시킬 수 있던 문제를 고쳤습니다
- `←`로 백그라운드로 옮긴 자율 속도 `/loop`를 Esc로 멈출 수 없던 문제를 고쳤습니다. 대기 중인 웨이크업을 취소하면 이제 알림이 표시됩니다
- 백그라운드 세션의 명령과 훅이 `FORCE_COLOR=3`을 상속해 Claude가 읽는 출력에 색상 이스케이프 코드가 들어가던 문제를 고쳤습니다
- 세션이 열린 채로(예: 재부팅 시) 둘 다 중지될 때 `claude agents`가 종료되면서 새 백그라운드 서비스를 시작해, 종료가 지연되고 중단된 세션이 다시 시작될 수 있던 문제를 고쳤습니다
- `worker`라는 이름의 커스텀 에이전트가 자동 모드 거부 알림과 작업 상세 보기의 활동 목록에서 "Agent"로 표시되던 문제를 고쳤습니다
- glob 패턴에 대한 for 루프의 Bash 권한 검사를 고쳐 권한 검사 정확도를 개선했습니다
- Workflow 서브에이전트에서 호출한 포크된 스킬이 결과를 호출한 에이전트가 아닌 메인 대화로 전달하던 문제를 고쳤습니다
- 인프로세스 에이전트 팀원이 도구 검색으로 도구를 불러오기 전까지 첫 SendMessage 호출에 실패하던 문제를 고쳤습니다
- 재개할 때 완료되지 않은 백그라운드 워크플로가 `TaskStop`으로 중지되었을 수 있다고 Claude에게 알려 주던 문제를 고쳤습니다. 이는 원인이 될 수 없습니다
- 작업 패널이나 연결된 클라이언트에서 오래 실행되는 MCP 도구 호출을 중지해도 Claude에게 알려 주지 않던 문제를 고쳤습니다
- 세션의 프로세스가 중단된 동안 다음 웨이크업 시간이 도래하면 백그라운드 세션의 `/loop`이 알림 없이 멈추던 문제를 고쳤습니다. 이제 세션이 이를 알리고 Claude에게도 전달됩니다
- 응답이나 팀원의 메시지에 있는 원시 터미널 하이퍼링크 바이트가 주소가 숨겨진 클릭 가능한 링크로 그려지던 문제를 고쳤습니다
- 저장소에 큰 git 서브모듈이 있는 플러그인 마켓플레이스를 추가하거나 새로 고치지 못하던 문제를 고쳤습니다. 이제 플러그인 파일이 들어 있는 서브모듈만 가져옵니다
- `/advisor` 대화상자가 더 이상 사용할 수 없는 저장된 advisor 모델에 체크 표시를 보여 주던 문제를 고쳤습니다. 이제 "No advisor"가 선택된 상태로 열립니다
- 백그라운드로 옮겨진 MCP 도구 호출의 알림에 줄여진 작업 ID가 표시되던 문제를 고쳤습니다
- vim 모드의 `~`가 커서를 줄의 마지막 문자 뒤로 옮겨 그 뒤의 `x`가 동작하지 않던 문제와, `3~`가 다음 줄까지 이어서 실행되던 문제를 고쳤습니다
- macOS에서 복사한 악센트 문자 텍스트(예: 파일 이름)를 프롬프트 중간에 붙여넣으면 커서가 한 글자 더 멀리 이동하던 문제를 고쳤습니다
- 응답이 수만 줄에 이르면 터미널이 멈추고 ctrl+c가 무시되던 문제를 고쳤습니다
- 플러그인 훅 워커를 재시작하며 mod가 다시 로드되는 동안 그 mod가 한 호출이 `.catch`가 있는 다른 mod의 가드 훅을 통과하던 문제를 고쳤습니다. 이제 이러한 호출은 거부됩니다
- 훅 모듈이 코드를 수천 단계 깊이로 중첩한 플러그인이 단순한 스택 오버플로 메시지와 함께 로드 또는 검증에 실패하던 문제를 고쳤습니다
- 실제 세션에서는 유지되는 도구 호출, 도구 결과 또는 thinking 블록을 제거하는 `session.append` 훅을 `claude plugin test`가 통과시키던 문제를 고쳤습니다
- 세션이 종료된 뒤 두 번째로 재개되었을 때 Claude에게 SendMessage로 백그라운드 서브에이전트를 재개할 수 있다고 알려 주지 않던 문제를 고쳤습니다
- `cat` 같은 Bash 명령이 내용을 출력하지 않고 실행된 뒤에도 파일을 이미 읽은 것으로 취급하던 문제를 고쳤습니다
- 이름이 `constructor` 또는 `prototype`인 플러그인 옵션이 항상 기본값으로 읽히고, 편집해도 플러그인을 다시 로드하지 않던 문제를 고쳤습니다
- `/reload-plugins` 또는 세션 시작이 모드의 파일을 읽는 동안 이루어진 저장을 모드 핫 리로드가 놓치던 문제를 고쳤습니다
- 모드 핫 리로드 질문에 답을 고르지 않고 승인했을 때, 세션 내내 매 턴마다 같은 질문이 다시 나오던 문제를 고쳤습니다
- `/model`, `/fast`, `/output-style`이 플러그인의 `config.set` 훅에 묻지 않고 설정을 저장하던 문제를 고쳤습니다
- 파이프 출력에서 굵은 텍스트가 흐린 텍스트 바로 뒤에 올 때 흐리게 표시되던 문제를 고쳤습니다
- 몇 줄마다 인용문이 더 깊게 중첩되는 응답이 터미널을 수 초간 멈추게 하고 메모리를 수 기가바이트나 사용하던 문제를 고쳤습니다
- 모드의 마지막 리로드 후 수 밀리초 이내에 이루어진 저장을 모드 핫 리로드가 놓쳐, 다음 저장 전까지 모드가 이전 버전으로 남아 있던 문제를 고쳤습니다
- `claude mcp serve`의 백그라운드 Bash 결과가 출력 파일 이름을 알려 주지 않고, 도구 설명이 실제로는 오지 않는 알림을 약속하던 문제를 고쳤습니다
- 비동기 SessionStart 훅의 변경되지 않은 컨텍스트가 재개할 때마다 대화에 다시 추가되던 문제를 고쳤습니다
- 앱 내 `/resume` 또는 `/branch` 후에 SessionStart 훅이 `CLAUDE_ENV_FILE`에 쓴 변수가 Bash 도구에 전달되지 않던 문제를 고쳤습니다
- 응답 스트림이 끝나기 전에 Skill 도구가 끝나면 스킬의 `allowed-tools`와 `effort`가 누락되어, `-p` 실행에서 스킬의 Bash 명령이 거부되던 문제를 고쳤습니다
- 관리형 설정이 플러그인을 나열하거나 활성화하는 머신에서, 변조된 서버 관리형 설정 캐시 때문에 개인 플러그인이 조직 관리 플러그인으로 취급되던 문제를 고쳤습니다
- 기능 플래그를 사용할 수 없는 환경에서 Claude 3 Opus와 Claude 3.x Sonnet 세션에 해당 모델이 거부하는 도구 검색이 제공되던 문제를 고쳤습니다
- `-p` 및 SDK 세션에서 생성된 타입 파일이 `--plugin-dir` 플러그인의 폴더에 쓰이던 문제를 고쳤습니다. 이제 모드를 개발 중인 위치에만 기록됩니다
- 탭 또는 양방향 제어 문자가 포함된 텍스트가 화면 가장자리에서 끝부분이 잘리거나 근처 행 위에 겹쳐 그려지던 문제를 고쳤습니다
- `/model`이 Max effort 선택을 새 세션의 기본값으로 저장했다고 안내하던 문제를 고쳤습니다. Max는 현재 세션에만 적용됩니다
- 비동기 훅의 JSON 출력이 여러 줄에 걸쳐 출력될 때 무시되던 문제를 고쳤습니다
- Read 도구가 빈 `pages` 매개변수가 있는 호출을 생략된 것으로 처리하지 않고 거부하던 문제를 고쳤습니다
- 드라이브 문자 대소문자 때문에 Windows의 VS Code에서 프로젝트 범위 플러그인이 로드되지 않던 문제를 고쳤습니다 (anthropics/claude-code#74612)
- 드라이브 문자의 대소문자만 다를 때 Windows에서 프로젝트 또는 로컬 범위의 `plugin install`과 `uninstall`이 설치 기록을 찾지 못하거나 기록을 하나 더 추가하던 문제를 고쳤습니다
- `←` 직후 `↑` 또는 `Esc`로 대기 중인 메시지를 프롬프트로 되돌릴 때 메시지가 사라지던 문제를 고쳤습니다. 이제 프롬프트 기록에 남습니다
- SDK 호스트가 아무도 답하기 전에 활성화 질문을 닫으면 세션 전체에서 모드 핫 리로드가 꺼지던 문제를 고쳤습니다. 이제 질문을 최대 세 번까지 합니다
- 모드의 `prompt.submit` 훅이 수정하거나 버린 프롬프트가 여전히 입력한 그대로 프롬프트 기록과 대화 기록의 대기 프롬프트 레코드에 저장되던 문제를 고쳤습니다
- 요청이 인증이 필요한 MCP 서버를 사용하지 않는데도 비대화형 세션이 해당 서버에 대해 알리던 문제를 고쳤습니다
- Claude 앱 게이트웨이 로그인 시 `claude_code.auth` OpenTelemetry 로그인 이벤트가 발생하지 않던 문제를 고쳤습니다. 이 이벤트는 머신에 OpenTelemetry가 구성되어 있거나 세션이 이미 게이트웨이에 로그인되어 있을 때 내보내집니다
- 매우 큰 인터페이스를 추가하는 플러그인이 있을 때 플러그인 훅 워커가 멈추면 다른 플러그인이 언로드되던 문제를 고쳤습니다
- 수정 시간이 갱신되지 않은 채 내용이 바뀐 파일을 Edit가 완전히 읽은 것으로 취급하던 문제를 고쳤습니다
- Windows 줄바꿈(CRLF)이 있는 짧은 명령 출력이 한 줄에 그려지던 문제를 고쳤습니다
- 되감기 후 재개할 때 중지된 예약 작업이 되살아나던 문제와, 압축 이후 Esc 또는 되감기를 하고 재개할 때 예약 작업이 사라지던 문제를 고쳤습니다
- 매우 긴 줄, 긴 빈 줄 연속, 닫히지 않은 문자열과 heredoc이 있는 코드를 구문 강조할 때 터미널이 수 초에서 수 분간 멈추던 문제를 고쳤습니다
- 중단된 `/ultrareview` 업로드가 `~/.claude/seed-admin` 아래에 남긴 임시 파일이 보존 기간 정리에서 삭제되지 않던 문제를 고쳤습니다
- 설정에서 `disableAutoMode`를 제거한 뒤에도 Desktop 및 SDK 세션이 재시작 전까지 자동 모드로 다시 전환되지 않던 문제를 고쳤습니다
- 다른 세션이 플러그인 업데이트를 동기화한 후, 장시간 실행 중인 세션에서 claude.ai에서 동기화된 플러그인 훅이 "Plugin directory does not exist" 오류로 실패하던 문제를 고쳤습니다
- 세션을 백그라운드로 옮기거나 종료된 후 재개했을 때, `/rewind` 뒤에 보낸 프롬프트가 사라지고 제거된 턴이 되살아나던 문제를 고쳤습니다
- 모드의 `session.receive` 훅이 메시지를 전달하기 전에 권한을 요청하면 클라우드 세션이 멈추던 문제를 고쳤습니다
- 업데이트 후 함께 재시작되는 macOS 백그라운드 세션이 간혹 안정적인 앱 래퍼 밖에서 실행되어 폴더 접근 프롬프트가 다시 나타날 수 있던 문제를 고쳤습니다
- 헤드리스 및 SDK 세션에서 MCP 로그인이나 재연결이 늦게 끝나면, `setMcpServers()`로 설정한 서버가 사용자 자신의 서버로 다시 나열되던 문제를 고쳤습니다
- `/config`에서 자동 업데이트 채널을 변경할 때 플러그인의 `config.set` 훅에 묻기 전에 저장되던 문제를 고쳤습니다
- macOS: 홈 폴더 또는 그 상위에서 세션을 시작할 때, 세션 시작 시의 파일 수 계산이 다른 앱의 데이터에 접근해 "다른 앱의 데이터에 접근" 프롬프트가 나타날 수 있던 문제를 고쳤습니다
- Amazon Bedrock의 Claude 앱 게이트웨이 뒤에서 `/context`와 대용량 파일 읽기가 사용하는 토큰 수 계산을 개선했습니다. 이제 게이트웨이가 토큰 1개짜리 모델 요청 대신 AWS의 CountTokens API로 토큰 수를 가져옵니다. 사용하려면 `bedrock:CountTokens` 권한을 부여하세요
- Claude 앱 게이트웨이가 PostgreSQL 데이터베이스가 읽기 전용인 동안 30초마다 경고를 기록하고, 무엇이 실패하는지와 복구 방법을 알려 주도록 개선했습니다
- 권한 프롬프트를 기다리는 세션의 상태가 Remote Control, claude.ai, 데스크톱 앱에서 MCP 도구를 `mcp__server__tool` 식별자 대신 서버와 읽기 쉬운 이름으로 표시하도록 개선했습니다
- Claude 앱 게이트웨이 뒤의 백그라운드 요청이 세션의 모델 대신 Haiku 4.5를 사용하도록 개선했습니다. 게이트웨이가 Haiku 4.5를 제공하지 않으면 세션의 모델로 대체합니다
- AWS의 미국 지역 밖 Amazon Bedrock 리전에서 `models:`에 나열되지 않은 모델을 Claude 앱 게이트웨이가 처리하는 방식을 개선했습니다. AWS는 항상 이런 요청을 거부했으며, 이제 게이트웨이가 사용자 리전에서 해당 모델을 시도하고 거부될 경우 추가해야 할 모델 이름을 알려 줍니다
- 헤드리스 `rate_limit_event` 사용량 한도 경고가 계정에 추가 사용량이 켜져 있는지 알려 주도록 개선했습니다
- 내장 `plugin-authoring` 스킬을 개선했습니다. 터미널이 없는 세션에 터미널 명령 실행을 안내하지 않으며, 모드 공유 방법은 요청받을 때만 설명합니다
- Grep 입력 처리를 개선했습니다. grep의 `-l`, `-c`, `-r` 플래그와 함께 보낸 검색이 이제 호출 실패 대신 실행됩니다
- `claude plugin validate`와 플러그인 로딩을 개선했습니다. 재바인딩된 최상위 `var` 때문에 훅 모듈이 거부되면, 이제 오류에 이를 재바인딩하는 줄과 원인, 해결 방법이 표시됩니다
- Workflow 도구의 `scriptPath` 거부 메시지를 개선했습니다. 이제 Read 도구가 없는 세션에서도 통하는 방법인 `script`로 스크립트를 인라인 전달하라고 안내합니다
- Claude가 보낸 대용량 파일이 이유 없이 업로드에 실패했을 때 전달받는 내용을 개선하여, 파일을 줄이지 않고 실패를 보고하도록 했습니다
- 도구 검색을 통해 모델이 불러오는 MCP 도구 설명을 2,048자 대신 16,384자에서 자르도록 변경했습니다
- 서브에이전트가 `skills` 필드에서 최대 32개의 스킬을 각각 한 번씩만 미리 로드하도록 변경했습니다. Skill 도구가 있는 서브에이전트는 나머지 스킬도 여전히 호출할 수 있습니다
- 연결된 백그라운드 세션의 유휴 프롬프트에서 Ctrl+C를 누르면 대기 중인 `/loop` 깨우기를 그대로 두도록 변경했습니다. 두 번 누르면 분리되며 루프는 계속 실행됩니다. 중지하려면 Esc를 누르세요
- `claude agents`가 백그라운드 서비스와 함께 중지될 때(macOS, 또는 서비스가 설치되지 않은 Linux)의 동작을 변경했습니다. 다시 실행하지 않으면 실행 중인 세션이 약 1분 후 중지되며, 이를 알리는 안내가 표시됩니다
- 플래그를 가져오지 않는 설치에서 claude.ai 커넥터가 기본적으로 MCP 프로토콜 버전 2026-07-28을 협상하도록 변경했습니다. `MCP_PROTOCOL_NEGOTIATION=legacy`로 사용 중지할 수 있습니다
- 자체 배경이 없는 Artifact 페이지를 off-white 대신 흰색으로 표시하도록 변경했습니다
- 도구가 실행된 후 모드가 도구 호출을 거부했을 때 Claude와 사용자가 보는 내용을 변경했습니다. 이제 도구는 실행되었지만 플러그인이 결과를 보류했다고 알려 줍니다
- 탭 정지 위치를 화면 왼쪽 가장자리가 아니라 텍스트가 시작되는 지점부터 계산하도록 변경했습니다. 2칸 들여쓴 답변은 첫 정지 위치가 6칸이던 것이 8칸 안쪽이 됩니다
- 텔레메트리를 끈 설치에서 Artifact 도구의 권한 프롬프트를 다른 설치와 같은 다섯 가지 질문으로 변경했습니다. 이전에는 다른 사람의 아티팩트를 읽을 때마다, 데이터를 편집할 때마다 물어봤습니다
- 텔레메트리를 끈 설치에서 예약 실행과 Run now 루틴 실행이 다른 설치처럼 묻지 않고 새 비공개 아티팩트를 게시하고 본인의 아티팩트를 업데이트하도록 변경했습니다
- 조직의 모드에서 보내는 토스트가 다른 모드의 토스트 뒤에서 기다리지 않고 먼저 표시되도록 변경했습니다
- Claude apps 게이트웨이가 번들된 Claude Desktop 스키마에 없는 `desktop` 정책 키를 경고와 함께 시작하고 제공하도록 변경했습니다. 이제 새 Desktop 설정을 위해 게이트웨이를 업그레이드할 필요가 없습니다
- WebSocket(`ws`) MCP 서버를 변경했습니다. 16 MiB를 넘는 메시지는 더 이상 파싱하지 않고 연결을 닫습니다. 다른 전송 방식에는 이미 있던 제한입니다
- [VSCode] Claude가 보내는 파일을 위한 채팅 행을 추가했습니다. 파일 이름을 클릭하면 편집기에서 열리고, 그 아래에 Claude의 설명이 표시되며, 이 행은 Focus 보기에서도 계속 보입니다
- [VSCode] 백그라운드 에이전트의 활동이나 패널 자체의 상태 줄 이후 "Fork conversation from here"와 Rewind의 대화 복원이 "Message not found in session" 오류로 실패하던 문제를 고쳤습니다
- [VSCode] 채팅 입력창에서 Ctrl+Shift+Tab, Cmd+Shift+Tab, Alt+Shift+Tab이 권한 모드까지 전환하고 Ctrl+Tab이 제안된 프롬프트를 수락하던 문제를 고쳤습니다
- [VSCode] 동시에 보이는 두 Claude 뷰 사이에서 키보드 포커스가 번갈아 이동해 입력한 텍스트가 엉뚱한 대화로 전송될 수 있던 문제를 고쳤습니다
- Self-hosted runner: 러너가 `CCR_AUTO_MODE_ALLOW`, `CCR_AUTO_MODE_ENVIRONMENT`, `CCR_AUTO_MODE_SOFT_DENY`를 세션 환경에 전달하지 않도록 변경했습니다
- Self-hosted runner: 대형 저장소에서 git 서버가 아직 진행 상황을 보고하는 중에 git fetch가 중단되던 문제를 고쳤습니다. `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS`로 대기 시간을 조정하거나 끌 수 있습니다
- [Cloud sessions] 클라우드 세션의 보관을 해제한 직후 보낸 메시지가 컨테이너를 시작하지 못해 가끔 응답을 받지 못하던 문제를 고쳤습니다
- [Cloud sessions] 일부 오래된 루틴이 저장된 프롬프트를 Claude에게 전달하지 않은 채 실행을 시작하던 문제를 고쳤습니다. 이제 해당 루틴은 다시 프롬프트대로 실행됩니다
- [Cloud sessions] 연결이 끊긴 뒤 클라우드 세션이 따라잡는 속도를 개선했습니다. 놓친 활동이 한 행씩이 아니라 한꺼번에 표시됩니다
- [Cloud sessions] 클라우드 환경 양식의 설정 스크립트 입력란을 개선했습니다. 처음부터 더 높게 시작하고, 스크립트에 맞춰 늘어나며, 드래그로 크기를 조절할 수 있습니다
- [Claude Tag] Claude가 Slack 채널에 게시하는 설정 확인 카드가 10분 대신 30분 동안 유지되도록 변경했습니다
- [Claude Tag] Enterprise Grid 워크스페이스 간에 공유된 채널이 조직 기본값을 사용한다는 Claude의 안내를, 누군가 Claude를 멘션할 때만 최대 월 1회 게시하도록 변경했습니다
- [Claude Tag] 분기된 스레드의 "Continued from" 카드에서 채널 링크와 @멘션이 Slack 원시 코드로 표시되던 문제를 고쳤습니다
- [Claude Tag] `@Claude !restart`로 재시작이 이미 확인된 뒤에도 스레드 아래에서 Slack의 Working 상태가 계속 돌던 문제를 고쳤습니다
- [Claude Tag] Claude가 태그 없는 메시지 읽기를 중단한 바쁜 채널에서 다른 앱이나 봇의 @Claude에 응답하지 않던 문제를 고쳤습니다
- [Claude Tag] Claude Tag 관리자 설정에서 채널 관리자를 추가하면 해당 멤버가 Custom roles로 옮겨져 다른 접근 권한이 사라질 수 있는데, 이를 진행하기 전에 확인 절차를 추가했습니다
- [Code Review] 이전 지적 사항이 아직 열려 있는데도 Code Review 재검토가 문제를 찾지 못했다고 말하던 문제를 고쳤습니다. 이제 댓글에 열려 있는 항목 수가 표시됩니다
- [Code Review] 풀 리퀘스트가 큰 CLAUDE.md 파일을 수정할 때 Code Review가 여전히 그 규칙을 건너뛰던 문제를 고쳤습니다
- `xhigh`와 `max` effort에서 웹 검색과 `agent` hook 평가가 훨씬 오래 걸리던 문제를 고쳤습니다
v2.1.296 (2026-10-09)
- Claude apps 게이트웨이의 `managed.policies[]`에 `code` 키를 추가했습니다. `cli`와 같은 설정이며 Claude Desktop의 Code 탭에도 적용되고, `desktop`과 함께 쓰면 Claude Desktop의 게이트웨이 모드를 켭니다
- 서브에이전트 frontmatter와 `--agents` 정의에 `autoCompactWindow`를 추가했습니다. 이제 서브에이전트가 메인 대화의 윈도우보다 일찍 자동 압축할 수 있습니다
- 다른 서브에이전트는 각자의 모델을 유지한 채 모든 워크플로 에이전트를 하나의 모델로 실행하는 `CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL`을 추가했습니다
- 과부하(529) 요청을 재시도할 때 백오프의 최대 지연 시간을 더 길게 설정할 수 있는 `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` 환경 변수를 추가했습니다
- 활성화된 다른 플러그인과 이름이 같아 hook이 제외된 플러그인에 대해 `/plugin`에 안내를 추가했습니다
- Read 도구에 `allow_large` 옵션을 추가했습니다. 파일 전체가 필요하고 컨텍스트에 여유가 있을 때 Claude가 일반적인 크기 제한을 넘는 텍스트 파일을 한 번의 호출로 읽을 수 있습니다
- managed settings의 `PreToolUse` hook이 `"continue": false`로 도구 호출을 거부하거나 managed `prompt` hook이 호출을 차단할 때, 호출은 거부하지만 턴은 끝내지 않던 문제를 고쳤습니다
- 일부 세션에서 managed settings의 PostToolUse hook이 `updatedMCPToolOutput`을 적용하지 않던 문제를 고쳤습니다
- 디렉터리를 변경하거나 플러그인을 다시 로드한 뒤 headless 세션이 해당 폴더에서 꺼 둔 폴더의 `.mcp.json` 또는 플러그인 MCP 서버를 시작하던 문제를 고쳤습니다
- `allowedProviders`에 `"gateway"`를 제공하는 Claude apps 게이트웨이가, 사용자 설정에 해당 게이트웨이를 지정한 노트북을 차단하던 문제를 고쳤습니다
- managed settings에서 `forceLoginMethod`가 `gateway`이고 `forceLoginGatewayUrl`이 없는 기기에서 저장된 Claude apps 게이트웨이 로그인이 무시되던 문제를 고쳤습니다 (2.1.295의 회귀)
- 세션 기록을 읽을 수 없을 때 `--teleport`가 빈 대화를 여는 문제를 고쳤습니다
- Haiku 5.5 등 적응형 사고만 지원하는 모델의 토큰 수 계산이 일부 게이트웨이 뒤에서 실패하거나 다른 곳에서 예산형 사고로 계산되던 문제를 고쳤습니다
- 세션 종료로 중단된 도구 호출을 사용자가 거부했다고 재개된 서브에이전트에 전달되던 문제를 고쳤습니다
- hook 출력에 플러그인 힌트 태그와 비슷한 텍스트가 있을 때 출력이 변경되던 문제를 고쳤습니다
- 공유된 대화 기록과 디버그 로그에서 값이 없는 키 뒤에 오는 일부 값(셸 문자열 안에 작성된 JSON 포함)이 비밀 정보 가리기에서 누락되던 문제를 고쳤습니다
- MATE Terminal 같은 구형 VTE 기반 터미널에서 복사 후 화면에 `52;c;…` 이스케이프 시퀀스가 불필요하게 출력되던 문제를 고쳤습니다
- `/diff` 패널이나 대화상자가 열려 있는 동안 토스트와 알림이 확인되지 않은 채 대기하던 문제를 고쳤습니다
- `UserPromptSubmit` hook 또는 mod의 `prompt.submit` hook 실행 중 Esc나 인터럽트가 headless 세션을 종료하거나, 입력한 프롬프트를 지우거나, 검사되지 않은 프롬프트를 통과시키던 문제를 고쳤습니다
- headless 세션 시작 후 로드된 플러그인의 SessionStart hook이, 이름이 같은 다른 플러그인이나 다른 표기의 플러그인이 이미 실행된 경우 건너뛰어지던 문제를 고쳤습니다
- `claude self-hosted-runner`가 등록이 거부될 때 오해를 부르는 오류를 출력하던 문제를 고쳤습니다. 이제 조직 관리자 설정을 알려 주거나, 재시작된 온디맨드 러너에 새 작업 지시가 필요하다고 안내합니다
- `--capacity`가 1보다 큰 러너에서 같은 저장소의 다른 세션이 시작되는 동안 self-hosted runner 세션의 git fetch, pull, push가 실패하던 문제를 고쳤습니다
- 워크플로 스크립트가 약 20,000단계보다 깊게 중첩된 결과, 에이전트 옵션 및 기타 값을 조용히 잘라내고, 깊이 중첩된 결과가 거대한 작업 출력 파일을 쓰던 문제를 고쳤습니다
- 플러그인이 제공하는 `$` 메서드가 호출한 에이전트의 작업 디렉터리가 아닌 메인 세션의 작업 디렉터리에서 실행되고, 호출한 hook이 잡고 있는 턴을 무시하던 문제를 고쳤습니다
- mod를 다시 로드하거나 제거한 뒤에도 계속 실행 중이던 mod의 hook에서 `$.agent.register`가 성공하던 문제를 고쳤습니다. 이제 해당 호출은 거부됩니다
- 응답이 4 MiB 본문 제한을 넘는 `Content-Length`를 선언할 때 mod의 `$.http.fetch`가 `HEAD` 요청을 거부하던 문제를 고쳤습니다
- `constructor` 같은 이름의 마켓플레이스에 대해 `claude plugin marketplace add`, `marketplace update`, `plugin install`이 내부 오류로 실패하던 문제를 고쳤습니다. 이제 `add`는 이런 이름을 명확하게 거부합니다
- `constructor` 또는 `prototype`이라는 이름의 플러그인 비밀 값이 해당 플러그인 옵션을 다음에 저장할 때 삭제되던 문제를 고쳤습니다
- 기능 플래그가 로드되지 않았을 때 클라우드 세션이, 저장된 권한이 허용하는 Claude in Chrome 동작에 대해 auto mode의 검사를 건너뛰던 문제를 고쳤습니다
- MCP 도구 결과로 턴이 끝난 경우, 재시작 후 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`이 이미 끝난 턴을 다시 실행하던 문제를 고쳤습니다
- `BASH_ARGV0` 셸 변수를 할당한 뒤 사용하는 일부 명령을 Bash 권한 검사가 자동 승인하던 문제를 고쳤습니다. 이제 이런 명령은 승인을 요청합니다
- 유효한 UTF-8이 아닌 파일(Windows-1252, Shift-JIS, GBK)에서 Edit와 NotebookEdit가 모든 비ASCII 문자를 바꾸던 문제를 고쳤습니다. 이제 이런 편집은 거부됩니다
- 백그라운드 서비스의 응답이 느릴 때 `←` 직후에 보낸 프롬프트가 포그라운드에서 보이지 않게 한 번 더 실행되어 두 번 실행되던 문제를 고쳤습니다
- SessionStart hook이 실행되는 동안 보낸 프롬프트가 `←`로 세션을 백그라운드로 옮길 때 사라지던 문제를 고쳤습니다. 프롬프트는 여전히 전송되지 않지만 이제 `↑`로 다시 불러올 수 있습니다
- headless 세션에서 `/clear` 후 늦게 로드된 플러그인의 SessionStart hook 출력이 새 대화에 전달되던 문제를 고쳤습니다
- hook이 CLAUDE_ENV_FILE에 쓴 변수를 PowerShell 명령이 인식하지 못하던 문제를 고쳤습니다 (파일에 단순 할당만 있는 경우)
- MCP 서버에 인증이 필요할 때 Claude가 클라우드 세션을 비대화형이라고 말하고 `/mcp` 또는 `claude mcp`를 제안하던 문제를 고쳤습니다
- 클라우드 세션, Agent SDK, IDE 통합에서 `/code-review`가 원시 JSON 배열로 끝나던 문제를 고쳤습니다. 이제 지적 사항이 번호 목록으로 출력됩니다
- auto mode가 공유 설정이 바뀌지 않았는데도 바뀌었다며 본인 아티팩트에 대한 업데이트 한 건을 가끔 거부하던 문제를 고쳤습니다
- 여러 세션이 하나의 설정 디렉터리를 공유할 때 claude.ai에서 동기화한 스킬이 설치를 끝내지 못하고 동기화할 때마다 다시 다운로드되던 문제를 고쳤습니다
- claude.ai에서 동기화한 플러그인이 선언한 마켓플레이스 의존성도 claude.ai에서 함께 동기화된 경우 해당 플러그인이 비활성화되던 문제를 고쳤습니다
- Linux 머신에서 복사한 플러그인 경로가 /home 아래를 가리킬 때 macOS에서 시작 시 멈추던 문제를 고쳤습니다
- Windows에서 체크아웃한 파일처럼 CRLF 줄 바꿈을 쓰는 스크립트 파일을 Workflow 도구가 거부하던 문제를 고쳤습니다
- `git commit -q` 또는 `git -C <dir> commit` 실행 후 OpenTelemetry `tool_result` 이벤트에 `git_commit_id`가 빠지던 문제를 고쳤습니다
- 메시지 텍스트에 유니코드 줄 구분자 또는 문단 구분자(U+2028, U+2029)가 있을 때 `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC`가 저장된 대화 기록에서 해당 메시지를 누락시키던 문제를 고쳤습니다
- 프롬프트 텍스트에 유니코드 줄 구분자 또는 문단 구분자(U+2028, U+2029)가 있을 때 `claude purge`가 기록 파일에 해당 프롬프트를 남기던 문제를 고쳤습니다
- Windows: 약 1KB보다 긴 PowerShell 명령이 항상 권한을 요청하던 문제를 고쳤습니다. 이제 허용 규칙과 읽기 전용 감지가 최대 32KB까지 적용됩니다
- Windows: 종료 시 stdio MCP 서버가 강제 종료되던 문제를 고쳤습니다. 이제 stdin을 먼저 닫고, 300ms 후에도 서버가 계속 실행 중일 때만 프로세스 트리를 종료합니다
- Windows: GitHub SSH 키가 없는 머신에서 GitHub `owner/repo` 플러그인 소스에 대해 `claude plugin install`이 실패하던 문제를 고쳤습니다. 이제 클론을 HTTPS로 다시 시도합니다
- Windows: 권한 우회 모드에서 Git Bash의 `rm -rf /c/Users/<name>` 명령이 확인을 요청하지 않던 문제를 고쳤습니다
- 전체 화면 모드를 개선했습니다. 이제 마우스 포인터 아래의 링크에 밑줄이 표시되어 열 수 있음을 알려 줍니다
- 구문 강조된 코드 블록을 캐시하여 코드가 많은 대화에서 대화 기록 전환(ctrl+o)의 반응 속도를 개선했습니다
- Claude apps 게이트웨이를 사용하는 Claude Desktop의 Code 탭을 개선했습니다. 게이트웨이의 `code` 설정이 구성되지 않은 머신을 포함해 세션을 시작할 수 없을 때 그 이유가 답장으로 표시됩니다
- 거부된 클라우드 세션의 오류를 개선했습니다. 이제 조직 정책을 불러오지 못한 이유를 알려 주고, claude.ai 로그인을 덮어쓰는 API 키나 인증 토큰이 있으면 그 이름을 알려 줍니다
- `--debug` 출력을 개선하여 사용자 지정 에이전트 파일에서 인식되지 않는 frontmatter 필드의 이름을 알려 주고, 오타로 보이는 경우 힌트를 제공합니다
- 자동 모드를 개선했습니다. 자동 모드의 검사가 쓸 만한 답을 내지 못해 실행되지 않은 도구 호출이 이제 빨간색 오류 대신 흐리게 표시된 "Not run" 행으로 나타납니다
- 훅의 `--debug` 출력을 개선했습니다. 도구 호출, 프롬프트, SessionStart, Stop에 대한 명령 훅이 끝날 때 명령, 플러그인, 결과, 소요 시간을 기록하므로 느린 훅을 식별할 수 있습니다
- `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC`를 개선했습니다. 이제 큰 대화 기록 파일은 다시 쓰더라도 확보되는 공간이 10% 미만이면 다시 쓰지 않습니다
- `/cost`, 상태 표시줄, `--max-budget-usd`, SDK의 비용 수치에서 Sonnet 5.5 캐시 읽기 가격을 100만 토큰당 $0.10(기존 $0.20)으로 반영하도록 업데이트했습니다
- 번들된 dataviz 스킬을 업데이트했습니다. 라이트 모드의 일곱 번째 시리즈에 더 밝은 보라색을 사용하고, 다크 모드의 기본 텍스트를 더 부드럽게 하며, 1K처럼 간결한 y축 레이블을 사용합니다
- 미리 전송되는 MCP 도구 설명과 MCP 서버 지침의 기본 제한을 2,048자에서 4,096자로 변경했습니다
- `←` 동작을 변경했습니다. 세션이 백그라운드로 이동하는 동안 시작된 턴이나 `!` 명령은 이제 보이지 않는 곳에서 끝나지 않고 중단됩니다
- [VSCode] 확장 프로그램 설정에 `claudeCode.spinnerVerbs`가 빠져 있던 문제를 고쳤습니다. 이제 settings.json에서 자동 완성과 유효성 검사가 되며, 잘못된 값이 있어도 채팅 패널이 깨지지 않습니다
- [VSCode] Claude in Chrome이 터미널처럼 `@browser`로 연결된 세션을 포함한 모든 세션에서 브라우저 동작 전에 확인을 요청하도록 변경했습니다. 세션 동안 사이트를 허용하면 반복 확인이 중단됩니다
- [VSCode] C:\repo\file.ts 또는 file:///C:/repo/file.ts처럼 전체 Windows 경로로 작성된 채팅 링크가 Windows에서 파일을 열지 못하던 문제를 고쳤습니다
- [VSCode] OS, VS Code 또는 `prefersReducedMotion` 설정에서 동작 줄이기를 켜도 작업 중 표시기가 계속 움직이던 문제를 고쳤습니다
- [VSCode] 화면이 꺼졌거나 원격 창이 다시 연결된 경우처럼 패널이 메시지를 늦게 따라잡았을 때 프롬프트 캐시 시계가 여전히 따뜻한 상태로 표시되던 문제를 고쳤습니다
- [Cloud sessions] 관리자 설정에서 자체 호스팅 환경의 Activity 탭에 있는 Sessions 및 Runners 목록에 상태 필터를 추가했습니다. 여러 상태를 한 번에 선택할 수 있습니다
- [Cloud sessions] 자체 호스팅 러너를 기다리는 모든 클라우드 세션이 같은 대기열 순번을 표시하던 문제를 고쳤습니다. 이제 각 세션 앞에 몇 개의 세션이 있는지 표시됩니다
- [Cloud sessions] 클라우드 세션에서 Claude가 아직 답하는 중에 보낸 메시지가 답변이 끝날 때 그 답변 위로 올라가던 문제를 고쳤습니다. 이제 새로고침 후에도 답변 아래에 유지됩니다
- [Claude Tag] Slack의 Claude가 세션 링크, 모델, 비용이 담긴 푸터를 스레드의 가장 최근 답장에만 표시하도록 변경했습니다. 그 이전 답장에서는 푸터가 제거됩니다
- [Claude Tag] 괄호가 포함된 URL 링크가 Slack의 Claude 답장과 작업 체크리스트 일부에서 깨져 불필요한 대괄호 텍스트가 보이고 엉뚱한 페이지가 열리던 문제를 고쳤습니다
- [Claude Tag] Slack의 Claude 답장에서 여섯 자리 풀 리퀘스트 번호처럼 16진수 색상처럼 보일 뿐인 코드 옆에 색상 견본이 표시되던 문제를 고쳤습니다
- [Claude Tag] Claude Tag Admin 권한이 있는 멤버가 Activity 페이지의 Memory 탭에서 워크스페이스 및 채널 메모리 파일을 만들고, 편집하고, 삭제할 수 있도록 추가했습니다
- [Claude Tag] Claude가 Slack 채널에 게시하는 플러그인 확인 카드에 플러그인 이름 대신 ID가 표시되던 문제를 고쳤습니다
- [Claude Tag] Slack의 Claude가 채널 자체 설정에 포함되지 않은 플러그인을 제거하라는 카드를 게시하던 문제를 고쳤습니다. 이제 대신 해당 플러그인이 어디에서 오는지 설명합니다
- [Claude Tag] 자체 호스팅 환경의 세션이 작업 도중 새 러너로 옮겨질 때 Slack의 Claude가 답장을 잃어버리는 경우가 있던 문제를 고쳤습니다
- [Code Review] 리뷰가 끝난 뒤에도 풀 리퀘스트의 Code Review 검사가 "in progress" 상태로 남아 있던 문제를 고쳤습니다. 이제 리뷰 결과가 표시됩니다
- [Code Review] Code Review 관리자 설정을 개선했습니다. 설정을 저장하지 못한 경우 일반적인 실패 메시지 대신 정책 제한 등 그 이유를 알려 줍니다
함께 읽기: ChatGPT 래디슨 호텔 검색 자동화 업데이트와 예약 시 주의할 한계점 · Claude Code v2.1.292: 플러그인 설치와 서브에이전트 effort 지정 · Claude Code v2.1.289: 권한 규칙 우회 수정과 플러그인 안정화
새로 쓸 수 있게 된 기능
이번 업데이트로 새로 쓸 수 있게 된 기능은 9가지입니다. 근거 항목은 위 릴리스 노트의 번호입니다.
| 기능 | 달라진 점 | 근거 항목 |
|---|---|---|
| Claude Haiku 5.5 기본 모델 | claude-haiku-5-5가 Anthropic API의 기본 Haiku 모델입니다. 컨텍스트는 1M이고 가격은 100만 토큰당 입력 $0.10, 출력 $0.50이며, 프롬프트가 100K를 넘으면 $0.50/$2.50입니다. 2.1.296에서는 adaptive thinking만 받는 모델의 토큰 계산도 바로잡았습니다. | v2.1.293 1번, v2.1.296 13번 |
| Sonnet 5.5 캐시 읽기 단가 반영 | /cost, 상태 줄, --max-budget-usd, SDK 비용 값이 Sonnet 5.5 캐시 읽기를 100만 토큰당 $0.10(기존 $0.20)으로 계산합니다. | v2.1.296 59번 |
| 훅 실패 시 차단 | command와 HTTP 훅에 onFailure: "block"을 지정하면 훅이 시작되지 않거나 시간 초과, 예상 밖 종료 코드가 났을 때 동작을 통과시키지 않고 막습니다. | v2.1.295 1번 |
| 서브에이전트 자동 압축 창 | 서브에이전트 frontmatter와 --agents 정의에 autoCompactWindow를 넣으면 메인 대화보다 일찍 자동 압축됩니다. 서브에이전트 상태 줄 payload에는 agentType이 들어가 커스텀 유형을 구분할 수 있습니다. | v2.1.296 2번, v2.1.293 2번 |
| 워크플로 에이전트 모델 고정 | CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL로 워크플로의 모든 에이전트를 한 모델에서 돌리고, 다른 서브에이전트는 각자 모델을 유지합니다. | v2.1.296 3번 |
| 재시도 대기 시간 조정 | CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS로 529 재시도 백오프의 최대 지연을 늘릴 수 있고, CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS로 무인 재시도 모드가 429·529를 기다리는 시간을 제한합니다. | v2.1.296 4번, v2.1.295 14번 |
| Read allow_large 옵션 | 파일 전체가 필요하고 컨텍스트에 여유가 있으면 allow_large로 평소 크기 제한을 넘는 텍스트 파일을 한 번에 읽을 수 있습니다. 비어 있는 pages 값은 생략으로 처리됩니다. | v2.1.296 6번, v2.1.295 79번 |
| Claude apps 게이트웨이 라우팅 제어 | 업스트림마다 models 목록(* 와일드카드 지원)을 두어 해당 모델만 보내고, Bedrock·Vertex·Foundry 업스트림에는 timeouts.upstream_ttfb_ms로 스트림 시작 대기 시간을 제한할 수 있습니다. 감사 로그에는 upstream_request_id가 추가됩니다. | v2.1.295 8번, v2.1.295 6번, v2.1.295 11번 |
| 복사와 터미널 상태 표시 | /copy 선택기에 인용 텍스트 항목이 생겨 > 표시 없이 초안을 복사합니다. OSC 7501(Program Status Protocol)을 구현한 터미널은 작업 중, 입력 대기, 완료 상태를 보여줄 수 있습니다. | v2.1.295 3번, v2.1.295 2번 |
업데이트 효과 직접 재보기
에이전트, 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.296 이상이 필요합니다. 터미널에서 claude update로 새 버전을 받고, claude --version으로 2.1.296 이상인지 확인합니다.
claude update
claude --version
새 글: Gemini Code Assist 신규 구독 판매 종료 일정과 자동 갱신 마감 시한
새 글: Claude Haiku 5.5 API 요금 분석 및 최적화 가이드
- Claude Code v2.1.293 릴리스 노트 · github.com
- Claude Code v2.1.294 릴리스 노트 · github.com
- Claude Code v2.1.295 릴리스 노트 · github.com
- Claude Code v2.1.296 릴리스 노트 · github.com
작성일 2026-10-10 06:21
소개 · 문의 · 개인정보처리방침 · 면책 안내 · 저작권 안내 · AI, IT 글 모음
© 2026 MinoSui. 이 글의 무단 전재·재배포를 금합니다. 원문: https://minoss0918.blogspot.com/
댓글
댓글 쓰기