Todo List

Shows the plan an agent is working through: each task carries a pending, in-progress, completed or cancelled mark that morphs between states, optional progress and detail, a done count in the header, and a panel that can fold away when all is finished.

Preview

Todo List preview width

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @karaui/todo-list
@karaui not found? Add it to components.json
{
  "registries": {
    "@karaui": "https://karaui.kamisama-v0.my.id/r/{name}.json"
  }
}

@karaui is in shadcn's public registry directory, so the latest CLI needs no setup. On an older CLI, merge this into the existing file once and every @karaui/… install resolves.

API Reference

items
TodoItem[]
—
title?
ReactNode
To-dos
open?
boolean
—
defaultOpen?
boolean
true
onOpenChange?
((open: boolean) => void)
—
collapseOnComplete?
boolean
true
maxHeight?
number
248
className?
string
—

Composition

When the plan comes from a chat-based run, render it inside that turn's message content.

Message
└── MessageContent
    └── TodoList

Note: Agent Activity logs what happens between one task and the next. Agent Loading States fills the gap before any plan exists. Tool Result shows the output a task produced.

How it works

Use a plan to show the person what is left to do, not to narrate every passing thought. Only work items whose status someone watching the run actually cares about belong here.

Updated