MemoryLake
すべての記事に戻る
Tutorial2026年11月12日·11 分で読了

Claude Codeのタスクリストが空なのはなぜ?デフォルトでチェックリストが表示されるモデル、タスクの永続化、セッション間でのリスト共有方法 (2026年版)

以前はClaude Codeでチェックリストが表示されていました。Claudeが大規模な変更を計画する際、保留中、進行中、完了のマーカーが付いた数行のリストが埋まっていくのが見えたはずです。しかし現在、Ctrl+Tを押しても何も起こらない、あるいはリストが全く表示されないことがあります。これは故障ではありません。新しいモデルでは、そのチェックリストを書き込むツールがデフォルトで含まれていないのです。

Anthropicのドキュメントによると、タスクリストは「タスク追跡ツールを持つセッションでのみ埋まる」とされています。そして、それらのツールがデフォルトでオンになっているモデルとして、「タスク追跡ツール(TaskCreate、TaskGet、TaskUpdate、TaskList、TodoWrite)は、デフォルトでOpus 4.7、Sonnet 4.6、Haiku 4.5、およびそれ以前のモデルでのみ利用可能です」と明記されています。

このガイドでは、タスクリストとは何か、なぜ新しいモデルでは空なのか、再有効化する方法、Ctrl+Tで何が表示されるのか、タスクがコンパクションを越えて再開される仕組み、セッションやチームメイト間でリストを共有する方法、タスクリストの保存場所と削除タイミング、そしてチェックリストには保持されない内容について解説します。

タスクリストとは何か

Anthropicはこれを「ClaudeのToDoチェックリスト:Claudeが多段階の作業を計画するために作成した項目で、保留中、進行中、または完了を示すインジケーターが付いたもの」と説明しています。

別のビューと混同しやすいですが、ドキュメントでは明確に区別されています。タスクリストは「バックグラウンドタスクビューとは別物です。実行中のシェルやサブエージェントを確認するには、代わりに /tasks を使用してください」とあります。/tasks コマンドは、終了したサブエージェントを含む、現在のセッションのバックグラウンド作業をリストアップします。一方、タスクリストはClaudeの「計画」です。

Claudeは一連のツールを使用してリストを書き込みます。デフォルトでは、TaskCreate、TaskGet、TaskList、TaskUpdate の4つのTaskツールが使用されます。古いツールである TodoWrite は、これら4つのTaskツールのために「デフォルトで無効化」されています。CLAUDE_CODE_ENABLE_TASKS=0 で戻すことも可能ですが、それはそもそもタスク追跡ツールを持っているセッションに限られます。

なぜ新しいモデルではリストが空なのか

新しいモデルでは、意図的にツールが除外されています。Anthropicのツールリファレンスには次のように説明されています。「他のすべてのモデルでは、オプトインしない限り、Claude Codeはツールを除外します」。

その理由は次の文にあります。「新しいモデルでは、Claudeは書き込まれたチェックリストがなくても多段階の作業を追跡でき、ツールの定義やリマインダーはコンテキストを消費します。ツールがない場合、Claudeは作業中にタスクリストに何も追加しません」。

つまり、新しいモデルを実行しているとき、Claudeは依然として多段階の作業を計画していますが、それを実行するためのツールを持っていないため、チェックリストに計画を書き込まないだけなのです。そのため、リストは空のままになります。

他にも2つのケースが同じルールに当てはまります:

  • 認識されないモデル。 「LLMゲートウェイ経由で提供されるカスタムモデル名など、Claude Codeが認識しないモデルIDにも同じことが適用されます」。
  • バージョン。 「ここで説明するデフォルト設定は、Claude Code v2.1.268以降に適用されます」。アップデート後にリストが消えた場合は、バージョンを確認してください。

ただし、逆の例外が1つあります。「バックグラウンドセッションおよびクラウドセッションでは、Claude Codeはリストにあるかどうかにかかわらず、すべてのモデルで同じツールを提供します」。

タスクリストを再びオンにする方法

新しいモデルでチェックリストを表示したい場合、Anthropicはいくつかのオプトイン方法を挙げています:

  • 環境変数。 Claude Codeを起動する前に export CLAUDE_CODE_ENABLE_TODO_TOOLS=1 を実行します。「これにより、Claude Codeはすべてのモデルとすべてのプロバイダーで同じツールを提供します」。これには Claude Code v2.1.233以降が必要です。
  • allowed-toolsフラグ。 --allowedTools でツールの1つを指定します(例:TaskCreate)。
  • toolsフラグ。 --tools でツールをリストアップします。Anthropicはこのフラグが「セッションの組み込みツールを指定されたものだけに制限する」と注意を促しているため、使用する他の組み込みツールも含める必要があります。
  • Agent SDK。 allowedTools と tools オプションは、上記の2つのフラグと同じように機能します。

