Claude API 새 버전 '2026-10-21' — temperature · top_p · top_k를 보내면 400 오류, SDK도 한꺼번에 메이저 업데이트
Anthropic이 2023-06-01 이후 처음으로 새 API 버전 2026-10-21을 냈어요. 새 버전에서는 temperature · top_p · top_k를 보내면 기본값이어도 400 오류가 나고, Python 2.0.0 · TypeScript 1.0.0 등 새 SDK가 이 버전을 기본으로 써요. 옛 버전 2023-06-01로 남는 길도 열려 있어요.
- 10월 21일 Claude API에 새 버전 2026-10-21이 나왔어요. 버전 기록에는 2023-01-01 · 2023-06-01 다음이 바로 이 버전이에요. temperature · top_p · top_k(답의 무작위성을 정하는 샘플링 값)를 보내면 기본값이어도 400 오류가 나요.
- 같은 날 나온 새 SDK(Python 2.0.0 · TypeScript 1.0.0 · C# 13.0.0 · Go 2.0.0 · Java 3.0.0 · PHP 1.0.0 · Ruby 2.0.0 · ant CLI 2.0.0)가 이 버전을 기본으로 보내요. SDK는 API 키를 X-Api-Key 대신 Authorization: Bearer 헤더로 보내고, 라이선스는 MIT에서 Apache 2.0으로 바뀌어요.
- temperature를 낮춰 답을 고르게 만들던 요청은 그 효과를 잃고, 대신할 설정은 없어요. 그런 요청은 2023-06-01 버전에 그대로 두라고 안내해요. Claude 4.7 이후 모델은 원래 기본값만 받아서 결과가 같아요.
SDK 메이저 버전을 올리기 전에 코드에서 temperature · top_p · top_k를 찾아 지우세요. 프록시나 게이트웨이가 X-Api-Key 헤더를 읽고 있다면 Authorization을 읽도록 바꿔야 해요. Admin API로 roles · group_id · workspace_id 같은 옛 필드를 읽는 코드도 새 이름으로 바꿔야 해요.
Sonnet 4.6처럼 temperature 값을 바꿀 수 있는 모델에서 temperature를 낮춰 '매번 같은 모양'의 결과를 받던 도구라면, 새 버전에서는 그 효과가 사라져요. 그런 요청만 2023-06-01에 남겨 둘지 먼저 정하세요.
새 SDK와 CLI는 Apache 2.0이에요(이전 버전은 MIT 그대로). 의존성 라이선스 목록을 관리한다면 항목을 고쳐야 한다고 안내해요.
1. 코드에서 temperature · top_p · top_k를 검색해 지워요(새 버전에서는 기본값이어도 400 오류). 2. SDK를 쓰면 새 메이저 버전으로 올려요 — 예: Python은 anthropic 2.0.0, TypeScript는 @anthropic-ai/sdk 1.0.0, Go는 go get github.com/anthropics/anthropic-sdk-go/v2 3. SDK 없이 부르면 헤더를 바꿔요: anthropic-version: 2026-10-21 4. 프록시가 X-Api-Key를 읽는다면 Authorization을 읽게 바꿔요. 5. 내보내기 전에 2026-10-21로 테스트해요(이전 안내의 세 번째 단계).
Claude API로 글 정리 · 요약 자동화를 직접 만들어 쓰는 분이라면, SDK 업데이트 알림이 뜨기 전에 코드에서 'temperature' 한 단어를 검색해 보는 것부터 해 보면 좋을 것 같아요. 답이 매번 같아야 하는 작업이라면 그 요청만 2023-06-01에 남겨 두고 천천히 옮기는 것도 방법이에요.
Anthropic이 10월 21일 Claude API의 새 버전 2026-10-21을 냈어요. API 버전 기록에는 2023-01-01(첫 공개), 2023-06-01 다음이 바로 이 버전이에요. 같은 날 Python · TypeScript 등 모든 공식 SDK와 ant CLI도 새 메이저 버전이 나왔고, 이 SDK들은 새 버전을 기본으로 보내요.
무엇이 막히나 (Messages API)
- temperature · top_p · top_k(답의 무작위성을 정하는 샘플링 값): 일반 요청 · Message Batch 요청 모두, 보내면 기본값이어도 400 오류가 나요. 새 SDK와 CLI에는 이 세 값이 아예 없어요.
- assistant 메시지 안의 document 블록: 400 오류. 문서는 user 메시지로 보내야 해요(다른 블록 안에 들어 있는 문서, 예컨대 Claude가 돌려준 web fetch 결과는 괜찮아요).
- user 메시지의 citations: text 블록에 비어 있지 않은 citations 배열을 넣으면(search_result 블록 안 포함) 400 오류. assistant 메시지의 citations와 문서 · 검색 결과의
"citations": {"enabled": true}설정은 그대로 돼요.
temperature가 빠지면 생기는 일
세 값을 안 보내면 기본값으로 뽑아요. temperature는 1.0이고, 지금 2023-06-01에서 이 값을 안 보내는 요청과 같아요. Claude 4.7 이후 모델은 원래 기본값만 받아서 결과가 그대로예요. 하지만 Claude Sonnet 4.6처럼 다른 값을 받는 모델에서 temperature를 낮춰 답을 고르게 만들던 요청은 그 효과를 잃고, 대신할 설정은 없다고 해요. 그런 요청은 값을 빼거나, 그 요청만 2023-06-01에 남겨 두라고 안내해요.
Admin API 필드 이름도 바뀜
Admin API와 Claude Enterprise Analytics API 응답에서 옛 이름이 빠져요: roles → role_ids, group_id → rbac_group_id, name → display_name(RBAC 역할), group_type → group.type, actor.email → actor.email_address, summaries → data. API 키의 workspace_id는 없어지고 scope를 읽어야 해요.
새 SDK에서 달라지는 것
- 버전: Python 2.0.0 · TypeScript 1.0.0 · C# 13.0.0 · Go 2.0.0 · Java 3.0.0 · PHP 1.0.0 · Ruby 2.0.0 ·
antCLI 2.0.0이 2026-10-21을 보내요. Go는 모듈 경로가github.com/anthropics/anthropic-sdk-go/v2로 바뀌어요. - API 키 헤더: SDK와 CLI가 키를
X-Api-Key대신Authorization: Bearer로 보내요. Claude API는 두 헤더 모두 받아서 API를 직접 부르는 프로그램은 바꿀 게 없어요. X-Api-Key를 읽는 프록시 · 게이트웨이만 고치면 돼요. - Text Completions 삭제: 옛 Text Completions API가 TypeScript · Go · Java · Ruby SDK와 CLI에서 빠졌어요. Messages API를 쓰라고 해요.
- 클라이언트 쪽 압축 삭제: TypeScript · Ruby SDK 도구 실행기(tool runner)의 클라이언트 쪽 대화 압축(compaction)이 빠지고, API 안에서 요약하는 서버 쪽 압축으로 넘어가요. 압축을 시작하는 기준은 최소 50,000토큰이에요.
- CLI:
--api-key·--auth-token플래그가 없어졌어요. 명령줄 값은 셸 기록과 프로세스 목록에 보이기 때문이라고 해요. - 라이선스: 새 버전부터 SDK와 CLI는 Apache 2.0이에요. 이전 버전은 MIT 그대로예요.
어디서 되나
Claude API, Claude Platform on AWS, Microsoft Foundry, Google Cloud에서 쓸 수 있어요. Amazon Bedrock에서는 Claude 4.7 이후 모델만 돼요. Bedrock에서 Opus 4.6 이전 모델을 부른다면 지금 SDK 버전에 머물러야 해요.
읽을 때 주의
옛 버전이 언제 끝나는지 날짜는 원문에 없어요. 버전 안내 페이지는 '최신 버전을 쓰기를 권하고, 이전 버전은 지원 중단(deprecated)으로 보며 새 사용자에게는 쓸 수 없을 수 있다'고만 적었어요. 이전 안내는 순서를 ① 새 버전으로 바꾸기 ② 깨지는 변경 고치기 ③ 2026-10-21로 테스트하기로 두고, ①과 ②를 함께 내보내라고 해요.

