Chat UI
Chat history
Persistent threads with a checkpointer and a threadStore, and the History button in the chat.
AgentChat has a History button (list, open, delete), reopens the last conversation after a refresh, and restores a pending approval.
Messages live in your LangGraph checkpointer. The list of threads lives in a threadStore, in memory by default. Both must be persistent in production:
createAgent({ /* ... */ checkpointer: new PostgresSaver(/* ... */), threadStore: myThreadStore });
A ThreadStore implements list, has, touch and delete. History is only shown from the user's own index.