有効にする前に、Anthropicがこれらをオフにした理由を検討してください。ツールの定義とリマインダーはコンテキストを消費しますが、新しいモデルはそれらがなくても多段階の作業を追跡できます。進捗を確認するためにチェックリストがどうしても必要な場合は妥当なトレードオフですが、コンテキストに余裕がない場合は、オフのままにしておく方がセッションに適しているかもしれません。

Ctrl+Tで表示されるもの

ツールを持つセッションでは、タスクリストはトグル(切り替え)表示になります。Anthropicのインタラクティブモードリファレンスでは、その動作について次のように説明されています:

  • 「Ctrl+T を押すと、タスクリストビューの表示/非表示を切り替えます。ディスプレイには一度に最大5つのタスクが表示されます」。
  • 「Claudeがまだチェックリスト項目を作成していない場合、表示するものがないため、トグルを押しても目に見える効果はありません」。
  • すべてのタスクを表示したりリストをクリアしたりするには、Claudeに直接「すべてのタスクを表示して」や「すべてのタスクをクリアして」と依頼してください。

2番目のポイントが、よくある混乱の原因です。ツールを持たない新しいモデルでは、Ctrl+Tで表示するものが何もないため、押しても何も起こりません。

また、このビューは前回の状態を記憶します。「リストを展開したままにすると、Claude Codeは --resume や --continue などでタスクが残っているセッションを再開した際に、展開されたビューを復元します。タスクリストが空の場合、Claude Codeは折りたたまれた状態で開始します」。

Ctrl+Tはタスクリストであり、トランスクリプト(履歴)ではありません。セッションで何が起こったかの全記録については、Claude Codeには別のトランスクリプトビューがあります。詳細はClaude Codeのトランスクリプトビューで表示される内容に関するガイドをご覧ください。

タスクがコンパクションを越えて維持される仕組み

長いセッションでは「コンパクション(圧縮)」が行われます。これは、コンテキストを解放するためにClaude Codeが会話の初期部分を要約する処理です。タスクリストは、この要約に依存しない要素の1つです。Anthropicは「タスクはコンテキストのコンパクションを越えて持続し、Claudeが大規模なプロジェクトで整理された状態を保つのを助けます」と述べています。

リストは会話の外側にも保持されます。Anthropicのディレクトリリファレンスによると、~/.claude/ の下の tasks/ フォルダに「タスクツールによって書き込まれたタスクリストが、リストごとに1つのディレクトリ」として保存されています。

再開時も同様に機能します。--resume や --continue でタスクが残っているセッションを再開すると、Claude Codeはリストビューを離脱時の状態で復元します。

セッション間で1つのリストを共有する方法

デフォルトでは、各セッションのリストは独立しています。複数のセッションで同じリストを使用するには、IDを設定します。Anthropicの例:CLAUDE_CODE_TASK_LIST_ID=my-project claude。

環境変数リファレンスにはその機能が説明されています。「セッション間でタスクリストを共有します。複数の Claude Code インスタンスで同じIDを設定することで、Taskツールを持つセッションにおいて共有タスクリストで連携できます」。

このIDは ~/.claude/tasks/ 内の「名前付きディレクトリ」にマッピングされます。同じIDで開始されたセッションは、同じリストを読み取り、更新します。

モデルのルールに注意してください。ツールを持たない新しいモデルのセッションは、共有リストを読み書きできません。参加する各セッションには、デフォルトまたは上記のオプトイン設定によってツールが必要です。

サブエージェントとエージェントチーム

タスクツールはセッションに従います。「サブエージェントがタスク追跡ツールを持つのは、サブエージェントが実行するモデルに関わらず、メインセッションがそれらを持っている場合のみです」。

エージェントチームはタスクリストを使用して連携します。Anthropicのエージェントチームに関するドキュメントには、「エージェントチームでは、チームメイトがタスクリストを共有し、作業を分担し、互いに直接コミュニケーションをとる」とあります。そのリストの仕組みは以下の通りです:

  • 「タスクには、保留中、進行中、完了の3つの状態があります」。
  • 「タスクは他のタスクに依存する場合があり、それらが完了するまでタスクリストにはブロック中として表示されます」。
  • 「チームメイトはブロックされたタスクを自ら引き受けることはありませんが、あなたやリードエージェントが割り当てることは可能です」。

ツールがない場合、チームはメッセージにフォールバックします。「Taskツールを持たないエージェントは、共有タスクリストの代わりにメッセージを通じて連携します」。

