# Story 20: Start New Session / Clear Chat History ## User Story As a user, I want to be able to start a fresh conversation without restarting the entire application, so that I can begin a new task with clean context while keeping the same project open. ## Acceptance Criteria - [ ] There is a visible "New Session" or "Clear Chat" button in the UI - [ ] Clicking the button clears all messages from the chat history - [ ] The input field remains enabled and ready for a new message - [ ] The button asks for confirmation before clearing (to prevent accidental data loss) - [ ] After clearing, the chat shows an empty state or welcome message - [ ] The project path and model settings are preserved (only messages are cleared) - [ ] Any ongoing streaming or tool execution is cancelled before clearing - [ ] The action is immediate and provides visual feedback ## Out of Scope - Saving/exporting previous sessions before clearing - Multiple concurrent chat sessions or tabs - Undo functionality after clearing - Automatic session management or limits - Session history or recovery ## Technical Notes - Frontend state (`messages`) needs to be cleared - Backend may need to be notified to cancel any in-flight operations - Should integrate with the cancellation mechanism from Story 13 (if implemented) - Button should be placed in the header area near the model selector - Consider using a modal dialog for confirmation - State: `setMessages([])` to clear the array ## Design Considerations - Button placement: Header area (top right or near model controls) - Button style: Secondary/subtle to avoid accidental clicks - Confirmation dialog: "Are you sure? This will clear all messages." - Icon suggestion: 🔄 or "New" text label