k
korAI
트러블슈팅 목록
Troubleshoot

Claude API 401 Unauthorized 해결

Claude API 호출 시 401 unauthorized 에러가 뜨는 5가지 원인과 단계별 해결법. API 키 발급, Bearer 헤더, 환경변수, 키 만료 확인까지.

증상

Claude API 호출 시 `{"type": "error", "error": {"type": "authentication_error"}}` 응답.

원인

API 키가 누락됐거나, 잘못된 헤더 형식이거나, 키가 비활성화됐거나, 환경변수 로딩에 실패한 경우.

해결 단계

  1. 1

    API 키 확인

    https://console.anthropic.com/settings/keys 에서 키가 활성 상태인지 확인. Revoked이면 새 키 발급.

  2. 2

    헤더 형식 검증

    Anthropic은 `x-api-key` 헤더 사용. OpenAI 스타일 `Authorization: Bearer ...`를 쓰면 401 발생.

    headers: {
      "x-api-key": process.env.ANTHROPIC_API_KEY,
      "anthropic-version": "2023-06-01",
      "content-type": "application/json"
    }
  3. 3

    환경변수 로딩 확인

    Next.js라면 `.env.local`에 `ANTHROPIC_API_KEY=sk-ant-...` 저장 후 dev 서버 재시작. Vercel 배포면 Environment Variables에 등록 후 Redeploy.

  4. 4

    키 형식 점검

    Anthropic 키는 `sk-ant-api03-`로 시작. 복사 시 앞뒤 공백·줄바꿈이 끼면 401.

  5. 5

    조직·프로젝트 매칭

    Anthropic 콘솔에 여러 워크스페이스가 있을 경우, 키 발급한 워크스페이스의 결제 상태도 확인.

자주 묻는 질문

키를 코드에 직접 적어도 되나요?+
절대 금지. .env 또는 시크릿 매니저로 관리. Git에 커밋되지 않게 .gitignore 설정 필수.
401과 403 차이는?+
401은 인증 실패(키 자체 문제), 403은 권한 부족(이 키로는 이 모델·기능 접근 불가).