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

Claude Code의 Prompt Is Too Long 오류 원인과 세션 손실 없이 해결하는 방법 (2026)

메시지를 보냈을 때 Claude Code가 Context limit reached · /compact or /clear to continue라는 메시지와 함께 멈추는 경우가 있습니다. 스크립트에서는 동일한 상황이 Prompt is too long으로 표시됩니다. 어느 쪽이든, 무언가 작아지기 전까지는 세션에서 다음 단계를 진행할 수 없습니다.

Anthropic의 오류 레퍼런스에서는 그 원인을 한 줄로 설명합니다: "대화 내용과 첨부된 파일의 합계가 모델의 context window를 초과했습니다." 메시지는 두 가지 해결책인 /compact와 /clear를 제시하며, 이들은 세션에 매우 다른 영향을 미칩니다. 하나는 대화의 요약본을 유지하고, 다른 하나는 새로 시작합니다.

이 가이드는 각 오류 형태의 의미, auto-compact가 이를 방지하지 못한 이유, 압축(compaction) 시 복구되는 항목, 그리고 작업 내용을 버리지 않고 오류를 수정하는 방법을 다룹니다. 윈도우 크기가 이 모든 과정의 시작점을 결정합니다. 1M 토큰 윈도우를 사용 중이라면, 사용 크레딧 및 1M context 가이드에서 대화가 표준 context로 압축될 때 유지되는 항목을 확인하세요.

Claude Code가 Prompt is too long이라고 말하는 이유

Claude Code가 보내는 모든 요청에는 메시지 이상의 내용이 포함됩니다. Anthropic의 /context 분석에 따르면 "system prompt, tools, memory 파일, 그리고 메시지"가 포함됩니다. 여기에 첨부 파일과 붙여넣은 텍스트를 더하면 합계가 모델이 수용할 수 있는 범위를 초과할 수 있습니다.

메시지의 형태

오류 레퍼런스에는 여러 버전이 나열되어 있으며, 각 버전은 서로 다른 지점을 가리킵니다.

대화형 형태. 세션 중에 Context limit reached · /compact or /clear to continue를 보게 됩니다. Anthropic은 "DISABLE_COMPACT가 설정된 경우 메시지에는 /clear만 표시된다"고 명시합니다. -p 출력 및 트랜스크립트에서는 텍스트가 Prompt is too long으로 유지됩니다.

Auto-compact가 꺼진 경우. 사용자 설정에서 auto-compact를 끈 경우, 메시지에 해당 사실이 표시되며 auto-compact is off · /config to turn it on으로 끝납니다.

압축 실패 후. "해당 턴에서 자동 압축이 실행되었으나 모델 사용 불가 또는 인증 실패와 같은 근본적인 오류로 실패한 경우, 구분자 뒤에 해당 오류명이 표시됩니다." 이때 텍스트는 Prompt is too long · automatic compaction failed: 뒤에 원인이 붙습니다. Anthropic의 조언은 다음과 같습니다: "이름 지정된 오류를 먼저 해결하세요. 해결 전까지는 /compact도 동일한 오류로 실패합니다."

단일 교환. 대화가 단 하나의 프롬프트와 답변으로만 이루어진 경우, 요약할 이전 내용이 없습니다. Anthropic은 "단일 교환 대화에는 요약할 이전 턴이 없다"고 하며, 대신 요청을 채우고 있는 항목(대화 자체의 내용, system prompt, 도구 정의, 첨부 파일 등)을 설명합니다.

Bedrock 및 게이트웨이에서

동일한 조건이 다른 문구로 나타날 수 있습니다. Anthropic은 "Amazon Bedrock은 이 상태를 Input is too long for requested model.로 보고하며, Claude Code는 이를 동일하게 처리한다"고 언급합니다. Claude 앱 게이트웨이는 capability_rejected: prompt_too_long으로 보고할 수 있으며, Claude Code는 이 토큰을 동일한 오류로 간주합니다.

이전 버전에서는 이러한 형태를 인식하지 못했습니다. 문서에 따르면 v2.1.217 이전에는 "Claude Code가 Bedrock 문구를 인식하지 못해 auto-compact가 트리거되지 않았고, /compact가 동일한 오류로 실패했다"고 합니다. Bedrock이나 게이트웨이 뒤에서 이 오류가 발생한다면 Claude Code를 업데이트하는 것이 첫 번째 확인 사항입니다.

Auto-compact가 이를 막지 못한 이유

