MemoryLake
모든 글로 돌아가기
News2026년 11월 5일·12 분 소요

Claude Code Login Expired — 중단되는 기능, 로컬에 유지되는 데이터, 그리고 로그인 만료일 확인 방법 (2026)

터미널로 돌아와 프롬프트를 입력했는데 Claude Code가 Login expired · Please run /login이라는 한 줄의 답변만 내놓을 때가 있습니다. 또는 세션을 시작할 때 로그인이 며칠 내로 만료된다는 경고를 보게 될 수도 있습니다. 어느 쪽이든 가장 먼저 걱정되는 것은 그동안 진행한 작업입니다. 열려 있던 세션이 로그인과 함께 사라졌을까요? Claude가 프로젝트에 대해 작성한 노트는 여전히 남아 있을까요?

Anthropic 문서에 따르면, 만료된 항목은 '자격 증명(credential)'입니다. 오류 페이지에서는 갱신에 실패하면 "Claude Code가 저장된 자격 증명을 삭제했습니다"라고 설명합니다. 세션 파일과 auto memory는 설정 디렉토리에 별도의 파일로 저장되며, 문서는 해결 방법으로 다시 로그인할 것을 안내합니다.

이 가이드에서는 메시지의 의미, 중단되는 작업, 로그아웃된 동안 세션과 memory가 저장되는 위치, 그리고 저장된 로그인 종료 날짜를 표시하기 시작한 2026년 11월 4일 Claude Code v2.1.318의 변경 사항을 다룹니다. Claude Code에서 두 개 이상의 Claude 계정을 사용하는 경우, 다른 계정으로 로그인하면 자격 증명 이상의 것이 변경되므로 다중 계정 및 CLAUDE_CONFIG_DIR 가이드를 먼저 읽어보세요.

11월 4일 변경 사항

v2.1.318 릴리스 노트에는 곧 종료되거나 이미 종료된 로그인에 대해 Claude Code가 보고하는 방식의 세 가지 변경 사항이 나열되어 있습니다.

  • 읽을 수 있는 종료 날짜. 릴리스에서 "저장된 claude.ai 로그인이 종료되는 날짜를 claude auth status(loginExpiresAt) 및 claude -p JSON 결과(credential_expires_at)에 추가"했습니다.
  • 스크립트를 위한 조기 경고. 또한 "저장된 claude.ai 로그인이 종료되기 10일 전부터 claude -p 텍스트 출력에 한 줄의 stderr 경고를 추가"했습니다.
  • 더 명확한 실패 안내. "저장된 claude.ai 로그인이 시간 제한에 도달했을 때의 로그인 실패 문제를 수정했습니다. 이제 해당 상태를 명시하며, claude -p에서 claude auth login 및 claude setup-token을 지칭합니다."

같은 릴리스에서 관련 문제도 해결되었습니다. "동일한 홈의 동일한 계정 및 조직에 다른 터미널이나 호스트가 다시 로그인할 때 작업이 Not logged in으로 종료되는 문제를 수정했습니다." 오류 페이지에서는 이전 버전의 원인을 다음과 같이 설명합니다. "v2.1.318 이전에는 Claude Code가 새 로그인을 저장하기 전에 해당 로그인 과정 중에 저장된 로그인을 제거했습니다."

이 릴리스 이전에는 대화형 세션 시작 시의 경고에만 의존해야 했습니다. 이제 claude -p를 호출하는 스크립트나 예약된 작업도 날짜를 확인할 수 있으며, 작업이 중단되기 전에 경고를 보낼 수 있습니다.

Login expired의 의미

Anthropic의 오류 참조 문서는 이 상태를 정확하게 설명합니다. "Claude Code가 저장된 claude.ai 로그인을 갱신하려고 시도했으나 OAuth 서비스가 저장된 리프레시 토큰을 거부하여 Claude Code가 저장된 자격 증명을 삭제했습니다. 그 후, /login만이 새 자격 증명을 생성할 수 있기 때문에 각 모델 요청은 API에 도달하기 전에 로컬에서 이 메시지와 함께 중단됩니다."

이 설명에서 세 가지 세부 사항이 중요합니다.

claude.ai 로그인에 적용됩니다. 이는 Pro, Max, Ultra, Team 또는 Enterprise 플랜을 위해 /login으로 생성한 로그인입니다. Anthropic은 다음과 같이 덧붙입니다. "API 키, CLAUDE_CODE_OAUTH_TOKEN 또는 타사 제공업체로 인증된 세션은 저장된 로그인을 사용하지 않으며 이 메시지를 절대 보지 않습니다."

