Claude Code 2.1.285: allowedProviders가 실제로 잠그는 기능에 대한 분석
요약
Anthropic이 Claude Code 2.1.285를 출시했으며, 이번 업데이트에는 관리자가 기기를 승인된 Provider로 잠글 수 있는 `allowedProviders` 기능이 포함되어 있습니다. 이 외에도 데스크톱 앱 사용 편의성 개선 및 플러그인 설정 방식에 변화가 생겼습니다. 이는 모델 출시 후 안정성과 제어 기능을 강화하는 Anthropic의 일관된 패턴을 보여줍니다.
핵심 포인트
- `allowedProviders`를 통해 관리자가 기기를 승인된 Provider로 제한할 수 있습니다.
- 데스크톱 앱 및 플러그인 설정 기능이 개선되어 사용 편의성이 높아졌습니다.
- 모델 출시 다음 날, 도구(tooling) 업데이트가 이어지는 Anthropic의 패턴을 확인할 수 있습니다.
-
Claude Code 2.1.285는 데스크톱 플래그, 플러그인 설정 및 provider lockdown과 함께 2026년 9월 29일에 출시되었습니다.
-
새로운 allowedProviders 설정은 관리자만 사용할 수 있으며, 기기를 승인된 8개 provider 중 하나로 잠급니다.
-
이전에는 실패한 요청이 최대 21번까지 재시도했지만, 이제는 폴백(fallback)과 하나의 예산을 공유합니다.
-
claude --desktop및plugin configure는 오늘날 유용하지만, allowedProviders는 건너뛰어도 되는 엔터프라이즈 설정입니다.
Anthropic은 2026년 9월 29일에 Claude Code 2.1.285를 출시했으며, 일상적인 포인트 릴리스처럼 보이는 업데이트 속에 회사 전체의 Claude Code 트래픽이 어떤 클라우드를 사용할 수 있는지 결정하는 설정이 숨겨져 있습니다. 저는 이 글을 읽은 아침에 변경 로그를 확인했는데, 그 이유는 Claude Code가 제가 RAXXO 제품을 빌드할 때 사용하는 도구이기 때문이었고, 이번 버전에는 버전 번호 상승으로 예상되는 것보다 더 많은 내용이 담겨 있었기 때문입니다. 제가 그것들에 대해 알게 된 바로 그날 두 가지 기능을 활성화했습니다.
저는 이 릴리스를 건너뛸 뻔했습니다. 버전 번호가 평범해 보였거든요.
Claude Code 2.1.285에서 변경된 사항은 무엇인가요?
수많은 수정 목록과 함께 여섯 가지 추가 기능이 포함되었습니다. claude --desktop은 현재 디렉터리에서 Claude 데스크톱 앱을 열거나, --continue 또는 --resume <id>를 사용하여 특정 세션에서 열어주므로, 터미널 세션을 GUI에 전달할 때 아무것도 다시 입력할 필요가 없습니다. claude plugin configure <plugin>은 플러그인의 옵션과 아직 설정되지 않은 플래그들을 보여주고, --values-stdin을 통해 읽은 새로운 값을 저장할 수 있습니다. <server>.<key>=<value> 형식으로 작성된 새로운 형태의 claude plugin install --config는 번들된 MCP 서버 자체의 설정을 설치 시점에 지정할 수 있게 하여, 설정이 필요한 플러그인이 누군가 /plugin을 방문하여 Configure를 클릭하기 전까지 반쯤 설정된 상태로 머무르지 않고 즉시 작동하도록 합니다.
다음으로, CLAUDE_CODE_DISABLE_WEB_FETCH라는 환경 변수는 WebFetch 도구를 완전히 비활성화하며, CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES는 시간 초과된 비스트리밍 폴백(fallback) 요청이 재전송되는 횟수를 제한합니다. 여섯 번째인 allowedProviders가 아래에서 별도의 섹션으로 다룰 만한 내용입니다.
이번 릴리스는 API의 기본 Sonnet 모델로 Claude Sonnet 5.5를 추가한 2.1.284보다 하루 뒤에 나왔습니다. 저는 어제 Sonnet 5.5가 무엇을 포함하는지에 대해 글을 썼기 때문에, 여기서는 모델 세부 정보를 반복하지 않겠습니다. 주목할 만한 점은 패턴입니다. 모델이 출시된 다음 날, 구성과 안정성을 강화하는 도구(tooling)가 출시되는 것입니다. 이것이 몇 달 동안의 리듬이었고, 합리적인 흐름입니다. 모델을 출시하고, 그 모델 사용 방식을 팀들이 실제로 제어할 수 있게 해주는 배관(plumbing)도 함께 출시하는 식입니다.
수정 목록은 길어서, 제가 세어보니 80가지가 넘는 항목이 있으며, 원격 제어 메시지 전송부터 VS Code 탭 동작, 그리고 마스킹된 로그가 URL 비밀번호를 처리하는 방식까지 모든 것을 다루고 있습니다. 제가 이 모든 것을 하나하나 설명하지는 않겠습니다.
몇 가지는 솔로 빌더에게 중요해서 나중에 별도의 섹션으로 다룹니다. 나머지는 헤드라인을 만들진 못하지만, 도구가 가장자리에서 썩지 않게 유지하는 종류의 유지보수 작업입니다. 마치 지난 8월에 서브 에이전트 생성 제한을 제거한 것이 헤드라인을 만들지는 못했지만, 세션이 얼마나 오래 실행될 수 있는지를 조용히 바꾼 것처럼 말입니다.
allowedProviders는 실제로 무엇을 제한하는가
이는 기계가 Claude Code를 위해 사용할 수 있는 API 제공업체를 아예 제한합니다. 옵션으로는 Anthropic API 직접 사용, 사용자 지정 엔드포인트, Amazon Bedrock, Mantle, Google Cloud의 Vertex AI, Microsoft Foundry, AWS의 Claude Platform, 또는 클라우드 게이트웨이가 있습니다. 관리자는 이 여덟 가지 중 하나 이상을 선택하여, Claude Code 문서에서 모든 다른 구성 수준 위에 위치한다고 설명하는 관리형 설정 파일에 그 선택을 기록합니다. 개발자 자신의 settings.json, 프로젝트 설정, 심지어 명령줄로 전달되는 플래그조차도 이러한 제한을 넓히거나 제거할 수 없습니다. 이는 제안되는 것이 아니라 강제됩니다.
컴플라이언스 이유(예: 데이터 거주성)나 기존 AWS 지출 약정 때문에 Bedrock으로 표준화한 회사를 상상해 보세요. 이 설정이 도입되기 전에는, 개발자가 개인 Anthropic API 키를 자신의 구성 파일에 붙여넣고 승인된 경로 밖으로 트래픽을 조용히 라우팅하는 것을 막는 것이 아무것도 없었습니다. allowedProviders는 슬랙 메시지를 통해 모두에게 올바른 엔드포인트를 사용해 달라고 요청하는 것에 의존하기보다, 정책 수준에서 그 격차를 메웁니다.
저 같은 1인 스튜디오에게는 이 설정이 아무런 의미가 없습니다. 잠글 개발자 기기군도 없고, 저 자신의 것 위에 위치한 관리형 설정 파일도 없으니까요. 저 자신에게 강제할 IT 정책이 없는 겁니다.
하지만 이는 더 많은 팀들이 Claude Code를 채택함에 따라 Claude Code가 어디로 향하고 있는지에 대해 무언가를 알려줍니다. 거버넌스 주변 도구들은 아무도 실제로 확인할 수 없는 서면 정책 수준에 머무르기보다, 하나씩 강제 가능한 설정으로 점점 더 구체화되고 있습니다.
1인 빌더로서 업데이트할 가치가 있을까요?
네, 그리고 그 이유는 allowedProviders 때문이 아닙니다. 추가된 여섯 가지 기능 중 두 가지는 제가 이번 주에 사용할 것들입니다. claude --desktop은 특정 불편함을 해결해 줍니다. 터미널에서 무언가를 시작한 후, 세션을 잃지 않으면서 디프(diff) 패널이나 아티팩트 미리보기와 같은 데스크톱 앱이 제공하는 더 풍부한 보기 기능을 원할 때 유용합니다. 이제 저는 단순히 claude --desktop --continue를 실행하기만 하면 터미널에서 중단했던 지점부터 이어서 작업할 수 있습니다.
다른 하나는 claude plugin configure입니다. 저는 RAXXO 툴링 전반에 걸쳐 여러 플러그인을 설치해 두었는데, 한 번 이상은 제가 설정하지 않은 오래된(stale) 설정 값에 부딪혔습니다. 각 플러그인에 대해 configure를 실행하고 어떤 옵션이 비어 있는지 정확히 확인하는 것이 수동으로 설정 파일을 뒤지는 것보다 훨씬 낫습니다.
claude plugin install --config에 추가된 <server>.<key>=<value> 구문은 작지만 실제로 불편함을 해결해 주는 기능입니다. 플러그인 내부에 포함되는 MCP 서버는 예전에는 제가 /plugin을 열고 Configure를 클릭해야 한다는 것을 기억할 때까지 반쯤 설정된 상태로 남아 있었습니다. 이제 설치 시점에 값을 전달할 수 있어서 서버가 바로 작동하며, 잊어버릴 두 번째 단계가 없습니다. 이것은 MCP가 무상태(stateless)가 되는 상황에서 제가 알아차린 것과 같은 경향의 작은 부분입니다. 즉, 프로토콜과 그 주변 툴링이 매번 한 번씩 가장자리부터 점점 더 정교해지고 있다는 것입니다.
제가 건너뛸 기능은 다음과 같습니다: 위에서 언급한 이유로 allowedProviders와 실제로 해당 실패 사례에 부딪히지 않는 한 CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES입니다. 이것은 방어적으로 설정할 것이 아니라, 좁은 범위의 예외적인 상황을 위한 매우 제한적인 환경 변수입니다.
모든 추가 기능이 첫날부터 사용 사례를 가질 필요는 없습니다.
알아두면 좋은 구체적인 숫자가 있습니다. 이 숫자는 추가된 기능 목록이 아니라 수정 사항 목록에 묻혀 있습니다. 스트리밍(streaming)이 계속 실패하여 비스트리밍 폴백(fallback)으로 전환될 때, 실패하는 API 요청은 최대 21번까지 재시도되었습니다. 각 재시도는 자체적인 지연 시간을 추가했습니다. 이제 스트리밍과 그 폴백이 하나의 재시도 예산을 공유하므로, 실제로 실패하는 요청은 몇 분 동안 조용히 소모하는 대신 더 빨리 포기합니다. 이전에는 이것을 나쁜 연결 탓으로 돌렸겠지만, 이렇게 큰 규모의 예산에 대해 조용히 재시도하고 있다는 사실을 알지 못했습니다. 상한선이 있고, 그 상한선이 방금 더 타이트해졌다는 것을 아는 것은 무언가 실제로 고장 났다고 가정하기 전에 얼마나 오래 기다려야 하는지를 바꿉니다.
무엇이 또 조용히 더 안정적으로 되었을까요?
몇 가지 작은 수정 사항들이 한 줄짜리 설명보다 더 중요합니다. 세션 중간에 추가된 MCP 서버를 비활성화하는 경우, 이전에 해당 서버의 도구들은 여전히 사용 가능했습니다. 이는 비활성화했다고 생각한 서버가 호출될 수 있다는 의미였습니다. 이것은 이제 수정되었으며, 아무것도 충돌하지 않기 때문에 놓치기 쉬운 버그 유형입니다. 즉, 부적절하게 작동할 때 도구가 조용히 계속 작동하는 경우입니다.
원격 제어(Remote Control) 기능도 실제 안정성 개선이 있었습니다. 휴대폰 앱에서 보낸 메시지에 첨부된 파일은 첫 다운로드 시도가 실패하면 사라지곤 했습니다. 재시도도 없고, 경고도 없었습니다. 이제 네트워크 오류, 시간 초과(timeout), 또는 서버 오류가 발생하면 최대 두 번까지 재시도한 후에 포기합니다. 저는 책상에서 떨어져 있을 때 휴대폰으로 세션을 밀어붙여 원격 제어를 사용하는데, 보통 고장 난 것의 스크린샷을 첨부하기 위해서입니다. 그 스크린샷이 조용히 손실되었다면 전체 대화를 다시 해야 했을 것입니다.
Artifact 도구는 사용자가 쉽게 빠질 수 있는 시나리오와 관련된 두 가지 수정 사항을 포함했습니다. 바로 대화 기록(conversation)을 되감기(rewinding)한 후 게시하는 경우입니다. 이 릴리스 이전에는, 되감기를 통해 게시할 때 파일의 최신 내용을 그저 오래된 버전으로 덮어쓸 수 있었습니다. 이제는 Claude가 먼저 파일을 다시 읽지 않으면 게시를 거부합니다. 이는 사소한 불편함이지만, 최신 작업물이 조용히 파괴되는 것을 막아줍니다. 또한, 대화 기록이 압축되어 재시작되는 클라우드 세션에서도, 해당 세션이 이미 읽은 Artifact에 대한 업데이트 거부 버그가 수정되었습니다. 이 버그는 사용자가 가장 필요할 때 장기간의 클라우드 세션을 다시 시작하는 것을 불안정하게 만들었을 것입니다.
언급할 만한 또 다른 사항이 있습니다. SSH를 통해 설치되는 플러그인 및 마켓플레이스 설치 시, 기존에는 GIT_SSH 또는 git 설정의 core.sshCommand에 지정된 어떤 SSH 프로그램도 무시하고 시스템 기본값으로 조용히 폴백(falling back)하는 문제가 있었습니다. 이는 표준적이지 않은 SSH 환경을 가진 장치에서 플러그인 설치가 계속 멈추는 이유를 알 수 없는 사람이 발견할 법한 수정 사항입니다.
또한, 같은 목록에 숨겨진 더 작은 개인 정보 보호 수정 사항도 있습니다. 마스킹(Redacted)된 로그와 기록은 URL의 비밀번호 일부 또는 전체를 보여줄 수 있었는데, 이는 URL이 일반 문자 대신 '@' 기호를 '%40'으로 작성할 때 발생했습니다. 마스킹 규칙을 만들 때는 놓치기 쉬운 사소한 디테일이며, 실제로 '마스킹된' 로그가 줄 단위로 어떻게 보이는지를 읽는 사람만이 발견할 수 있는 종류의 허점입니다.
이 수정 사항들 중 어느 것도 데모에서는 보여주지 않습니다. 이들이 고치는 정확한 동작에 의존하는 첫 순간에 나타나며, 그럴 때 조용히 잘못된 일을 저질러냅니다.
핵심 요약
2.1.285는 전날 출시된 Sonnet 5.5가 포함했던 종류의 중대한 변경 사항(breaking changes)을 담고 있지는 않습니다. 이는 단독 빌더에게 진정으로 유용한 두 가지 추가 기능과, Claude Code를 단독으로 사용하는 누구에게도 아무것도 변경하지 않는 하나의 엔터프라이즈 설정, 그리고 전체 변경 로그 라인을 일일이 읽어볼 필요가 없더라도 알아두면 가치가 있는 세네 개의 항목을 포함하는 긴 수정 목록(fix list)을 가진 유지보수 릴리스입니다.
저의 실제 계획은 다음과 같습니다. 현재 실행하는 것이 고장 나는 부분이 전혀 없기 때문에 오늘 업데이트할 것입니다. 다음번에 세션 중간에 더 풍부한 보기(richer view)가 필요할 때는 claude --desktop --continue를 시도하고, 설치된 모든 플러그인에 대해 claude plugin configure를 실행하여 아무것도 오래된 기본값(stale default)으로 남아있지 않은지 확인할 것입니다. 클라이언트나 협업자가 Claude Code를 특정 제공자(provider)로 잠가야 하는 경우가 아니라면 allowedProviders는 완전히 무시할 것이며, 그럴 경우에만 제가 정확히 어디를 봐야 할지 알게 될 것입니다. 그리고 21회 재시도(retry) 숫자는 머릿속에 기억해 둘 것입니다. 이는 이미 봤고 나중에 또 보게 될 정체(stall)의 원인을 설명해 주는 종류의 세부 사항이며, 심지어 그것에 대해 어디서 읽었는지 잊어버린 후에도 그러할 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기