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

Claude Code 2.1.283

조직이 허용 모델을 버전 단위로 고정하는 `availableModelsMatch`, 특정 모델을 막는 `deniedModels` 관리형 설정과, CLAUDE.md, 스킬, 에이전트, 명령에 남은 예전 모델용 작성 패턴을 점검하는 `/doctor prompt-audit`가 추가됐습니다. 수정은 MCP 서버 연결 안정성, 플러그인 설치 기록 손상, vim 모드에 집중됐고, 2.1.282에서 도입한 `claude-ai` 이름 예약은 되돌려졌습니다.

공식 발표 →

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

무엇이 바뀌었나?

Claude Code 2.1.283이 2026년 9월 25일 출시됐습니다. 새 기능의 중심은 조직 관리자용 모델 통제입니다. 허용 목록에 적은 모델 버전만 쓰게 하거나 특정 모델을 명시적으로 막을 수 있게 됐습니다. 설정 파일을 최신 모델에 맞게 점검하는 /doctor prompt-audit도 새로 생겼습니다. 수정 사항은 MCP 서버, 플러그인 설치 기록(installed_plugins.json), vim 모드에 많이 모였고, 여러 목록 화면이 페이지 키와 마우스를 지원하도록 정리됐습니다. 또한 직전 버전(2.1.282)에서 예약했던 claude-ai 이름이 다시 풀렸습니다.

새 기능

  • availableModelsMatch 관리형 설정

    허용 모델 목록(availableModels)을 운영하는 조직은 새 모델 버전이 나왔을 때 이를 검토 전까지 막아 둘 방법이 필요했습니다. 이 설정을 "exact"로 두면 목록에 적은 모델 버전만 허용되고, 새 버전은 목록에 추가하기 전까지 막힙니다.

  • deniedModels 관리형 설정

    허용 목록만으로는 “이 모델만 빼고 허용”을 표현하기 어려웠습니다. deniedModels에 적은 모델은 availableModels가 허용하더라도 차단됩니다.

  • /doctor prompt-audit

    예전 모델에 맞춰 써 둔 CLAUDE.md, 스킬, 에이전트, 명령 파일을 그대로 쓰면 최신 모델에서 기대와 다르게 동작할 수 있지만 이를 찾아낼 방법이 없었습니다. /doctor prompt-audit(또는 /checkup prompt-audit)가 이런 작성 패턴을 찾아 알려 줍니다. 오래된 경로, 오래된 명령, 서로 모순되는 지시 파일이 보고서 맨 앞에 나옵니다.

  • LLM 게이트웨이용 x-claude-code-prompt-id 헤더

    게이트웨이 입장에서는 여러 요청 중 어떤 것이 사용자의 한 프롬프트를 처리하는 요청인지 묶어 보기 어려웠습니다. CLAUDE_CODE_GATEWAY_HINT_HEADERS=1로 켜면 게이트웨이 힌트 헤더에 이 값이 함께 전송됩니다.

  • OpenTelemetry tool.output에 MCP, WebFetch, WebSearch 출력 포함

    OTEL_LOG_TOOL_CONTENT=1을 설정했을 때 tool.output 스팬 이벤트에 MCP 도구, WebFetch, WebSearch의 결과도 기록됩니다.

  • 다른 세션 메시지 펼쳐 보기

    전체 화면 모드에서 다른 세션의 메시지가 잘려 표시되면 전체 내용을 볼 수 없었습니다. 이제 클릭해서 펼칠 수 있습니다.

  • plugin_errors의 path 항목

    stream-json system/init의 plugin_errors에서 --plugin-dir로 지정한 플러그인 로드 실패 항목에 불러오지 못한 디렉터리 경로가 함께 표시됩니다.

  • Claude apps gateway 옵션 추가

    • load_test_mode 블록: 요청을 만들고 서명까지 하되 실제로 전송하지 않고 미리 정해 둔 응답을 돌려줍니다. 배포 환경을 부하 테스트할 때 사용합니다.
    • mantle 업스트림 제공자: Amazon Bedrock의 Mantle 엔드포인트로 요청을 보낼 수 있습니다.
  • [Claude Tag] Slack 관련 기능 추가

    • “Channels Claude can search” 관리자 설정으로 Claude의 Slack 검색 범위를 Claude가 추가된 공개 채널로 제한할 수 있습니다. 조직, 워크스페이스, 채널 단위로 지정합니다.
    • Claude 계정 연결 후 표시되는 페이지에 Back to Slack 버튼이 생겨 처음 시작한 스레드로 돌아갈 수 있습니다.