Claude Code가 요청 자체를 중단합니다. 모델 요청은 API에 도달하기 전에 중단됩니다. 로그인하지 않고 다시 시도하면 모든 요청에서 동일한 메시지가 반환됩니다.

토큰 취소(revoked)와는 다릅니다. 문서는 이 둘을 구분합니다. "이는 OAuth 토큰 취소 또는 만료와 동일한 상태가 아닙니다. 해당 메시지는 API가 반환한 거부를 보고합니다. Claude Code 자체는 이미 갱신에 실패한 로그인에 대해 Login expired를 생성하므로 요청을 보내지 않습니다."

스크립트 및 SDK에서의 동일한 상태

비대화형 모드 및 Agent SDK에서는 문구가 변경됩니다. Anthropic은 메시지를 Failed to authenticate: OAuth session expired and could not be refreshed로 제공하며, 구조화된 오류 코드는 authentication_failed입니다. 대화형 문구 대신 이 문구로 로그를 검색하세요.

유사해 보이는 메시지들

오류 페이지에서 혼동하기 쉬운 몇 가지 메시지는 다음과 같습니다.

  • Not logged in. "이 세션에 사용할 수 있는 유효한 자격 증명이 없습니다." 해결 방법은 동일하지만, 원인은 만료된 로그인이 아니라 환경 변수 누락일 수 있습니다.
  • Anthropic profile login expired. Anthropic 프로필을 다시 인증하라는 지침으로 끝나는 로그인 만료 메시지는 ant CLI가 사용하는 다른 자격 증명에 속합니다.
  • Account on hold. 계정 자체가 정지되어 갱신이 실패하는 경우, Anthropic은 Claude Code가 별도의 메시지를 표시한다고 설명합니다.

만료 전 경고

Anthropic의 인증 가이드는 조기 신호를 다음과 같이 설명합니다. "/login으로 생성한 로그인이 만료되기 3일 이내일 때, Claude Code는 시작 시 경고를 표시합니다: Your login expires in 3 days · run /login to renew."

이 경고는 아무것도 중단시키지 않습니다. Anthropic의 표현을 빌리면, "경고는 정보 제공용이며 요청을 차단하지 않습니다. 인증은 로그인이 실제로 만료될 때까지 계속 작동합니다." 또한 이 경고는 claude.ai 로그인에 대해서만 나타납니다. 가이드에 따르면 클라우드 제공업체, ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN 또는 apiKeyHelper가 자격 증명을 공급할 때는 표시되지 않습니다.

상태를 직접 확인할 수 있습니다. /status를 실행하세요. 저장된 로그인이 활성 자격 증명이고 더 이상 갱신할 수 없는 경우, 문서에 따르면 Login 행에 해당 로그인에 대해 저장된 조직 및 이메일과 함께 'Expired — log in again'이라고 표시됩니다. 세션 외부에서는 claude auth status에 이제 종료 날짜가 loginExpiresAt으로 포함됩니다.

로그아웃된 동안 중단되는 작업

해당 세션의 모든 모델 요청

각 모델 요청이 로컬에서 중단되기 때문에 다시 로그인할 때까지 Claude는 응답할 수 없습니다. 세션은 열려 있는 상태로 유지되며 이전 대화 내용은 화면에 그대로 남아 있습니다.

사용자 없이 실행되는 세션

이는 Anthropic이 특히 강조하는 사례입니다. "조기 갱신은 무인으로 실행되는 세션에 가장 중요합니다. agent view의 백그라운드 세션이나 로그인을 초과하여 지속되는 Remote Control 세션은 자격 증명이 만료되면 진행이 중단되며 다시 로그인할 때까지 복구할 수 없습니다."

백그라운드 세션을 밤새 실행해 두거나 Remote Control을 통해 휴대폰으로 세션을 제어하는 경우, 로그인이 만료되는 시점에서 작업이 멈추게 됩니다. Claude Code agent view 가이드에서 이러한 백그라운드 세션이 프로젝트 context를 공유하는 방식을 설명합니다.

스크립트 및 예약된 작업

claude.ai 로그인으로 로그인된 claude -p 작업은 위의 비대화형 메시지와 함께 중단됩니다. v2.1.318부터 stderr 경고는 10일 전부터 알림을 제공하며, JSON 결과에는 이를 확인하려는 스크립트를 위해 credential_expires_at이 포함됩니다.

내 컴퓨터에 유지되는 데이터

만료된 자격 증명과 작업 데이터는 서로 다른 위치에 저장됩니다.