チームのリストには専用のフォルダ ~/.claude/tasks/{team-name}/ があり、ドキュメントには「このディレクトリはセッション終了後もディスクに残る」と記されています。

分割ペインのチームメイトに関するルールはより詳細です。分割ペインのチームメイトは別の Claude Code プロセスであり、シェルで CLAUDE_CODE_ENABLE_TODO_TOOLS をエクスポートしていても、チームメイトには自動的に引き継がれません。推奨される修正方法は、セッション開始時に --settings を通じて設定を渡すことです。

タスクリストの保存場所と削除タイミング

タスクリストはローカルマシン上のファイルであり、Claude Codeのクリーンアップルールに従います。

自動クリーンアップ。 tasks/ フォルダは、cleanupPeriodDays よりも古くなった場合に Claude Code が削除するパスのリストに含まれています。「デフォルトは30日で、最小値は1日です」。

手動削除。 ~/.claude 以下のパスを削除した際に失われるものの表において、~/.claude/tasks/ の項目には「使用中のものを含むタスクリスト」と記載されています。

プロジェクトのパージ。 claude purge は、1つのプロジェクトに対して Claude Code が保持している状態を削除します。これには「セッションごとの tasks/、debug/、file-history/ のエントリ」が含まれます。実行前に計画が表示され、確認を求められます。

また、todos/ フォルダが見つかる場合もあります。Anthropicはこれを「古いバージョンのレガシーディレクトリ。現在は書き込まれません」としてリストしています。

チェックリストに保持されない内容

タスクリストはステップとそのステータスを追跡します。それが役割です。Anthropicのドキュメントでは、Claudeが多段階の作業を計画するために作成した項目として説明されていますが、なぜあるステップが別のステップより先なのか、あるいはどの手法を既に除外したのかといった、計画の背後にある「推論」を記録する場所としては説明されていません。

プロジェクトのそうした部分は、個々のリストよりも長生きする傾向があります。リストはクリアされたり、保存期間を過ぎて消えたり、単に完了したりします。その理由が次のセッションでも重要な場合は、それ専用の場所に書き留める必要があります。

よくある間違い

新しいモデルでCtrl+Tを押す。 タスクツールがなければ、表示するものはありません。

Claude Codeを再インストールする。 v2.1.268以降、新しいモデルでリストが空なのはドキュメント通りのデフォルト動作です。

チェックリストを探して /tasks を開く。 そのコマンドは計画ではなく、バックグラウンド作業を表示します。

ツールを持たないセッションで共有リストIDを設定する。 ツールがない限り、そのセッションはリストを使用できません。

「なぜ」をリストに頼る。 リストはステップとステータスを保持するものであり、その背後にある推論は保持しません。

修正方法:期待通りのチェックリストを取得する

ステップ1:セッションが使用しているモデルを確認する

Opus 4.7、Sonnet 4.6、Haiku 4.5、またはそれ以前のモデルでない場合、タスクツールはデフォルトでオフになっています。

ステップ2:リストが必要な場合はオプトインする

Claude Codeを開始する前に export CLAUDE_CODE_ENABLE_TODO_TOOLS=1 を実行するか、--allowedTools でTaskツールを指定します。

ステップ3:意図的にリストを共有する

1つのリストから作業すべき各セッションで、CLAUDE_CODE_TASK_LIST_ID を同じ値に設定します。

ステップ4:推論を書き留める

順序、制約、却下されたアプローチなど、計画の背後にある決定事項はチェックリストの外に保管してください。

MemoryLakeでのセットアップ

タスクリストは「残りの作業」の優れた記録になります。しかし、なぜバックフィルの前に移行を実行するのかといった決定事項は、チェックリストの有無にかかわらず次のセッションが必要とするコンテキストです。

MemoryLake は、決定事項、制約、規約などのプロジェクトコンテキストのための記憶レイヤーです。これらを一箇所で管理し、ChatGPT、Claude Code、Codexなどの接続されたアシスタントから利用できるようにします。

エントリはあなた自身の言葉で書き込みます。タスクリスト、~/.claude フォルダ、セッションのトランスクリプト、CLAUDE.md ファイル、自動メモリ、あるいはベンダーのストレージから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。タスクツール、コンパクション、クリーンアップは、Anthropicが説明している通りに機能します。

ステップ1:APIキーを作成する

サインインしてダッシュボードからキーを生成します。他の認証情報と同様に、リポジトリの外に保管してください。

エージェントで使用するために新しいキーが作成され、コピーされるAPIキー画面を表示するMemoryLakeコンソール
エージェントで使用するために新しいキーが作成され、コピーされるAPIキー画面を表示するMemoryLakeコンソール

ステップ2:最初の記憶をアップロードする

