본문으로 건너뛰기

Claude Code v2.1.154 업데이트 후 타사 API 호환성 문제 해결법

Claude Code v2.1.154에서 추가된 'mid-conversation-system' 기능이 OpenAI 호환 API와 충돌하여 발생하는 400 에러 해결법을 공유한다.

실용적 조언

  • Claude Code v2.1.154에서 타사 API 연동 오류 발생 시 v2.1.153으로 다운그레이드할 것.
  • 자동 업데이트를 비활성화하여 예기치 않은 버전 변경을 방지할 것.
  • 설정 파일에서 `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES`를 수정하여 호환성을 맞출 것.

섹션별 상세

01
Claude Code v2.1.154 업데이트 이후 DeepSeek 등 OpenAI 호환 API를 사용하는 환경에서 400 에러가 발생한다. 에러 메시지는 'Failed to deserialize the JSON body messages[1].role: unknown variant system'으로, 메시지 배열 중간에 시스템 역할이 포함되어 발생하는 문제이다.
bash
npm i -g @anthropic-ai/[email protected]

문제가 발생한 최신 버전을 이전 버전으로 다운그레이드하는 명령어

json
"env": { "ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES": "thinking,adaptive_thinking,text_editor" }

~/.claude/settings.json 파일에 추가하여 mid-conversation-system 기능을 비활성화하는 설정

02
원인은 Anthropic의 새로운 기능인 'mid-conversation-system'이 대화 중간에 `role: "system"`을 삽입하는 방식 때문이다. 대부분의 OpenAI 호환 API는 대화 시작 시점에만 시스템 프롬프트를 허용하거나, 대화 중간에 시스템 역할을 삽입하는 구조를 지원하지 않아 요청을 거부한다.
03
가장 빠른 해결책은 이전 버전인 v2.1.153으로 다운그레이드하고 자동 업데이트를 끄는 것이다. `npm i -g @anthropic-ai/[email protected]` 명령어로 설치할 수 있으며, 이를 통해 기존 API 연동을 정상화할 수 있다.
04
다른 방법으로는 `~/.claude/settings.json` 파일의 `env` 설정에서 `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` 값을 수정하는 것이다. `mid-conversation-system` 기능을 제외하고 설정하면 Claude Code가 메시지 중간에 시스템 역할을 삽입하지 않아 호환성 문제가 해결된다.

용어 해설

OpenAI 호환 API(OpenAI-compatible API)
OpenAI의 API 규격(메시지 구조, 엔드포인트 등)을 준수하여 개발된 인터페이스이다. 많은 타사 모델 제공업체가 이 규격을 사용하여 기존 OpenAI 라이브러리와의 호환성을 유지한다.
시스템 프롬프트(System Prompt)
모델의 행동 지침이나 페르소나를 정의하는 초기 설정 메시지이다. 일반적으로 대화 시작 시 최상단에 위치하며, 대화 맥락을 제어하는 역할을 한다.
JSON 직렬화(JSON Serialization)
데이터 구조나 객체 상태를 JSON 형식의 문자열로 변환하는 과정이다. API 통신 시 데이터 전송을 위해 필수적이며, 규격 불일치 시 역직렬화 오류가 발생한다.

언급된 도구

Claude Code중립

AI 코딩 에이전트

DeepSeek중립

OpenAI 호환 API 제공 모델

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 05. 29.수집 2026. 05. 29.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.