로그인 정보. Anthropic의 자격 증명 섹션에 따르면 macOS에서는 "자격 증명이 암호화된 macOS Keychain에 저장"되고, Linux에서는 ~/.claude/.credentials.json에 저장됩니다. 갱신 실패 시 삭제되는 것은 바로 이것입니다.

세션 기록(Transcripts). Anthropic의 세션 문서에 따르면 "Claude Code는 세션을 ~/.claude/projects/<encoded-cwd>/*.jsonl 아래에 저장합니다." 오류 페이지는 자격 증명 삭제를 설명할 뿐, 이 파일들을 삭제한다고 하지 않습니다. 다시 로그인한 후 /resume 및 --continue는 이전과 같이 이 파일들을 읽습니다. Claude Code 세션 히스토리 찾기 가이드에서 폴더 구조를 설명합니다.

Auto memory. memory 문서는 이를 동일한 설정 디렉토리에 배치합니다. "각 프로젝트는 ~/.claude/projects/<project>/memory/에 자체 memory 디렉토리를 갖습니다." Claude Code auto memory 가이드에서 세션 시작 시 해당 위치에서 로드되는 내용을 다룹니다.

지침 및 설정. CLAUDE.md 파일과 settings.json 역시 리포지토리와 설정 디렉토리에 있는 파일입니다.

기록(transcripts)에 대한 한 가지 주의 사항: .claude 디렉토리 가이드에 따르면 "기록과 히스토리는 저장 시 암호화되지 않습니다. OS 파일 권한이 유일한 보호 수단입니다." 이는 로그인 여부와 관계없이 동일합니다.

동일한 계정으로 다시 로그인하기

Anthropic이 제시하는 해결 방법은 간단합니다. "/login을 실행하여 다시 로그인하세요. 로그인하지 않고 다시 시도하면 모든 요청에서 동일한 메시지가 표시됩니다."

세션이 속한 계정으로 로그인하세요. 동일한 설정 디렉토리에서 다른 계정으로 로그인하면 자격 증명은 변경되지만 로컬 폴더는 동일하게 유지되므로, 해당 계정이 기존 세션과 auto memory를 이어받게 됩니다. 클라우드 세션은 claude.ai 계정에 연결되어 있으며, 이는 동일한 계정을 사용해야 하는 또 다른 이유입니다. Claude Code가 기기 간에 망각하는 이유 가이드에서 클라우드 세션이 전달하는 것과 전달하지 않는 것을 다룹니다.

다른 Claude Code 창에서 로그인한 경우, 멈춘 창에서 아무것도 할 필요가 없을 수도 있습니다. 오류 페이지에 따르면 "동일한 설정 디렉토리를 사용하는 다른 Claude Code 창에서 로그인하면, 이 메시지를 표시하는 대화형 세션이 자동으로 해당 로그인을 사용하기 시작합니다."

로그인 후 이전 세션을 재개할 때 첫 번째 요청에서 많은 context를 다시 읽어야 할 수도 있습니다. resume 사용량 경고 가이드에서 Claude Code가 언제 이를 경고하는지, 그리고 대신 무엇을 해야 하는지 설명합니다.

자동화를 위해: 브라우저 로그인에 의존하지 않는 자격 증명

비대화형 실행에 대한 Anthropic의 조언은 동일한 환경에서 대화형으로 한 번 로그인한 다음 명령을 다시 실행하는 것입니다. "대화형으로 로그인할 수 없는 자동화의 경우, ANTHROPIC_API_KEY로 인증하거나 claude setup-token으로 장기 토큰을 생성하세요."

장기 토큰에는 고유한 제한이 있습니다. 인증 가이드는 이를 "1년 유효 OAuth 토큰"으로 설명하며 다음과 같이 덧붙입니다. "모델 요청만 가능하므로 Remote Control 세션을 설정하거나 claude.ai 커넥터를 가져올 수 없습니다." 또한 이 명령은 "토큰을 어디에도 저장하지 않으므로" CI 시스템의 비밀 저장소 등에 직접 저장해야 합니다.

이러한 자격 증명을 추가할 때는 자격 증명 우선순위를 기억하세요. Anthropic의 우선순위 목록에 따르면 ANTHROPIC_API_KEY 및 CLAUDE_CODE_OAUTH_TOKEN이 /login을 통한 구독 로그인보다 우선하므로, 셸 프로필에 남겨진 키가 세션에서 사용하는 자격 증명을 바꿀 수 있습니다. /status는 현재 사용 중인 자격 증명을 보여줍니다.

