CATEGORY

카테고리 (653)
AI (51)
Language & Specs (260)
FrameWork (36)
Library (20)
App (41)
Git (10)
Build & Dependency (2)
AWS (15)
DataBase (45)
OS (33)
Tool (17)
IT (120)
반응형
SEEMINGLY ONLINE

Seemingly
Online

이모저모 방방곡곡 두루두루 개발지식 저장소

RECENT POSTS

AI/Claude

클로드 코드 메모리 — 자동 저장 위치와 끄는 법

반응형

클로드 코드가 스스로 적어 두는 메모(자동 메모리)는 ~/.claude/projects/<프로젝트>/memory/ 폴더에 마크다운 파일로 저장됩니다. 프로젝트마다 폴더가 하나씩 생기고, 그 안의 MEMORY.md가 매 세션 시작 때 자동으로 읽힙니다. 무엇이 저장됐는지 보려면 /memory, 끄려면 설정의 autoMemoryEnabledfalse로 두거나 환경변수 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1을 주면 됩니다. 아래에서 저장 위치·로드 한도·삭제 방법을 순서대로 정리합니다. (Claude Code 2.1.x 기준 · 2026년 8월 5일 공식 문서 확인)

1. CLAUDE.md와 자동 메모리는 다른 것이다

둘 다 "메모리"라고 불려서 헷갈리는데, 쓰는 주체가 다릅니다. CLAUDE.md는 내가 써서 클로드에게 지시하는 파일이고, 자동 메모리는 클로드가 작업하면서 스스로 적어 두는 메모입니다. 공식 문서는 둘을 이렇게 갈라 놓습니다.

  CLAUDE.md 자동 메모리
누가 쓰나 내가 쓴다 클로드가 쓴다
내용 지시와 규칙 알아낸 것과 패턴
범위 프로젝트 · 사용자 · 조직 저장소 단위(워크트리끼리 공유)
로드 매 세션, 길이 제한 없이 전체 매 세션, 앞 200줄 또는 25KB까지
쓰임 코딩 규칙·작업 절차·아키텍처 빌드 명령·디버깅 요령·발견한 선호

동작을 강제하고 싶으면 CLAUDE.md, 매번 설명하기 귀찮은 걸 알아서 기억하게 하려면 자동 메모리입니다. CLAUDE.md를 어디에 두고 무엇을 적을지는 claude.md 작성법 글에 위치와 로드 순서까지 정리해 두었습니다.

💡 둘 다 컨텍스트로 전달될 뿐 강제 설정이 아닙니다. 공식 문서도 "무엇을 하든 반드시 막아야 하는 동작"이라면 메모리가 아니라 PreToolUse 훅을 쓰라고 안내합니다.

2. 어디에 저장되나

프로젝트마다 폴더가 하나씩 생깁니다.

~/.claude/projects/<프로젝트>/memory/
├── MEMORY.md          # 목차 역할. 매 세션 자동 로드
├── debugging.md       # 주제별 상세 노트
├── api-conventions.md
└── ...

내 컴퓨터에 어떤 프로젝트 메모리가 쌓여 있는지는 한 줄로 볼 수 있습니다.