주요 개선

  • MCP 도구 이미지를 파일로 저장

    MCP 도구가 돌려준 이미지는 대화 안에서만 볼 수 있어 다른 도구로 다룰 수 없었습니다. 이제 파일로도 저장되어 Bash, Read 등으로 열 수 있습니다.

  • /mcp 도구 목록

    한 번에 더 많은 도구를 보여 주고, 페이지 키와 마우스로 스크롤할 수 있습니다. 조직에서 차단한 도구에는 경고 아이콘이 붙습니다.

  • /tasks와 여러 목록 화면의 조작 방식 통일

    목록마다 조작 방식이 달라 긴 목록을 넘기기 불편했습니다. /tasks는 상태 아이콘과 이름을 보여 주고 작업이 많아도 제목과 키 안내가 화면에 남습니다. /help, /hooks, /copy, /chrome, /memory, /ide, /release-notes, /rewind, /diff, /remote-env, /plugin 등의 목록도 페이지 키, 마우스 휠, 클릭을 지원합니다. /skills, /artifacts처럼 검색창이 옆에 있는 목록은 검색창에 입력 중일 때 목록 포인터를 흐리게 표시해 강조가 한 곳에만 보입니다.

  • 압축(compaction) 진행 표시

    퍼센트 막대 대신 압축이 시작된 시점부터 타이머가 돌고, 스트리밍되는 요약의 토큰 수를 셉니다.

  • 응답 속도와 시작 속도

    • 첫 응답 끝에 실행되던 패턴 컴파일 단계가 응답이 스트리밍되는 동안 처리되어 첫 응답 지연이 줄었습니다.
    • 미리 연결해 둔 API 연결을 재사용해 첫 요청 지연이 줄었습니다.
    • claude -p와 Claude Code Remote는 대화형 UI를 불러오지 않고, auto mode 분류기 규칙과 Artifact 도구는 처음 쓸 때 불러옵니다.
    • 첫 실행처럼 Artifact 도구 기능 정보가 아직 없는 claude.ai 계정에서 입력창이 최대 1.5초 기다리던 과정이 없어졌습니다. 필요하면 첫 메시지 전송 시점에 기다립니다.
  • 실패한 플러그인의 스킬 안내

    스킬이 속한 플러그인이 로드에 실패하면 Claude가 스킬이 설치되지 않았다고 잘못 안내했습니다. 이제 플러그인을 불러오지 못했다고 알려 줍니다.

  • 읽을 수 없는 installed_plugins.json 복구

    파일을 다시 만들기 전에 원래 내용을 옆에 별도 파일로 보관하고, claude plugin list가 그 파일 이름을 알려 줍니다.

  • 기타 개선

    • MCP 서버 로그인 후 표시되는 브라우저 페이지가 가운데 정렬, 다크 모드, 새 그림으로 바뀌었습니다.
    • 아티팩트 데이터베이스에서 정렬된 쿼리가 한 페이지를 가득 채우면, 그것이 한 페이지분이며 나머지를 읽는 방법을 함께 알려 줍니다.
    • [Cloud sessions] 실행 중인 클라우드 세션에 저장소를 추가할 때, 읽기 권한만 있는 비공개 저장소도 읽기 전용으로 연결됩니다.