사람들이 가장 먼저 시도하는 것들

프롬프트 다시 시도. 요청이 API에 도달하기 전에 중단되므로 다시 시도해도 동일한 메시지가 반환됩니다.

세션 재시작. 재시작은 새 자격 증명을 생성하지 않습니다. 오직 /login이나 동일한 설정 디렉토리로 로그인한 다른 Claude Code 창만이 이를 수행합니다.

로그인 정보를 지우기 위해 설정 폴더 삭제. 이는 자격 증명 파일과 함께 세션 기록 및 auto memory를 모두 제거합니다. 문서화된 해결 방법은 /login입니다.

브라우저가 제공하는 아무 계정으로나 로그인. 다른 계정인 경우 이제 해당 계정이 로컬 세션과 memory를 사용하게 됩니다. 로그인 후 /status를 확인하세요.

시작 시 경고가 작업을 차단할 것이라고 가정. 그렇지 않습니다. 이는 알림일 뿐이며 로그인이 실제로 종료될 때까지 작업은 계속됩니다.

해결 방법: 날짜 확인, 조기 갱신, 무인 작업 유지

1단계: 로그인 종료 시점 확인

세션에서 /status를 실행하거나 터미널에서 claude auth status를 실행하세요. v2.1.318 이상 버전에서는 출력에 종료 날짜가 포함됩니다. 보이지 않는다면 Claude Code를 업데이트하세요.

2단계: 무인 작업 실행 전 갱신

자리를 비운 동안 백그라운드 세션, Remote Control 세션 또는 예약된 claude -p 작업이 실행될 예정이라면, 작업이 멈춘 후가 아니라 떠나기 전에 /login을 실행하세요. 사람이 없는 상태에서 실행되는 작업의 경우, 위에서 언급한 제한 사항 내에서 ANTHROPIC_API_KEY 또는 claude setup-token의 토큰을 사용하세요.

3단계: 동일 계정으로 다시 로그인 및 재개

오류가 발생하면 세션이 속한 계정으로 /login을 실행하고, /status로 확인한 뒤 /resume 또는 --continue로 재개하세요. 기록과 auto memory는 남겨둔 그대로 유지되어 있습니다.

MemoryLake에서 설정하기

만료된 로그인은 짧은 중단에 불과하지만, 작업 context의 상당 부분이 하나의 설정 디렉토리 내의 한 기기에, 하나의 로그인 뒤에 머물러 있음을 보여줍니다. 기기나 도구를 바꾸게 되면, 해당 파일의 결정 사항과 규칙들을 복사하지 않는 한 그대로 남겨지게 됩니다.

MemoryLake는 이러한 사실들을 사용자가 관리하는 한 곳에 보관하여 ChatGPT, Claude Code, Codex 등 연결된 어시스턴트들이 사용할 수 있게 해주는 memory 레이어입니다.

사용자는 자신의 언어로 직접 항목을 작성합니다. Claude Code 세션, 설정 디렉토리, 자격 증명, CLAUDE.md 파일, auto memory 또는 공급업체의 저장소에서 아무것도 읽거나 쓰거나 삭제하지 않습니다. /login, claude auth status 및 Claude Code의 자격 증명 처리 방식은 Anthropic이 설명한 대로 계속 작동합니다.

1단계: API 키 생성

로그인하고 대시보드에서 키를 생성합니다. 이 키는 MemoryLake 워크스페이스에 속하며 Claude 로그인과는 별개입니다.

에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔
에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔

2단계: 첫 번째 memory 업로드

어떤 중단 이후에도 유지하고 싶은 프로젝트 결정 사항과 규칙부터 시작하세요: 코드가 수행하는 작업, 배제한 사항, 다음 단계 등. 항목당 하나의 포인트씩 작성합니다.

첫 번째 문서가 업로드된 MemoryLake 워크스페이스, 각 파일이 검색 가능한 memory가 됨에 따라 목록에 표시됨
첫 번째 문서가 업로드된 MemoryLake 워크스페이스, 각 파일이 검색 가능한 memory가 됨에 따라 목록에 표시됨

3단계: AI 및 에이전트 연결

Claude Code 및 사용하는 다른 어시스턴트를 연결합니다. 다시 로그인한 후, 다른 기기에서, 또는 다른 도구에서도 해당 항목들을 사용할 수 있습니다.

memory 레이어에 연결할 수 있는 AI 클라이언트 및 에이전트 프레임워크가 나열된 MemoryLake 통합 화면
memory 레이어에 연결할 수 있는 AI 클라이언트 및 에이전트 프레임워크가 나열된 MemoryLake 통합 화면