Anthropic은 "Auto-compact는 기본적으로 켜져 있으며 보통 이 오류를 방지한다"고 말합니다. 그럼에도 오류가 발생한다면 문서는 몇 가지 원인을 지적합니다:

  • Auto-compact가 꺼져 있음. "/config나 DISABLE_AUTO_COMPACT로 껐다면 다시 켜세요. 계속 꺼둘 생각이라면 윈도우가 차기 전에 직접 /compact를 실행하세요."
  • 압축 자체가 실패함. 메시지에 그 이유가 명시됩니다.
  • 프롬프트 하나가 너무 큼. 짧은 대화에서 거대한 텍스트를 붙여넣거나 파일을 첨부하면 압축할 대상이 남지 않습니다.
  • 윈도우 크기가 잘못됨. "더 큰 용량을 수용하는 모델에서 200K 토큰 근처에서 오류가 발생한다면, Claude Code가 인식하지 못하는 모델 ID가 원인일 수 있습니다." 이 경우 Claude Code는 200K 윈도우로 가정하며, 문서는 실제 윈도우 크기를 지정하는 방법으로 링크를 제공합니다.
  • 압축 도중에 중단함. "Claude가 대화를 압축하는 동안 중단시킨 직후에 오류가 나타났다면, 대화는 변경되지 않은 채 여전히 압축이 필요한 상태입니다. /compact를 실행하고 메시지를 다시 보내세요."

/compact 또는 /clear: 세션에 미치는 영향

/compact는 요약을 유지합니다

/compact는 대화가 context window에 맞도록 이전 턴들을 요약합니다. Anthropic의 context window 가이드에 따르면: "긴 세션이 압축될 때, Claude Code는 context window에 맞추기 위해 대화 기록을 요약합니다."

이 오류 발생 시 자동 압축이 실행되면, 문서에서는 "보통 가장 오래된 교환을 요약하고 최신 항목을 유지한다"고 설명합니다. 최후의 수단 모드도 있습니다: "어떤 전체 교환도 요약할 수 없을 때, Claude Code는 최신 프롬프트를 그대로 유지하고 그 이전의 모든 내용을 요약합니다."

/clear는 새로 시작합니다

/clear는 신선한 대화를 제공합니다. Anthropic의 대화형 모드 가이드에 따르면 이는 "새 세션을 시작"하며 "이전 세션의 대화는 보존되어 다시 시작할 수 있다"고 합니다. 새 세션은 context에 해당 기록 없이 시작됩니다. Anthropic은 압축이 불가능할 때 이를 권장합니다: "새로 시작하려면 /clear를 실행하세요." /clear 명령 가이드에서 무엇이 살아남는지 확인하세요.

만약 /compact가 Not enough messages to compact.라고 응답한다면, 문서는 해당 대화가 단일 교환임을 의미한다고 설명합니다. 이 경우 /clear를 실행하고 붙여넣는 텍스트를 줄이거나 더 작은 파일을 첨부하여 다시 보내세요.

압축 시 유지되는 항목

이 부분은 작업 내용을 잃을지 여부를 결정합니다. Anthropic의 context window 가이드에는 압축 후 각 콘텐츠 유형에 어떤 일이 일어나는지 표로 정리되어 있습니다. 가장 중요한 몇 가지 항목은 다음과 같습니다:

  • 프로젝트 루트 CLAUDE.md 및 범위 미지정 규칙: "디스크에서 다시 주입됨(Re-injected)".
  • Auto memory: "디스크에서 다시 주입됨".
  • Claude가 plan 모드에서 작성한 계획: "디스크에서 다시 주입됨". Claude Code plan 파일 가이드에서 저장 위치를 설명합니다.
  • Claude가 읽거나 편집한 파일: "Claude Code가 최근 수정된 순서대로 최대 5개까지 다시 읽음".
  • paths: frontmatter가 있는 규칙 및 중첩된 CLAUDE.md 파일: 필요 시 다시 로드됨.
  • 이전에 hook이 추가한 context: "나머지 대화와 함께 요약됨".

이 표의 기저에 깔린 패턴은 유용합니다. 파일로 저장된 지침과 memory는 디스크에서 다시 가져오고, 최근 편집된 파일은 다시 읽습니다. 채팅에서 설명한 결정 사항과 같이 대화 속에만 존재했던 내용은 요약에 포함된 범위 내에서만 생존합니다. Anthropic은 범위 지정 규칙에 대해 경고를 덧붙입니다: "규칙이 압축 후에도 유지되어야 한다면, paths: frontmatter를 제거하거나 프로젝트 루트의 CLAUDE.md로 옮기세요."

하위 디렉토리 CLAUDE.md 제한 가이드에서 필요 시 로드되는 파일들을 다룹니다.

오류 재발 방지를 위한 공간 확보