동작이 바뀐 항목

  • 서드파티 제공자, 텔레메트리 끈 환경의 기본 권한 모드 (변경)

    권한 모드를 따로 설정하지 않았다면 서드파티 제공자를 쓰거나 텔레메트리를 끈 대화형 세션도 auto mode로 시작합니다. permissions.defaultMode를 지정하면 그 값이 우선합니다.

  • claude-ai 이름 예약 철회 (변경)

    2.1.282에서 claude-ai 이름을 claude.ai 동기화 스킬 전용으로 예약하면서 이 이름을 쓰던 스킬, 명령, 워크플로가 로드되지 않았습니다. 이번에 이 예약이 되돌려져 다시 로드되며, MCP 서버의 스킬과 프롬프트도 다시 보입니다. Skill(claude-ai:*) 규칙은 일반 접두어 규칙으로 동작합니다.

  • Skill(...) 거부 규칙 범위 (변경)

    Skill(anthropic-skills:<name>) 거부 규칙은 Claude Desktop이 플러그인 형태로 전달한 같은 스킬도 막습니다. Skill(skill:<name>) 거부 규칙은 스킬의 별칭과 표시 이름에도 적용됩니다.

  • --system-prompt, --append-system-prompt 동시 지정 (변경)

    텍스트 형태와 -file 형태를 함께 쓸 수 있습니다. 파일 내용이 먼저 들어갑니다.

  • /model 선택기의 “(1M context)” 표기 (변경)

    Opus가 이미 1M 컨텍스트 창을 갖는 경우 Opus 항목과 Default 모델 이름에서 “(1M context)“가 빠집니다. 컨텍스트 창 크기는 그대로입니다.

  • /ultrareview 실행 안내 (변경)

    로컬 브랜치를 검토하면 추적 중인 파일의 커밋하지 않은 변경 사항이 업로드될 수 있다고 안내합니다.

  • 프롬프트 제안 빈도 (변경)

    터미널의 프롬프트 제안을 20번 연속 사용하지 않으면 덜 자주 나타납니다. 하나를 사용하면 다시 원래대로 나타납니다.

  • 목록 단축키와 크기 (변경)

    /rewind, /diff 목록이 다른 목록과 같은 select:* 단축키로 움직입니다. 기존 messageSelector:*, diff:* 재지정도 계속 동작합니다. /workflows 실행 목록은 다른 목록처럼 터미널 절반 높이를 쓰고, 입력창이 아래에 나타나도 제목을 화면에 유지합니다.

  • claude plugin eval의 git 요구 버전 (변경)

    git이 설치돼 있으면 2.31 이상이 필요합니다. 더 오래된 git에서는 필요한 버전을 알려 주며 실행이 거부됩니다.

  • 자동 아티팩트 감시 종료 (변경)

    사용자가 요청하지 않고 자동으로 시작된 아티팩트 감시는 3.5시간 동안 활동이 없으면 끝납니다. 아티팩트를 다시 게시하거나 감시하면 다시 시작됩니다.

  • Self-hosted runner의 git 동작 (변경)

    • 수명 주기 훅의 git은 저장소의 Git LFS pre-push 훅을 건너뛰고, 쓰기 가능한 시스템 core.hooksPath를 무시하며, --configure-git 없이는 커밋에 서명하지 않습니다.
    • Anthropic 관리 git에서 러너 자체의 git은 GIT_SSL_CAINFO, GIT_SSL_NO_VERIFY와 관계없이 Anthropic git 경로의 인증서를 항상 검증하고, 어떤 설정이 어디에 적용되는지 경고로 알려 줍니다.
  • [Cloud sessions] 새 루틴의 기본 시각 (변경)

    정각에 맞춘 루틴은 몇 분 늦게 시작될 수 있어, 새 루틴 일정의 기본값이 정각에서 몇 분 지난 시각으로 바뀌고 이 내용이 안내됩니다.

주요 버그 수정

