작업 목록이란 무엇인가
Anthropic은 이를 "Claude의 할 일 체크리스트: Claude가 다단계 작업을 계획하기 위해 생성한 항목으로, 대기 중, 진행 중 또는 완료 상태를 보여주는 지표가 포함됨"이라고 설명합니다.
다른 뷰와 혼동하기 쉽지만, 문서는 이를 명확히 구분합니다. 작업 목록은 "백그라운드 작업 뷰와 별개입니다. 실행 중인 셸과 서브에이전트를 보려면 대신 /tasks를 사용하세요." /tasks 명령은 종료된 서브에이전트를 포함하여 현재 세션의 백그라운드 작업을 나열합니다. 반면 작업 목록은 Claude의 계획입니다.
Claude는 일련의 도구를 사용하여 목록을 작성합니다. 기본적으로 TaskCreate, TaskGet, TaskList, TaskUpdate라는 네 가지 작업 도구가 사용됩니다. 이전 도구인 TodoWrite는 네 가지 작업 도구를 위해 "기본적으로 비활성화"되었습니다. CLAUDE_CODE_ENABLE_TASKS=0으로 다시 전환할 수 있지만, 이는 작업 추적 도구가 있는 세션에서만 가능합니다.
최신 모델에서 목록이 비어 있는 이유
최신 모델에서 이 도구들이 제외된 것은 의도적인 것입니다. Anthropic의 도구 레퍼런스에 따르면: "다른 모든 모델에서 Claude Code는 사용자가 명시적으로 선택하지 않는 한 도구를 제외합니다."
그 이유는 다음 문장에 나와 있습니다: "최신 모델에서 Claude는 작성된 체크리스트 없이도 다단계 작업을 추적하며, 도구의 정의와 리마인더는 컨텍스트(context)를 차지합니다. 도구가 없으면 Claude는 작업 중에 작업 목록에 아무것도 추가하지 않습니다."
따라서 최신 모델을 실행할 때 Claude는 여전히 다단계 작업을 계획하지만, 도구가 없기 때문에 그 계획을 체크리스트에 작성하지 않을 뿐입니다. 그래서 목록은 비어 있게 됩니다.
다음 두 가지 경우도 동일한 규칙이 적용됩니다:
- 인식되지 않는 모델. "LLM 게이트웨이를 통해 제공되는 커스텀 모델 이름과 같이 Claude Code가 인식하지 못하는 모델 ID에도 동일하게 적용됩니다."
- 버전. "여기서 설명하는 기본 설정은 Claude Code v2.1.268 이상 버전에 적용됩니다." 업데이트 후 목록이 사라졌다면 버전을 확인해 보세요.
반대의 예외 상황도 하나 있습니다. "백그라운드 세션 및 클라우드 세션에서 Claude Code는 모델 목록 포함 여부와 상관없이 모든 모델에 동일한 도구를 제공합니다."
작업 목록을 다시 활성화하는 방법
최신 모델에서 체크리스트를 사용하고 싶다면, Anthropic은 다음과 같은 활성화 방법을 제시합니다:
- 환경 변수. Claude Code를 시작하기 전에
export CLAUDE_CODE_ENABLE_TODO_TOOLS=1을 설정하세요. "그러면 Claude Code는 모든 모델과 모든 제공자에서 동일한 도구를 제공합니다." 이 기능은 Claude Code v2.1.233 이상이 필요합니다. - allowed-tools 플래그.
--allowedTools에 도구 중 하나(예:TaskCreate)를 지정하세요. - tools 플래그.
--tools에 도구들을 나열하세요. Anthropic은 이 플래그가 "세션의 내장 도구를 지정된 도구로 제한한다"고 명시하므로, 사용하는 다른 내장 도구들도 함께 포함해야 합니다. - Agent SDK.
allowedTools및tools옵션은 위 두 플래그와 동일하게 작동합니다.
도구를 활성화하기 전에 Anthropic이 이를 비활성화한 이유를 고려해 보세요. 도구 정의와 리마인더는 컨텍스트를 차지하며, 최신 모델은 도구 없이도 다단계 작업을 잘 추적합니다. 단순히 진행 상황을 모니터링하기 위해 체크리스트가 필요한 것이라면 활성화하는 것이 합리적이지만, 컨텍스트가 부족한 상황이라면 비활성화 상태로 두는 것이 세션에 더 유리할 수 있습니다.
Ctrl+T가 보여주는 것
도구가 있는 세션에서 작업 목록은 토글 방식으로 작동합니다. Anthropic의 대화형 모드 레퍼런스에 설명된 동작 방식은 다음과 같습니다:
- "
Ctrl+T를 눌러 작업 목록 뷰를 토글합니다. 디스플레이에는 한 번에 최대 5개의 작업이 표시됩니다." - "Claude가 아직 체크리스트 항목을 생성하지 않았을 때는 표시할 내용이 없으므로 토글해도 시각적인 변화가 없습니다."
- 모든 작업을 보거나 목록을 지우려면 Claude에게 직접 요청하세요(예: 모든 작업 표시 또는 모든 작업 삭제).
두 번째 포인트가 흔히 발생하는 혼란의 원인입니다. 도구가 없는 최신 모델에서는 Ctrl+T로 보여줄 내용이 없으므로 눌러도 아무 반응이 없는 것입니다.
또한 이 뷰는 마지막 상태를 기억합니다. "목록을 펼친 상태로 두면, Claude Code는 --resume 또는 --continue와 같이 작업이 남아 있는 세션으로 다시 시작할 때 펼쳐진 뷰를 복원합니다. 작업 목록이 비어 있으면 Claude Code는 접힌 상태로 시작합니다."
Ctrl+T는 작업 목록이지 트랜스크립트(transcript)가 아닙니다. 세션에서 발생한 전체 기록을 보려면 Claude Code의 별도 트랜스크립트 뷰를 사용해야 하며, 이에 대해서는 Claude Code 트랜스크립트 뷰 가이드에서 다루고 있습니다.
압축(Compaction) 후에도 작업이 유지되는 방식
긴 세션은 압축됩니다. 즉, Claude Code가 컨텍스트를 확보하기 위해 대화의 이전 부분을 요약합니다. 작업 목록은 이 요약에 의존하지 않는 요소 중 하나입니다. Anthropic은 "작업은 컨텍스트 압축 후에도 유지되어 Claude가 대규모 프로젝트에서 조직력을 유지할 수 있도록 돕는다"고 설명합니다.
목록은 대화 외부에도 저장됩니다. Anthropic의 디렉토리 레퍼런스에 따르면 ~/.claude/ 하위의 tasks/ 폴더에 "작업 도구로 작성된 작업 목록이 목록당 하나의 디렉토리로 저장"됩니다.
세션 재개 시에도 동일하게 작동합니다. --resume 또는 --continue를 사용하여 작업이 남아 있는 세션을 재개하면 Claude Code는 목록 뷰를 종료 전 상태로 복원합니다.
세션 간에 하나의 목록을 공유하는 방법
기본적으로 각 세션의 목록은 독립적입니다. 둘 이상의 세션에서 동일한 목록을 사용하려면 ID를 설정하세요. Anthropic의 예시: CLAUDE_CODE_TASK_LIST_ID=my-project claude.
환경 변수 레퍼런스 설명: "세션 간에 작업 목록을 공유합니다. 여러 Claude Code 인스턴스에 동일한 ID를 설정하여 작업 도구가 있는 세션에서 공유 작업 목록을 조정할 수 있습니다."
이 ID는 ~/.claude/tasks/ 내의 "이름이 지정된 디렉토리"에 매핑됩니다. 동일한 ID로 시작된 모든 세션은 동일한 목록을 읽고 업데이트합니다.
모델 규칙을 잊지 마세요. 도구가 없는 최신 모델의 세션은 공유 목록을 읽거나 업데이트할 수 없습니다. 참여하려는 각 세션은 기본적으로 또는 위의 활성화 방법을 통해 도구를 갖추고 있어야 합니다.
서브에이전트 및 에이전트 팀
작업 도구는 세션을 따릅니다. "서브에이전트는 서브에이전트가 실행되는 모델과 관계없이 사용자의 세션에 작업 추적 도구가 있을 때만 해당 도구를 가집니다."
에이전트 팀은 작업 목록을 사용하여 협업합니다. Anthropic의 에이전트 팀 문서에 따르면: "에이전트 팀에서 팀원들은 작업 목록을 공유하고, 작업을 할당받으며, 서로 직접 소통합니다." 목록의 작동 방식은 다음과 같습니다:
- "작업은 대기 중, 진행 중, 완료의 세 가지 상태를 가집니다."
- "작업은 다른 작업에 의존할 수 있으며, 의존하는 작업이 완료될 때까지 작업 목록에 차단됨(blocked)으로 표시됩니다."
- "팀원은 차단된 작업을 스스로 할당받지 않지만, 사용자나 리더는 여전히 할당할 수 있습니다."
도구가 없으면 팀은 메시지로 대체합니다: "작업 도구가 없는 에이전트는 공유 작업 목록 대신 메시지를 통해 조정합니다."
팀 목록은 고유한 폴더인 ~/.claude/tasks/{team-name}/을 가지며, 문서는 "이 디렉토리는 세션이 종료된 후에도 디스크에 남아 있다"고 명시합니다.
분할 창(split-pane) 팀원에 대한 규칙은 더 세부적입니다. 분할 창 팀원은 별도의 Claude Code 프로세스이며, 셸에서 CLAUDE_CODE_ENABLE_TODO_TOOLS를 내보냈더라도 팀원에게 자동으로 전달되지 않습니다. 권장되는 해결 방법은 세션을 시작할 때 --settings를 통해 설정을 전달하는 것입니다.
작업 목록 저장 위치 및 삭제 시점
작업 목록은 로컬 머신의 파일이며, Claude Code의 정리 규칙을 따릅니다.
자동 정리. tasks/ 폴더는 cleanupPeriodDays보다 오래된 경우 Claude Code가 삭제하는 경로 목록에 포함됩니다. "기본값은 30일이며 최소값은 1일입니다."
직접 삭제. ~/.claude 하위 경로를 삭제할 때 손실되는 항목에 대한 Anthropic의 표에서 ~/.claude/tasks/ 항목은 다음과 같습니다: "사용 중인 목록을 포함한 모든 작업 목록."
프로젝트 퍼지(Purge). claude purge는 "세션별 tasks/, debug/, file-history/ 항목"을 포함하여 Claude Code가 한 프로젝트에 대해 보유한 상태를 삭제합니다. 실행 전 계획을 출력하고 확인을 요청합니다.
todos/ 폴더가 보일 수도 있습니다. Anthropic은 이를 "이전 버전의 레거시 디렉토리이며 더 이상 작성되지 않음"으로 분류합니다.
체크리스트에 포함되지 않는 것
작업 목록은 단계와 그 상태를 추적합니다. 그것이 본연의 역할입니다. Anthropic의 문서는 Claude가 다단계 작업을 계획하기 위해 생성한 항목으로 설명할 뿐, 왜 특정 단계가 다른 단계보다 먼저 오는지 또는 이미 제외한 접근 방식은 무엇인지와 같은 계획 뒤의 추론을 담는 장소로 설명하지 않습니다.
프로젝트의 이러한 부분은 개별 목록보다 더 오래 지속되는 경향이 있습니다. 목록은 지워질 수 있고, 보존 기간이 지나 만료될 수 있으며, 단순히 완료될 수도 있습니다. 그 이유가 다음 세션에도 중요하다면, 그것들을 위해 마련된 다른 곳에 기록되어야 합니다.
사람들이 흔히 먼저 시도하는 것
최신 모델에서 Ctrl+T 누르기. 작업 도구가 없으면 표시할 내용이 없습니다.
Claude Code 재설치. v2.1.268부터 최신 모델에서 목록이 비어 있는 것은 문서화된 기본 동작입니다.
체크리스트를 찾으려고 /tasks 열기. 해당 명령은 계획이 아닌 백그라운드 작업을 보여줍니다.
도구가 없는 세션에서 공유 목록 ID 설정하기. 세션에 도구가 생기기 전까지는 목록을 사용할 수 없습니다.
이유(Why)를 목록에 의존하기. 목록은 단계와 상태를 담을 뿐, 그 뒤의 추론을 담지 않습니다.
해결 방법: 원하는 체크리스트 얻기
1단계: 세션이 사용하는 모델 확인
Opus 4.7, Sonnet 4.6, Haiku 4.5 또는 이전 모델이 아니라면 작업 도구는 기본적으로 꺼져 있습니다.
2단계: 목록을 원한다면 활성화
Claude Code를 시작하기 전에 export CLAUDE_CODE_ENABLE_TODO_TOOLS=1을 설정하거나, --allowedTools에 작업 도구를 지정하세요.
3단계: 의도적으로 목록 공유
하나의 목록으로 작업해야 하는 각 세션에서 CLAUDE_CODE_TASK_LIST_ID를 동일한 값으로 설정하세요.
4단계: 추론 기록하기
순서, 제약 조건, 거부된 접근 방식 등 계획 뒤의 결정 사항은 체크리스트 외부에 보관하세요.
MemoryLake에서 설정하기
작업 목록은 남은 할 일을 기록하기에 좋습니다. 하지만 마이그레이션을 백필보다 먼저 실행하는 이유와 같은 결정 사항은 체크리스트 유무와 관계없이 다음 세션에 필요한 컨텍스트입니다.
MemoryLake는 결정, 제약 조건, 컨벤션과 같은 프로젝트 컨텍스트를 한곳에 유지하고 ChatGPT, Claude Code, Codex 등 연결된 어시스턴트가 사용할 수 있게 해주는 메모리 레이어입니다.
사용자는 자신의 언어로 직접 항목을 작성합니다. 작업 목록, ~/.claude 폴더, 세션 트랜스크립트, CLAUDE.md 파일, 자동 메모리 또는 어떤 벤더의 저장소에서도 데이터를 읽거나 쓰거나 삭제하지 않습니다. 작업 도구, 압축 및 정리 기능은 Anthropic이 설명한 대로 작동합니다.
1단계: API 키 생성
로그인 후 대시보드에서 키를 생성하세요. 다른 자격 증명과 마찬가지로 리포지토리 외부에 저장하세요.

