Skip to main content
The TaskList class allows you to display a task list next to the chatbot UI.

Attributes

status
str
The status of the TaskList. We suggest using something short like “Ready”, “Running…”, “Failed”, “Done”.
tasks
Task
The list of tasks to be displayed in the UI.

Usage

The TaskList element is slightly different from other elements in that it is not attached to a Message or Step but can be sent directly to the chat interface.
import chainlit as cl   @cl.on_chat_start async def main():  # Create the TaskList  task_list = cl.TaskList()  task_list.status = "Running..."   # Create a task and put it in the running state  task1 = cl.Task(title="Processing data", status=cl.TaskStatus.RUNNING)  await task_list.add_task(task1)  # Create another task that is in the ready state  task2 = cl.Task(title="Performing calculations")  await task_list.add_task(task2)   # Optional: link a message to each task to allow task navigation in the chat history  message = await cl.Message(content="Started processing data").send()  task1.forId = message.id   # Update the task list in the interface  await task_list.send()   # Perform some action on your end  await cl.sleep(1)   # Update the task statuses  task1.status = cl.TaskStatus.DONE  task2.status = cl.TaskStatus.FAILED  task_list.status = "Failed"  await task_list.send()  

Task List in action