MCP 서버

  • 오래 걸리는 도구 호출이 백그라운드로 넘어가면 MCP 진행 알림이 버려지던 문제 수정. 백그라운드 작업에 최신 진행 상황이 표시됩니다.
  • stdio MCP 서버가 시작되는 도중 세션이 끝나면 서버 프로세스가 계속 남아 있던 문제 수정.
  • 상태를 유지하지 않는 원격 MCP 서버가 재배포 중인 프록시처럼 잠깐 HTTP 404를 돌려주면, 연결된 것으로 표시되면서도 세션 내내 쓸 수 없던 문제 수정.
  • 유효한 URL이 없는 서버에 MCP 로그인을 시도하면 알기 어려운 SDK 오류로 실패하던 문제 수정. /mcp가 이런 서버에는 Authenticate를 제공하지 않습니다.
  • claude mcp add, add-json, remove가 샌드박스 안처럼 사용자, 로컬 설정 파일을 쓸 수 없을 때도 성공으로 표시되던 문제 수정.
  • /context가 MCP 서버 지침(instructions)을 계산에 넣지 않던 문제 수정. 별도 행으로 표시되고 합계에 포함됩니다.

모델과 사용량

  • 텔레메트리를 끄면 주간 Fable 한도가 /usage와 VS Code 사용량 표시에 나오지 않던 문제 수정.
  • 기본 ID는 거부되는 경우에도 날짜나 -v1:0 접미사가 붙은 ID면 /model이 Sonnet 4.6, Sonnet 5의 [1m] 지정을 받아들이던 문제 수정.
  • ANTHROPIC_DEFAULT_HAIKU_MODEL로 다른 모델을 지정해도 /model 선택기가 고정된 Haiku 버전과 가격을 보여 주던 문제 수정.
  • 모델 대체(fallback) 중에 시작한 동적 워크플로가 설정한 모델로 다시 시도하지 않고 모든 에이전트를 대체 모델로 실행하던 문제 수정.
  • Haiku가 세션의 주 모델일 때 DISABLE_PROMPT_CACHING_HAIKU가 효과가 없던 문제 수정.

플러그인

  • claude plugin validate가 실제로는 설치할 수 없는 플러그인, 마켓플레이스 이름을 허용된다고 안내하던 문제 수정. marketplace.json에 이런 이름이 있으면 검증에 실패합니다.
  • outputStyles, themes, monitors, lspServers 경로가 없거나 플러그인 디렉터리 밖을 가리켜도 claude plugin validate를 통과하던 문제 수정.
  • plugin.json에 서버를 선언한 플러그인에 대해 claude plugin details가 MCP 서버를 0개로 보여 주던 문제 수정.
  • claude plugin marketplace remove가 마켓플레이스와 함께 제거한 설치 플러그인을 알려 주지 않던 문제 수정. 이제 목록으로 보여 줍니다.
  • ID가 대소문자만 다른 두 플러그인 중 하나를 claude plugin uninstall로 지우면, 지정한 플러그인에 해당 범위의 enabledPlugins 항목이 없을 때 다른 쪽 플러그인과 그 옵션, 시크릿이 삭제되던 문제 수정.
  • 버전을 선언하지 않은 플러그인의 캐시 파일이 사라지면 설치한 커밋이 아니라 원본의 최신 커밋으로 조용히 복원되던 문제 수정.
  • bind mount를 쓰는 devcontainer처럼 홈 또는 설정 디렉터리가 옮겨진 뒤 사용자가 설치한 플러그인과 마켓플레이스가 “cache-miss”로 로드되지 않던 문제 수정.
  • installed_plugins.json에 잘못된 플러그인 ID 기록이 하나라도 있으면 플러그인이 하나도 표시되지 않던 문제 수정.
  • installed_plugins.json에 이 버전이 읽을 수 없는 기록이 있으면 파일이 다시 쓰이며 기록이 사라지던 문제 수정. claude plugin 명령이 해당 기록과 복구 방법을 알려 줍니다.