2단계: 첫 번째 메모리 업로드
해결 방법의 4단계에서 작성한 내용부터 시작하세요: 작업 순서와 이유, 제약 조건, 제외된 접근 방식 등입니다. 항목당 하나의 결정을 담으세요.

3단계: AI 및 에이전트 연결
Claude Code 및 사용하는 다른 어시스턴트를 연결하세요. 작업 목록의 유무와 상관없이 새로운 세션에서 동일한 결정 사항을 활용할 수 있습니다.

실제 변화하는 점
첫 번째 차이점은 체크리스트보다 오래 지속되는 계획입니다. 목록이 완료되거나 지워져도 그 추론은 여전히 기록되어 있습니다.
두 번째는 모델 기본값에 대한 의존도가 낮아진다는 것입니다. 세션에 작업 도구가 있든 없든 컨텍스트는 동일하게 유지됩니다.
세 번째는 도구 간의 연속성입니다. 동일한 리포지토리에서 작업하는 Codex나 다른 어시스턴트도 동일한 항목을 사용할 수 있습니다.
Claude Code 작업 목록 베스트 프랙티스
기본값 숙지. 작업 도구는 Opus 4.7, Sonnet 4.6, Haiku 4.5 및 이전 모델에서만 기본으로 활성화됩니다.
신중한 활성화. 도구는 컨텍스트를 소모하며, 최신 모델은 도구 없이도 작업을 추적할 수 있습니다.
계획은 Ctrl+T, 백그라운드 작업은 /tasks 사용. 이들은 서로 다른 뷰입니다.
ID로 목록 공유. 참여하는 모든 세션에 작업 도구가 필요합니다.
보존 기간 기억. 작업 목록은 기본 30일인 cleanupPeriodDays 이후에 삭제됩니다.
분할 창 팀원 확인. 내보낸 변수는 팀원에게 자동으로 전달되지 않습니다.
이유(Why)는 다른 곳에 보관. 목록은 단계만 담고 이유는 담지 않습니다.
결론
Claude Code 작업 목록이 비어 있다면 세션의 모델에 작업 추적 도구가 있는지 확인하세요. v2.1.268부터 이 도구들은 Opus 4.7, Sonnet 4.6, Haiku 4.5 및 이전 모델에서만 기본으로 활성화됩니다. Anthropic은 최신 모델이 작성된 체크리스트 없이도 다단계 작업을 추적하며, 도구는 컨텍스트를 차지한다고 설명합니다. 백그라운드 및 클라우드 세션은 모든 모델에서 도구를 제공받습니다.
목록을 다시 사용하려면 CLAUDE_CODE_ENABLE_TODO_TOOLS=1을 설정하거나 --allowedTools에 작업 도구를 지정하세요. 작업은 압축 후에도 유지되고, CLAUDE_CODE_TASK_LIST_ID를 통해 세션 간에 공유할 수 있으며, cleanupPeriodDays 이후 다른 데이터와 함께 삭제됩니다. 계획 뒤의 추론은 다음 세션이 읽을 수 있는 곳에 보관하세요.