Claude Media
Claude Codeタスクリスト表示の見方とCtrl+T操作

Claude Codeタスクリスト表示の見方とCtrl+T操作

Ctrl+Tで開くタスクリストが何を映し、いつ空のままなのかを解説します。/tasksとの役割の違い、圧縮後の保持、セッション間共有の設定まで扱います。

タスクリスト表示は何を映しているか

Ctrl+Tで開くタスクリストは、Claudeが複数ステップの作業を計画するときに自分で作るチェックリストです。保留中・作業中・完了の状態がアイコンで区別され、一度に最大5件まで表示されます。バックグラウンドで動くシェルコマンドやサブエージェントの進捗を見る画面とは別物で、そちらは/tasksが担当します。

チェックリストの項目は、Claudeが「これは複数ステップの作業だ」と判断したときだけ作られます。単発の質問や1ファイルだけの小さな修正では、タスクリストに何も追加されないまま作業が終わることも珍しくありません。逆に、利用者が「これとこれとこれをやって」と複数の依頼をまとめて伝えた場合も、Claudeはそれをそのままチェックリスト化する傾向があります。進捗の追跡が助けになる非自明な作業であれば、Claudeの判断だけでタスクリストが自発的に育っていきます。

保留中・作業中・完了は4段階のライフサイクルの一部

タスクリストに並ぶ各項目は、次の4段階を順に移動します。

  1. 作成: Claudeが新しい作業を認識した時点で「保留中」として追加
  2. 開始: 実際にその作業へ着手した時点で「作業中」に切り替わる
  3. 完了: 作業が成功して終わった時点で「完了」に変わる
  4. 削除: 不要になった項目はステータスが「削除済み」に変わり、表示から消える

タスクリスト表示に出る3つのアイコン(保留中・作業中・完了)は、この4段階のうち最初の3つに対応します。項目が予告なく消えた場合、失敗したわけではなく、Claudeが「もう不要」と判断して削除した可能性があります。

Ctrl+Tでトグルする

Ctrl+Tを押すたびに、タスクリストの表示・非表示が切り替わります。Claudeがまだチェックリスト項目を1つも作っていない状態でトグルしても、表示するものが無いため見た目の変化はありません。「Ctrl+Tを押しても何も出ない」という体感の多くは、この「まだ空」のケースです。

作業が進み、タスクの状態(保留中 → 作業中 → 完了)が更新されるたびに、開いたままのタスクリストはリアルタイムで書き換わります。5件を超えるタスクが同時に存在するときは、表示中の5件だけが画面に出ます。超過分が消えるわけではなく、内部では引き続き保持されます。

更新のされ方が2系統ある

タスクリストの見た目の更新のされ方は、内部でどちらのツール系統が動いているかで変わります。既定のTaskCreate / TaskUpdate系統では、項目1件ごとに個別のIDで差分更新されるため、他の項目はそのままに1件だけ状態が切り替わって見えます。一方、レガシーなTodoWrite(CLAUDE_CODE_ENABLE_TASKS=0で有効化)は呼び出しのたびにリスト全体を丸ごと書き換える方式です。見た目上は一覧が一括で更新されたように映ります。表示されるUI自体は同じCtrl+Tのタスクリストなので、利用者から見た体験の差は小さめです。

全件表示とクリアはClaudeに直接頼む

Ctrl+Tのトグルには「全件表示」や「クリア」専用のキー操作は割り当てられていません。それらは会話の中でClaudeに直接依頼する形です。

  • 「すべてのタスクを見せて」と頼むと、5件の表示上限を超えた項目も含めて確認できます
  • 「タスクを全部クリアして」と頼むと、チェックリストがリセットされます

コマンドではなく自然文での依頼という設計は、他の多くの操作がキー操作やスラッシュコマンドに寄せてある中でやや異質です。タスクリストがClaude自身の作業計画であることの表れとも言えます。

コンテキスト圧縮をまたいでタスクが保持される

長時間セッションでコンテキストが圧縮(compact)されても、タスクリストの中身は消えません。大規模なプロジェクトで何度も圧縮を挟みながら作業を進める場合、タスクリストが唯一の「今どこまで終わったか」の記録として機能し続けます。

会話の細部が圧縮で失われても、チェックリストの状態は生き残る。これが、長時間の自走タスクほどタスクリストの有用性が上がる理由です。

セッションをまたいで共有する — CLAUDE_CODE_TASK_LIST_ID

複数のClaude Codeインスタンスで同じタスクリストを共有したいときは、環境変数CLAUDE_CODE_TASK_LIST_IDに共通の名前を設定します。

CLAUDE_CODE_TASK_LIST_ID=my-project claude

同じIDを指定した別セッションを起動すると、~/.claude/tasks/配下の名前付きディレクトリを介して同一のタスクリストを参照します。1つのプロジェクトを複数のターミナルタブやAgent teamsのメンバーで並行して進めるときに、進捗の二重管理を避けられます。

Agent teamsでは共有タスク一覧として使われる