실제적인 변화

첫 번째 차이점은 경고 시간입니다. claude auth status의 종료 날짜와 claude -p에 대한 10일 전 stderr 경고를 통해, 작업이 멈춘 것을 발견하는 대신 본인의 일정에 맞춰 갱신할 수 있습니다.

두 번째는 오류에 대한 더 차분한 대응입니다. 이 메시지는 자격 증명에 관한 것입니다. 세션과 auto memory는 디스크의 파일이며, 동일한 계정으로 로그인하면 다시 사용할 수 있습니다.

세 번째는 새 기기나 새 계정과 같이 더 큰 변화가 있을 때 재구축할 것이 줄어든다는 점입니다. 신뢰하는 사실들이 단 하나의 설정 디렉토리에만 머물지 않게 됩니다.

Claude Code 로그인을 위한 모범 사례

종료 날짜 확인. v2.1.318 이상에서 claude auth status를 사용하세요.

작업을 실행해 두기 전에 갱신. 백그라운드 및 Remote Control 세션은 만료 시 중단됩니다.

동일한 계정으로 다시 로그인. 동일한 디렉토리에서 다른 계정을 사용하면 동일한 로컬 세션과 memory를 사용하게 됩니다.

자동화에 적합한 자격 증명 사용. 문서화된 제한 사항을 확인한 후 API 키 또는 claude setup-token 토큰을 사용하세요.

남아 있는 환경 변수 주의. 자격 증명 우선순위에서 /login보다 앞섭니다.

로그인 수정을 위해 설정 폴더를 삭제하지 마세요. 세션 기록과 auto memory가 들어 있습니다.

기록 파일 보호. 저장 시 암호화되지 않습니다.

결론

Login expired는 Claude Code가 claude.ai 로그인을 갱신할 수 없어 저장된 자격 증명을 삭제했음을 의미합니다. 이후 각 모델 요청은 /login을 실행할 때까지 로컬에서 중단됩니다. 세션 기록, auto memory 및 지침 파일은 설정 디렉토리의 별도 파일이며, 문서화된 해결 방법은 다시 로그인하는 것입니다.

v2.1.318에서 추가된 것은 알림 기능입니다. claude auth status의 종료 날짜, claude -p를 위한 JSON 필드, 그리고 10일 전의 stderr 경고입니다. 이를 활용해 무인 세션과 예약된 작업이 멈추기 전에 갱신하고, 세션이 속한 계정으로 다시 로그인하세요.

자주 묻는 질문

Claude Code에서 Login expired · Please run /login은 무엇을 의미하나요?

Claude Code가 저장된 claude.ai 로그인을 갱신하려고 시도했으나 거부되었고, 저장된 자격 증명을 삭제했다는 의미입니다. /login을 실행할 때까지 각 모델 요청이 중단됩니다.

로그인이 만료되면 Claude Code 세션을 잃게 되나요?

문서에서는 자격 증명을 삭제한다고 설명합니다. 세션 기록은 ~/.claude/projects/ 아래에 저장되며, 동일한 계정으로 다시 로그인한 후 재개할 수 있습니다.

Claude Code 로그인 만료 시점을 어떻게 확인하나요?

v2.1.318부터 claude auth status는 종료 날짜를 loginExpiresAt으로 표시하며, claude -p JSON 결과에는 credential_expires_at이 포함됩니다. 대화형 세션은 만료 3일 전부터 시작 시 경고를 표시합니다.

왜 백그라운드 세션이 밤새 중단되었나요?

Anthropic에 따르면 agent view의 백그라운드 세션이나 Remote Control 세션이 로그인을 초과하여 지속되면 자격 증명 만료 시 진행이 중단됩니다. 실행해 두기 전에 /login으로 갱신하세요.

로그인 만료로 인해 CI 작업이 실패하는 것을 어떻게 방지하나요?

ANTHROPIC_API_KEY 또는 claude setup-token의 1년 유효 토큰을 사용하세요. 이 토큰은 모델 요청만 가능하므로 Remote Control 세션을 시작하거나 claude.ai 커넥터를 가져올 수 없습니다.

API 키를 사용해도 Login expired 메시지가 표시되나요?

아니요. Anthropic은 API 키, CLAUDE_CODE_OAUTH_TOKEN 또는 타사 제공업체로 인증된 세션은 저장된 로그인을 사용하지 않으며 해당 메시지를 보지 않는다고 설명합니다.