ls -d ~/.claude/projects/*/memory

여기서 알아 둘 점이 셋입니다.

  • <프로젝트> 이름은 git 저장소를 기준으로 정해집니다. 그래서 같은 저장소의 워크트리와 하위 폴더는 메모리 폴더 하나를 같이 씁니다. git 저장소 밖에서 실행하면 그 폴더 자체가 기준이 됩니다.
  • 머신 로컬입니다. 다른 PC나 클라우드 환경으로 따라가지 않습니다. 팀원과 공유되지도 않습니다.
  • 위치를 바꾸고 싶으면 settings.jsonautoMemoryDirectory를 지정합니다. 값은 절대경로거나 ~/로 시작해야 합니다.
{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}

단, 이 값을 프로젝트 설정(.claude/settings.json)에 넣었다면 그 폴더의 워크스페이스 신뢰 대화상자를 수락한 뒤에야 적용됩니다. 훅과 같은 관문을 통과해야 한다는 뜻입니다.

3. 세션 시작 때 실제로 로드되는 양

메모리 폴더 전체가 매번 읽히는 게 아닙니다. MEMORY.md의 앞 200줄, 또는 25KB 중 먼저 걸리는 쪽까지만 세션 시작 시 로드됩니다. 그 뒤 내용은 안 들어갑니다.

파일 언제 읽히나
MEMORY.md 매 세션 시작 (앞 200줄 / 25KB 한도)
주제별 파일(debugging.md 등) 시작 때 안 읽음. 필요할 때 클로드가 직접 열어 본다

그래서 MEMORY.md목차처럼 짧게 유지되고, 상세한 내용은 주제별 파일로 빠집니다. 한도를 넘기면 쓰기는 성공하지만 다음 로드 때 넘친 부분이 잘리므로, 클로드 코드가 인덱스를 다시 정리하라는 오류를 돌려줍니다.

참고로 YAML 프론트매터와 블록 주석은 한도 계산에서 빠집니다. 로드되는 본문만 재기 때문입니다. 이 계산 방식은 v2.1.211부터이고, 그 전에는 파일 원본을 그대로 재서 프론트매터 때문에 한도에 걸리는 일이 있었습니다.

세션 중에 무엇이 실제로 컨텍스트에 올라왔는지는 /context로 확인합니다. 컨텍스트가 어떻게 차고 어떻게 비우는지는 클로드 코드 컨텍스트 관리 글에서 /compact/clear를 갈라 정리했습니다.

4. 무엇이 저장됐는지 보고 지우는 법

저장된 것은 전부 평범한 마크다운 파일이라 언제든 열어 고치거나 지울 수 있습니다. 세션 안에서 보려면 /memory를 실행하고 자동 메모리 폴더를 고릅니다.

/memory가 하는 일은 셋입니다.

  • CLAUDE.md·CLAUDE.local.md를 비롯한 메모리 파일 위치를 사용자·프로젝트 범위로 나열한다 (아직 없는 파일도 목록에 뜨고, 고르면 만들어 준다)
  • 자동 메모리를 켜고 끄는 토글을 제공한다
  • 자동 메모리 폴더를 열어 준다

통째로 지우고 싶으면 폴더째 삭제하면 됩니다. 특정 프로젝트만 초기화하려면 해당 폴더만 지웁니다.

# 먼저 무엇이 들었는지 눈으로 본다
ls -la ~/.claude/projects/<프로젝트>/memory/

# 확인한 뒤 그 프로젝트의 메모리만 지운다
rm -rf ~/.claude/projects/<프로젝트>/memory/
⚠️ rm -rf는 되돌릴 수 없습니다. 지우기 전에 ls로 대상 경로가 맞는지 반드시 확인하세요. ~/.claude/projects/ 아래에는 메모리 말고 세션 기록도 있으므로, 경로 끝의 /memory/까지 붙었는지 보고 실행합니다.

"항상 pnpm을 쓴다" 같은 걸 기억시키고 싶으면 그냥 대화에서 말하면 자동 메모리에 들어갑니다. 반대로 CLAUDE.md에 넣고 싶다면 "이건 CLAUDE.md에 추가해 줘"라고 짚어 말해야 합니다.

5. 자동 메모리 끄는 법 세 가지

기본값은 켜짐입니다. 끄는 방법이 범위별로 셋 있습니다.

방법 적용 범위 비고
/memory의 토글 사용자 전체 ~/.claude/settings.jsonautoMemoryEnabled로 저장된다
"autoMemoryEnabled": false 그 설정 파일의 범위 프로젝트 설정에 넣으면 그 프로젝트만 끈다
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 그 셸·프로세스 0으로 주면 반대로 강제로 켠다
# 이 프로젝트에서만 끄기 — .claude/settings.json
{
  "autoMemoryEnabled": false
}

# 이번 실행에서만 끄기
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude

환경변수의 0 쪽이 유용합니다. --bare 모드거나 설정에서 autoMemoryEnabled: false로 꺼 둔 상황에서도 이번만 켜서 쓸 수 있습니다. 껐을 때는 클로드가 메모리 파일을 만들지도, 읽지도 않습니다.

자주 묻는 질문 (FAQ)

Q. 다른 컴퓨터에서도 같은 메모리를 쓸 수 있나요?
아닙니다. 자동 메모리는 머신 로컬이라 PC가 바뀌면 따라가지 않습니다. 팀이나 여러 기기에서 공유해야 하는 내용이라면 저장소에 커밋되는 CLAUDE.md에 적는 쪽이 맞습니다.

Q. 워크트리를 여러 개 쓰면 메모리도 나뉘나요?
아닙니다. 경로가 git 저장소 기준으로 정해지므로 같은 저장소의 모든 워크트리와 하위 폴더가 메모리 폴더 하나를 공유합니다.

Q. 서브에이전트도 이 메모리를 보나요?
기본적으로 메인 대화의 자동 메모리는 서브에이전트에 로드되지 않습니다. 서브에이전트는 memory 필드로 자기 몫의 별도 폴더를 가질 수 있습니다. 서브에이전트를 만드는 법은 클로드 서브에이전트 사용법 글을 보세요.

Q. 클로드가 매 세션 뭔가를 저장하나요?
아닙니다. 공식 문서는 "미래 대화에 유용할지"를 기준으로 저장할지 말지 판단한다고만 설명합니다. 화면에 "Saved 2 memories" 같은 문구가 보이면 그때 메모리 폴더에 쓰고 있는 것입니다.

마무리

정리하면 이렇습니다. 자동 메모리는 ~/.claude/projects/<프로젝트>/memory/에 마크다운으로 쌓이고, 그중 MEMORY.md의 앞 200줄(또는 25KB)만 매 세션 로드됩니다. 저장소 단위라 워크트리끼리 공유되고, 머신 로컬이라 다른 PC로는 안 갑니다. 내용이 궁금하면 /memory, 끄려면 autoMemoryEnabledCLAUDE_CODE_DISABLE_AUTO_MEMORY입니다.

동작과 한도는 버전마다 조정되고 있으니, 지금 쓰는 버전은 claude --version으로 확인하고 세부 수치는 공식 문서에서 다시 보는 걸 권합니다.


📚 참고 출처 (2026년 8월 5일 확인)
· Claude Code Docs — How Claude remembers your project
· Claude Code Docs — Settings
· Claude Code Docs — Environment variables
· Claude Code Docs — Slash commands

반응형

COMMENTS