SDK와 원격 세션

  • SDK 세션에서 턴이 일찍 끝나면 미뤄 둔 도구 호출이나 완료된 도구 결과가 사라지던 문제, 작업 프로세스 재시작 후 승인 대기 창이 남던 문제, 스트리밍하지 않는 대체 경로의 result.usage 값 오류 수정.
  • DISABLE_TELEMETRY나 DO_NOT_TRACK으로 텔레메트리를 끄면 유료 플랜에서 Remote Control을 쓸 수 없던 문제 수정.
  • 좁은 터미널에서 /remote-control 메뉴의 QR 코드 안내가 단어 중간에서 잘리던 문제 수정.

샌드박스, 권한, 보안

  • [Windows] PowerShell 도구가 cmd /c rd, rmdir, del, erase로 드라이브 루트, 홈 폴더처럼 Remove-Item은 거부하는 폴더를 삭제할 수 있던 문제 수정.
  • 관리형 sandbox 설정에서 중첩된 값 하나만 잘못돼도 블록 전체가 무시되던 문제 수정. 잘못된 값은 안전한 쪽(차단)으로 처리되고 나머지 값은 적용됩니다.
  • 샌드박스 안의 git이 샌드박스 프록시 로그인 정보를 자격 증명 도우미에 저장하려다 “failed to store”를 출력하던 문제 수정.
  • CA 인증서를 GIT_CONFIG_COUNT 환경 변수 쌍으로 git에 전달하면 Git LFS 다운로드 등에서 worktree 체크아웃이 인증서 검증에 실패하던 문제 수정.
  • git 저장소의 하위 디렉터리에서 Claude Code를 시작하면 Claude가 자신의 auto-memory 메모를 수정하는 작업이 민감한 파일 쓰기로 차단되던 문제 수정.
  • 화면 읽기 모드의 권한 확인 창이 따옴표로 감싼 명령과 경로를 확인 창 자체의 문구처럼 읽어 주던 문제 수정.

단축키와 입력

  • Claude의 내장 단축키 안내가 연속 키(chord) 대기 시간을 3초가 아닌 1초로, cmd를 meta의 별칭으로 잘못 설명해 대부분의 터미널이 보내지 않는 cmd+ 단축키를 만들 수 있던 문제 수정.
  • keybindings.json이 ctl+k처럼 철자가 틀린 보조 키를 조용히 받아들이던 문제 수정. 디버그 로그에 경고와 수정 제안을 남깁니다.
  • keybindings.json에서 footer:openSelected를 재지정하거나 해제해도 하단 안내가 계속 “Enter to view”라고 표시되던 문제 수정.
  • 미리 입력, 키 반복, ssh나 tmux를 거친 연속 입력처럼 키가 빠르게 들어오면 이전 상태 기준으로 처리되던 문제 수정.
  • Warp 터미널에서 마크다운 링크가 클릭할 수 없는 일반 텍스트로 표시되던 문제 수정.
  • 클라우드 세션에서 답변 첫 단어가 스트리밍되지 않고 늦게 나타나던 문제 수정.

vim 모드

  • . 반복 시 Shift+Enter 줄바꿈이 빠지던 문제, 커서가 악센트 글자 안에 놓이던 문제, 마지막 줄에서 3J나 Visual 모드 J 뒤에 이전 변경을 반복하던 문제 수정.
  • normal 모드에서 10,000자가 넘는 프롬프트를 불러오면 커서가 끝을 넘어가던 문제, V 다음 p 뒤 커서가 첫 비공백 문자에 놓이지 않던 문제 수정.
  • J가 ) 앞 공백이나 탭 뒤처럼 Vim과 다른 간격으로 줄을 합치던 문제, 마지막 줄에서 3J나 Visual 모드 J가 Vim처럼 커서를 옮기지 않던 문제 수정.