오류 레퍼런스에는 줄여야 할 항목들이 나열되어 있습니다:

  • 윈도우를 채우는 항목 확인. "/context를 실행하여 system prompt, tools, memory 파일, 메시지 중 무엇이 윈도우를 소모하고 있는지 분석을 확인하세요."
  • 사용하지 않는 MCP 서버 끄기. 서버를 비활성화하면 "해당 도구 정의가 context에서 제거"됩니다.
  • Memory 파일 정리. "거대한 CLAUDE.md memory 파일을 정리하거나, 관련이 있을 때만 로드되도록 지침을 경로 범위 규칙(path-scoped rules)으로 옮기세요."
  • Auto-compact 켜두기. 또는 윈도우가 가득 차기 전에 직접 /compact를 실행하세요.

두 가지 습관도 도움이 됩니다. 대량의 붙여넣기와 파일은 윈도우를 가장 빨리 채우는 방법이므로, 가능하면 텍스트를 붙여넣는 대신 Claude가 파일을 가리키도록 하세요. 또한 작업을 위임하면 메인 대화를 작게 유지할 수 있습니다. Claude Code subagents 가이드에서 subagent가 무엇으로 시작하고 무엇을 다시 보내는지 설명합니다. 세션이 대규모 코드베이스의 동일한 부분을 계속 다시 읽는다면, Claude Code의 코드베이스 재독 방지 가이드에서 해당 context를 한 번만 제공하는 방법을 확인하세요.

사람들이 흔히 시도하는 것들

메시지 다시 보내기. 요청이 여전히 너무 큽니다. 먼저 압축하거나, 비우거나, 크기를 줄여야 합니다.

즉시 /clear 실행하기. 작동은 하지만, 새 대화에는 이전 기록이 포함되지 않습니다. 대화가 두 번 이상의 교환으로 이루어졌다면 먼저 /compact를 시도하세요.

압축 실패 후 /compact 실행하기. 메시지에 근본적인 오류가 명시되어 있다면, Anthropic은 해당 오류를 해결하기 전까지 /compact가 계속 실패할 것이라고 말합니다.

요약을 피하기 위해 auto-compact 끄기. 그러면 수동으로 압축하지 않는 한 윈도우가 찰 때마다 오류가 다시 발생합니다.

규칙을 요약에만 의존하기. 대화에만 존재하는 규칙은 다른 모든 것과 함께 요약됩니다. 중요한 규칙은 파일에 넣으세요.

해결책: 메시지 읽기, 가능하면 압축하기, 규칙은 디스크에 보관하기

1단계: 어떤 형태의 오류인지 확인

근본적인 오류가 명시되어 있다면 그것부터 해결하세요. 대화가 단일 교환이라고 표시되면 /compact가 작업할 내용이 없는 것입니다. auto-compact가 꺼져 있다고 하면 /config에서 다시 켜거나 수동 압축을 계획하세요. /context를 실행해 공간을 차지하는 항목을 확인하세요.

2단계: 압축하거나, 비우고 작게 다시 보내기

이전 턴이 있는 대화의 경우, /compact를 실행하고 메시지를 다시 보내세요. 단일 교환의 경우, /clear를 실행하고 붙여넣는 텍스트를 줄이거나, 첨부 파일을 작게 하거나, 활성화된 MCP 서버 수를 줄여서 다시 보내세요. 이전 시점으로 돌아가야 한다면, /rewind 가이드에서 세션을 되감는 방법을 확인하세요.

3단계: 유지되어야 하는 항목을 파일로 이동

다음 긴 작업을 시작하기 전에, 세션이 의존하는 규칙과 결정 사항을 프로젝트 루트의 CLAUDE.md나 auto memory에 넣으세요. 압축 시 디스크에서 다시 주입됩니다. 특정 파일 근처에서만 중요한 지침은 경로 범위 규칙을 유지하세요.

MemoryLake에서 설정하기

압축은 디스크에 있는 내용을 다시 가져오고 나머지는 요약합니다. 대화 중에 설명한 결정 사항과 그 배경 이유는 세션이 한계에 도달했을 때 가장 취약한 부분입니다.

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

사용자는 자신의 언어로 직접 항목을 작성합니다. Claude Code 세션, 트랜스크립트, CLAUDE.md 파일, auto memory 또는 벤더의 저장소에서 어떤 내용도 읽거나, 쓰거나, 삭제하지 않습니다. /compact, /clear, auto-compact는 Anthropic이 설명한 방식 그대로 계속 작동합니다.

1단계: API 키 생성

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

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

2단계: 첫 번째 memory 업로드

해결책 3단계의 결정 사항 중 CLAUDE.md에 넣기에는 너무 길거나 개인적인 내용부터 시작하세요: 특정 접근 방식을 선택한 이유, 제외된 사항, 다음 단계 등. 항목당 하나의 포인트를 날짜와 함께 작성합니다.

