Claude Code Replaces Todos with Persistent, Dependency-Aware Tasks

Claude Code upgrades Todos to Tasks, leveraging Opus 4.5 to enable filesystem-backed, multi-session task lists with metadata and dependencies. Tasks persist at ~/.claude/tasks and broadcast updates across sessions, improving multi-agent coordination and developer tooling.

Claude Code Replaces Todos with Persistent, Dependency-Aware Tasks

TL;DR

  • Claude Code replaces Todos with Tasks, using Opus 4.5’s improved autonomy and state retention
  • Tasks include metadata and dependencies, enabling project-style workflows across related items
  • Tasks persisted at ~/.claude/tasks on the filesystem, shared across sessions and subagents
  • Task updates are broadcast to every session working on the same Task List for coordination
  • Small items no longer require TodoWrite; Opus 4.5 handles short tasks directly, while Tasks target multi-step/multi-session work
  • Share a Task List by setting CLAUDE_CODE_TASK_LIST_ID before starting Claude

Claude Code replaces Todos with Tasks

Claude Code has upgraded its Todos primitive to a new system called Tasks. The change reflects evolving model capabilities—notably Opus 4.5’s improved ability to run autonomously and retain state—and aims to let Claude coordinate longer, more complex projects across subagents, sessions, and context windows. The team cited projects like Beads by Steve Yegge as inspiration, and this change follows broader movement in the space toward richer task abstractions.

What Tasks change

Tasks are designed to mirror how projects actually work rather than treating work as isolated checklist items. Key technical points:

  • Tasks include metadata and dependencies, allowing one Task to depend on another and enabling a project-style workflow rather than flat todos.
  • Tasks are persisted on the filesystem at ~/.claude/tasks, making them accessible across sessions and subagents and enabling external tooling to operate on the same Task data.
  • Updates to a Task are broadcast to every session currently working on the same Task List, improving coordination when multiple agents or interactive sessions are involved.

The TodoWrite Tool has been deemed unnecessary for smaller items because Opus 4.5 already handles short tasks directly; Tasks address the gap for multi-step or multi-session work.

Collaboration and usage

To make multiple sessions collaborate on a single Task List, a TaskList identifier can be set as an environment variable before starting Claude. For instance:

CLAUDE_CODE_TASK_LIST_ID=groceries claude

This approach also applies to claude -p and the AgentSDK, allowing subagents and programmatic clients to join the same Task List.

Developer implications

For developers building on Claude Code, the filesystem-backed Task store and Task metadata with dependencies create opportunities to build utilities, orchestration layers, or monitoring tools that operate on a shared source of truth. Because Tasks are available immediately, they can be used when spinning up subagents and integrated into existing agent workflows without waiting for additional tooling.

Original source: https://x.com/i/status/2014480496013803643

Continue the conversation on Slack

Did this article spark your interest? Join our community of experts and enthusiasts to dive deeper, ask questions, and share your ideas.

Join our community