修正方法のステップ4で書いた内容から始めましょう。作業の順序とその理由、制約、そして除外したアプローチなどです。1つのエントリにつき1つの決定事項を記述します。

最初のドキュメントがアップロードされ、各ファイルが検索可能な記憶としてリストされているMemoryLakeワークスペース
最初のドキュメントがアップロードされ、各ファイルが検索可能な記憶としてリストされているMemoryLakeワークスペース

ステップ3:AIとエージェントを接続する

Claude Codeやその他の使用しているアシスタントを接続します。タスクリストの有無にかかわらず、新しいセッションは同じ決定事項を参照できます。

記憶レイヤーに接続可能なAIクライアントとエージェントフレームワークをリストしたMemoryLakeの統合画面
記憶レイヤーに接続可能なAIクライアントとエージェントフレームワークをリストしたMemoryLakeの統合画面

実践での変化

第一の違いは、チェックリストが完了した後も「計画」が生き残ることです。リストが終了またはクリアされても、その推論は書き残されたままです。

第二に、モデルのデフォルト設定への依存が減ります。セッションにタスクツールがあるかどうかにかかわらず、コンテキストは同一です。

第三に、ツールをまたいだ継続性です。同じリポジトリで作業する Codex や他のアシスタントも、同じエントリを利用できます。

Claude Codeタスクリストのベストプラクティス

デフォルトを知る。 タスクツールがデフォルトでオンなのは、Opus 4.7、Sonnet 4.6、Haiku 4.5、およびそれ以前のみです。

意図的にオプトインする。 ツールはコンテキストを消費します。新しいモデルはそれらがなくても作業を追跡できます。

計画にはCtrl+T、バックグラウンド作業には /tasks を使う。 これらは別々のビューです。

IDでリストを共有する。 参加するすべてのセッションにタスクツールが必要です。

保持期間を忘れない。 タスクリストは cleanupPeriodDays(デフォルト30日)を過ぎると一掃されます。

分割ペインのチームメイトを確認する。 エクスポートされた変数は自動的には引き継がれません。

「なぜ」は別の場所に保管する。 リストはステップを保持するものであり、理由は保持しません。

結論

Claude Codeのタスクリストが空の場合は、セッションのモデルがタスク追跡ツールを持っているか確認してください。v2.1.268以降、これらがデフォルトでオンなのは Opus 4.7、Sonnet 4.6、Haiku 4.5、およびそれ以前のモデルのみです。Anthropicによれば、新しいモデルは書き込まれたチェックリストなしで多段階の作業を追跡でき、ツールはコンテキストを消費します。バックグラウンドおよびクラウドセッションでは、すべてのモデルでこれらが提供されます。

リストを戻したい場合は、CLAUDE_CODE_ENABLE_TODO_TOOLS=1 を設定するか、--allowedTools でTaskツールを指定してください。タスクはコンパクションを越えて維持され、CLAUDE_CODE_TASK_LIST_ID を通じてセッション間で共有でき、cleanupPeriodDays を過ぎると他のデータと共に削除されます。計画の背後にある推論は、次のセッションが読み取れる場所に保管しておきましょう。

よくある質問

なぜClaude Codeのタスクリストが空なのですか?

ドキュメント化されている原因の1つは、セッションのモデルがタスク追跡ツールを持っていないことです。Anthropicは、これらがデフォルトでオンなのはOpus 4.7、Sonnet 4.6、Haiku 4.5、およびそれ以前のモデルのみであると述べています。

タスクリストを再びオンにするにはどうすればよいですか?

Claude Codeを開始する前に export CLAUDE_CODE_ENABLE_TODO_TOOLS=1 を実行するか、--allowedTools でTaskツールを指定してください。

なぜCtrl+Tを押しても何も起こらないのですか?

Claudeがまだチェックリスト項目を作成していない場合、表示するものがないため、トグルを切り替えても目に見える効果はありません。

タスクはコンパクションを越えて維持されますか?

はい。Anthropicは、タスクはコンテキストのコンパクションを越えて持続すると述べています。

セッション間でタスクリストを共有するにはどうすればよいですか?

各セッションで CLAUDE_CODE_TASK_LIST_ID を同じ値に設定してください。各セッションにタスクツールが必要です。

タスクリストと /tasks の違いは何ですか?

タスクリストは、多段階の作業のためのClaudeのチェックリストです。/tasks は、実行中のシェルやサブエージェントなどのバックグラウンド作業を表示します。

Claude Codeはどのくらいの期間タスクリストを保持しますか?

タスクリストは、cleanupPeriodDays(デフォルト30日)より古くなると、他のアプリケーションデータと共に削除されます。