첫 번째 문서가 업로드되어 각 파일이 검색 가능한 memory가 된 MemoryLake 워크스페이스
첫 번째 문서가 업로드되어 각 파일이 검색 가능한 memory가 된 MemoryLake 워크스페이스

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

Claude Code 및 사용하는 다른 어시스턴트를 연결합니다. 동일한 항목을 /compact 후에도, /clear 후에도, 또는 다른 도구에서도 사용할 수 있습니다.

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

실제적인 변화

첫 번째 차이점은 한계 상황에서 더 차분한 선택이 가능하다는 것입니다. 결정 사항이 기록되어 있으면 /clear로 인한 손실이 적고, /compact가 짊어져야 할 짐도 줄어듭니다.

두 번째는 더 작은 윈도우입니다. 필요할 때 찾아보는 사실들을 모든 요청에 포함할 필요가 없습니다.

세 번째는 도구 간의 연속성입니다. Claude Code에서 내린 동일한 결정을 Codex나 ChatGPT에서도 활용할 수 있습니다.

Claude Code context 한계에 대한 모범 사례

Auto-compact를 켜두세요. Anthropic은 이것이 보통 오류를 방지한다고 말합니다.

전체 메시지를 읽으세요. 압축이 실패했는지, 꺼져 있었는지, 아니면 압축할 내용이 없었는지 알려줍니다.

삭제하기 전에 /context를 사용하세요. 무엇이 윈도우를 채우고 있는지 먼저 확인하세요.

사용하지 않는 MCP 서버를 비활성화하세요. 도구 정의가 공간을 차지합니다.

규칙을 파일에 보관하세요. 프로젝트 루트 CLAUDE.md와 auto memory는 압축 후에도 돌아옵니다.

붙여넣기는 적게, 참조는 많이 하세요. 대량 붙여넣기는 윈도우를 가장 빨리 채웁니다.

Claude Code를 업데이트하세요. 이 오류의 여러 형태가 최근 버전에서 수정되었습니다.

결론

Claude Code에서 Prompt is too long 또는 Context limit reached가 표시되는 것은 대화와 첨부 파일의 합계가 모델의 context window를 초과했기 때문입니다. 보통 auto-compact가 이를 방지하지만, 그렇지 못할 경우 메시지는 그 이유(다른 오류로 인한 압축 실패, auto-compact 꺼짐, 또는 요약할 내용이 없는 단일 교환)를 알려줍니다.

/compact는 요약을 유지하고 프로젝트 루트 CLAUDE.md, auto memory, plan을 디스크에서 다시 주입합니다. /clear는 새로 시작합니다. 명시된 원인을 해결하고, 가능하면 압축하며, 잃어버려서는 안 될 규칙과 결정 사항은 대화가 아닌 파일에 보관하세요.

자주 묻는 질문

Claude Code에서 Prompt is too long은 무엇을 의미하나요?

대화 내용과 첨부 파일의 합계가 모델의 context window를 초과했음을 의미합니다. 대화형 세션에서 Claude Code는 이를 Context limit reached로 표시하며 계속하려면 /compact 또는 /clear를 실행하라고 안내합니다.

Claude Code에서 Prompt is too long 오류를 어떻게 해결하나요?

이전 턴을 요약하려면 /compact를 실행하고, 새로 시작하려면 /clear를 실행하세요. 메시지에 근본적인 오류가 명시되어 있다면 그것부터 해결하세요. /context를 실행해 무엇이 공간을 사용 중인지 확인하세요.

왜 auto-compact가 오류를 막지 못했나요?

Auto-compact가 꺼져 있거나, 다른 오류로 인해 압축이 실패했거나, 대화가 요약할 이전 내용이 없는 단일 교환일 수 있습니다.

Not enough messages to compact는 무슨 뜻인가요?

대화가 단일 교환임을 의미합니다. /clear를 실행하고 붙여넣는 텍스트를 줄이거나, 첨부 파일을 작게 하거나, 도구 사용을 줄여서 다시 보내세요.

/compact를 하면 CLAUDE.md나 auto memory를 잃게 되나요?

아니요. Anthropic의 표에 따르면 프로젝트 루트 CLAUDE.md와 auto memory는 압축 후 디스크에서 다시 주입됩니다.

더 큰 모델인데 왜 200K 토큰 근처에서 오류가 발생하나요?

Anthropic에 따르면 Claude Code가 모델 ID를 인식하지 못해 200K 윈도우로 가정하는 것이 한 가지 원인일 수 있습니다. Claude Code에 모델의 실제 context window를 지정해 주세요.