複数のClaude Codeセッションを束ねるAgent teamsでは、タスクリストは1セッション分の作業計画にとどまらず、チーム全体で共有する進捗管理台帳として機能します。単独セッションのタスクリストと見た目は同じCtrl+T表示ですが、中身の運用ルールが広がります。

  • タスクは保留中・作業中・完了の3状態に加えて依存関係を持てます。依存先のタスクが完了していない保留タスクは、他のチームメイトが手が空いていても拾えません
  • リード役が特定のチームメイトへ明示的に割り当てる方式と、作業を終えたチームメイトが自分で次の未着手タスクを拾いにいく方式の両方が使えます
  • 複数のチームメイトが同じタスクを同時に取ろうとしても、ファイルロックで競合が防がれ、二重着手は起きません

Agent teams自体が既定では無効な実験的機能で、CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1を設定しないとチームは組まれません。有効化した上でも、Task系ツールを持たないエージェント(前述のOpus 4.8以降で未オプトインの場合など)は、この共有タスクリストに参加できません。その場合、チームメイトはタスクの受け渡しをメッセージのやり取りだけで調整します。

Opus 4.8以降で表示が空のままになるとき

Ctrl+Tを押しても常に空、という状態が続くなら、モデル側の仕様も疑う価値があります。Opus 4.8・Sonnet 5・Fable 5・Mythos 5、およびそれ以降の各ファミリーでは、Claude Codeがチェックリストを書き出すツール自体を既定で渡さなくなりました。ツールが無ければ、Claudeがどれだけ複雑な作業をしていてもタスクリストには何も追加されません。

以前と同じ挙動に戻すにはCLAUDE_CODE_ENABLE_TODO_TOOLS=1を設定します。既定オフになった経緯や、Hook・Agent teamsへの連鎖的な影響はClaude Code TodoツールがOpus 4.8以降で既定オフになった件にまとめています。旧世代のOpus 4.7ではこの制限は無く、バックグラウンドセッションとClaude Code on the webでも対象モデルを含めて常にツールが提供されます。

タスクリストと/tasksの違い

名前も見た目も近い2つの画面ですが、映しているものは別です。

項目タスクリスト(Ctrl+T)/tasks
表示対象タスクリスト(Ctrl+T)Claudeが計画した作業チェックリスト/tasks実行中のバックグラウンドシェル・サブエージェント(完了済みも含む)
開き方タスクリスト(Ctrl+T)Ctrl+Tでトグル/tasksコマンドとして実行、即座に反映
別名タスクリスト(Ctrl+T)なし/tasks/bashes
空になる主因タスクリスト(Ctrl+T)Claudeがまだ複数ステップの作業と判断していない、または対象モデルでツール未提供/tasksバックグラウンド実行中の処理が無い

サブエージェントに任せた作業の途中経過を追いたいときは/tasksです。Claude自身が組んだ計画のどこまで終わったかを追いたいときはCtrl+Tのタスクリスト、という使い分けになります。サブエージェントの設計と役割分担はClaude Code Sub-agents完全ガイドで扱っています。

よくある質問

タスクリストに表示されるのは最大何件ですか

同時に表示されるのは5件までです。Claudeが作成した項目がそれを超えても消えることはなく、内部では保持され続けます。全件を確認したいときは「すべてのタスクを見せて」とClaudeに頼みます。

項目が完了マークも付かずに消えるのはなぜですか

タスクのライフサイクルには「削除」という状態もあります。作業を進める中で不要になった項目をClaudeが自分で削除した場合、完了扱いにはならず表示からそのまま消えます。失敗や表示バグではなく、想定された挙動の1つです。

Ctrl+Tを押しても反応がないときは何を確認すればいいですか

まず、Claudeがまだチェックリスト項目を作っていない可能性を疑います。次に、モデルがOpus 4.8以降の対象ファミリーでCLAUDE_CODE_ENABLE_TODO_TOOLSを設定していないケースを確認します。この2つの切り分けで、大半の「空のまま」現象を説明できます。

Agent teamsのタスク一覧と通常のタスクリストは同じですか

見た目のUIは同じCtrl+T表示ですが、運用のルールが異なります。単独セッションではClaude自身の作業計画にすぎませんが、Agent teamsではチーム全体で共有する進捗台帳になり、タスク間の依存関係やファイルロックによる排他制御が加わります。

モデル起因の既定オフで/tasksも空になりますか

なりません。/tasksが表示するのはバックグラウンドで動くシェルコマンドやサブエージェントの実行状況で、Claudeが書き出すチェックリストとは仕組みが別だからです。Ctrl+Tのタスクリストだけが空になり、/tasksはモデルに関係なく通常どおり機能します。

使えるコマンドの全体像はどこで確認できますか

/tasks/recapを含む全コマンドの役割別・頻度別早見表はClaude Codeスラッシュコマンド一覧にまとめています。

まとめ

タスクリスト表示は、Claudeが複数ステップの作業を計画したときだけCtrl+Tで見えるチェックリストです。押さえておく性質は3つです。5件までの同時表示・コンテキスト圧縮をまたいだ保持・CLAUDE_CODE_TASK_LIST_IDによるセッション間共有で、これらを踏まえると長時間セッションでの進捗把握がぶれません。空のまま変化しないときは、作業がまだ単純なのか、それともOpus 4.8以降のモデルでツールが渡されていないのかを切り分けます。

この記事を共有:XはてブLinkedIn