TL;DR In this very session, Claude Code kept reminding me to "use a task list to track progress." The habit: on any long task, ask it to break the work into a task list and tick items off. You see it with
Ctrl+T, it survives/compact, and you don't ask for it to babysit the model. You ask so you don't lose the thread of the scope.
The more frontier the model, the less handholding it needs. Fable 5 says so in its own instructions: don't hand it tasks or tell it how, tell it what you want. So a task list is no longer about making the model more capable. It's about you: seeing the scope at a glance, knowing what's done and what's left, and catching the moment the model starts to drift on a long task. Asking for it costs nothing and works in any project, language, or context.
Claude Code builds its own checklist for multi-step work (pending, in progress, done). The bit almost nobody uses: you can ask for it yourself when the model doesn't surface one, and keep it in view while it works.
Result (the real list for shipping this tip):
> break shipping this tip into tasks and tick them off
⏺ Task list · press Ctrl+T to see it
✔ Verify the task-list docs
▶ Write the ES + EN drafts
○ Generate the hero SVG (ES/EN)
○ Build the social image #129
○ Publish to wmedia + verify
○ Backlinks + board + cc-tips + git
1/6 done · survives /compact
The habit
1. Ask for it when a long task starts
Tell it what you want and to break it down:
Break this into a task list and tick items off as you go.
2. See it with Ctrl+T
Ctrl+T shows or hides the checklist in the status area (up to 5 tasks at a time). If Claude hasn't created any yet, the shortcut shows nothing because there's nothing to display.
3. Query or clear it in plain language
There's no command: you ask Claude directly.
show me all tasks
clear all tasks
4. Share it across sessions or worktrees
One list for several sessions of the same project, via a named folder in ~/.claude/tasks/:
CLAUDE_CODE_TASK_LIST_ID=my-project claude
Why it holds up on long tasks
The list persists across /compact. When context nears the limit and Claude compacts on its own mid-task, plenty gets trimmed, but the checklist comes back. That's the opposite of the instructions that vanish on compaction: the task list is one of the few things that survives, which is exactly why it's your anchor on work that outlasts a single context window. Pair it with plan mode: the plan decides the what, the list tracks the progress.
Reference
| Action | How |
|---|---|
| Ask for the list | "break this into a task list" |
| Show / hide it | Ctrl+T (up to 5 at a time) |
| See all / clear them | "show me all tasks" · "clear all tasks" |
| Share across sessions | CLAUDE_CODE_TASK_LIST_ID=name claude |
| Persistence | Survives /compact |
Careful: it's not the /tasks panel
The Ctrl+T checklist is not the same as /tasks. That other panel is for background work (bashes from Ctrl+B, cloud sessions, subagents) and has its own tip: the /tasks panel where your parallel jobs converge. One is the step list of the current task; the other is the board of what's running in parallel.
Official docs: Interactive mode — Task list
Requirement: Ctrl+T to view the list. To share it across sessions, CLAUDE_CODE_TASK_LIST_ID.