[VSCode]

  • 자동 모드 전환에 실패해 세션이 auto 또는 bypass 모드로 계속 실행되는데도 권한 모드 표시가 Default로 나오던 문제 수정. 전환이 적용될 때까지 다시 시도합니다.
  • 웹에서 옮겨 온(teleport) 세션이 Claude 작업 중에 보낸 메시지를 잃던 문제 수정.
  • 이전 버전이 빈 로컬 사본을 저장한 Web 세션이 목록에서 숨고 대신 빈 채팅이 열리던 문제 수정.
  • 다시 연 세션이 자동 이어 쓰기처럼 턴 도중 받은 메시지에서 턴을 둘로 나누던 문제, 다시 불러온 세션이 되감기로 없앤 턴이나 압축 이전 행만 보여 주던 문제 수정.
  • 좁은 패널에서 하단 에이전트 표시의 아이콘이 가운데에서 벗어나고 상태 점이 가장자리에 붙던 문제 수정.
  • 긴 프롬프트에 줄바꿈으로 끝나는 여러 줄을 붙여넣으면 입력창 글자가 커서, 선택 영역보다 약간 아래에 표시되던 문제 수정.

[Cloud sessions]

  • 서버 측 재시작에서 복구한 클라우드 세션이 댓글이나 push처럼 이미 끝낸 단계를 다시 실행해 중복을 만들던 문제 수정.

[Claude Tag]

  • 연결 규칙(attach rule)으로 액세스 번들을 받은 채널의 설정 페이지에 커넥터와 플러그인이 하나도 표시되지 않던 문제 수정.
  • 선택한 저장소가 많은 GitHub App 설치에서 액세스 번들 저장소 검색이 일부 저장소를 찾지 못하던 문제 수정.
  • 답변 도중 새 메시지가 오면 Claude가 같은 답변을 두 번 올리던 문제 수정.
  • Slack Connect 공유 등으로 Slack 채널 ID가 바뀐 오래된 비공개 채널에서 채널 루틴이 멈추던 문제 수정.
  • “Channel only”로 설정된 채널에 게스트가 아닌 멤버가 들어오고 Slack의 멤버십 확인이 늦으면 모든 대화가 끝나던 문제 수정.

[Code Review]

  • GitHub가 풀 리퀘스트를 돌려주지 못하면 “@claude review” 요청이 응답 없이 끝나던 문제 수정. 한 번 다시 시도하고, 그래도 실패하면 댓글로 알려 줍니다.
  • 검증한 내용 없이 시간 제한에 걸려 멈춘 리뷰가 과금되던 문제 수정. 미완료로 표시되고 과금되지 않으며 한 번 다시 시도합니다.

알아두면 좋은 점

  • 모델 버전을 고정하려면 availableModelsMatch: "exact"를 사용합니다 — 이 값을 켜면 새 모델 버전은 availableModels에 추가하기 전까지 막힙니다. availableModels가 허용하는 모델 중 일부만 막으려면 deniedModels를 사용합니다.
  • 권한 모드를 지정하지 않은 서드파티 제공자, 텔레메트리 끈 환경은 이제 auto mode로 시작합니다 — 이전 동작을 원하면 permissions.defaultMode를 명시합니다.
  • 2.1.282의 claude-ai 이름 예약이 철회됐습니다 — 이 이름을 쓰는 스킬, 명령, MCP 서버를 이름 변경할 필요가 없어졌습니다. anthropic-skills 이름에 대한 제한은 이번 릴리스에서 철회되지 않았습니다.
  • /doctor prompt-audit로 설정 파일을 한 번 점검해 볼 만합니다 — 예전 모델에 맞춰 쓴 CLAUDE.md나 스킬, 오래된 경로와 명령을 찾아 줍니다.
  • claude plugin eval은 git 2.31 이상이 필요합니다 — git이 설치된 환경에서 더 오래된 버전이면 실행이 거부됩니다.