You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 29, 2026. It is now read-only.
feat: complete ExitPlanMode implementation with UI integration (#230)
* fix: simplify ExitPlanMode permission error detection
Simplified permission error detection to fix ExitPlanMode not showing PlanPermissionInputPanel:
- Remove isPermissionError function and string-based permission checking
- Use contentItem.is_error directly for all permission error detection
- Add ExitPlanMode special display as "Ready to code?" with plan content
- Add PlanPermissionInputPanel for ExitPlanMode permission handling
- Remove forced plan mode for first messages (debug cleanup)
This ensures ExitPlanMode properly displays plan content then shows permission dialog on error.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: improve PlanPermissionInputPanel UX and fix tool error handling
UI/UX improvements:
- Remove redundant "Ready to code?" header (already shown in message)
- Reorder options to prioritize "auto-accept edits" as first choice
- Update default selection to "acceptWithEdits"
- Change "Keep planning" to only close dialog (consistent with permission deny)
- Use "accept" instead of "continue" for plan approval messages
Tool error handling:
- Add isToolUseError detection for <tool_use_error> content
- Skip permission dialog for tool use errors, display as regular results
- Allows Claude to see and retry failed tool usage attempts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: unify ESC key handling across permission dialogs
Consistent keyboard navigation:
- Add ESC key support to PermissionInputPanel (calls onDeny)
- Add ESC key support to PlanPermissionInputPanel (calls onKeepPlanning)
- Remove centralized ESC handling from ChatInput.tsx
- Each panel now handles its own keyboard events independently
UX improvements:
- ESC key now works consistently across both permission dialog types
- Self-contained components with unified keyboard interaction patterns
- Remove forced plan mode debug setting for normal operation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: complete planMode demo functionality with proper TypeScript types
- Add ExitPlanMode special handling in useDemoAutomation to create plan messages
- Add plan mode support to DemoPage with handlers and permission data
- Add permission error detection for ExitPlanMode tool results
- Simplify planMode scenario from complex dark theme to simple README creation
- Remove unnecessary result message after plan creation
- Fix repetitive messages and improve UX flow
- Convert MockScenarioStep from interface to discriminated union type
- Add plan permission button automation support
- Ensure permission panel disappears correctly after selection
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: address Copilot review feedback for ExitPlanMode handling
- Remove unnecessary ExitPlanMode detection logic from MessageComponents
- ToolMessageComponent: ExitPlanMode creates plan messages, not tool messages
- ToolResultMessageComponent: ExitPlanMode tool_result triggers abort, never reaches component
- Clean up unused planContent prop from PlanPermissionInputPanel interface and all usage
- Remove meaningless empty comment from useDemoAutomation
These changes align with actual ExitPlanMode processing flow:
1. tool_use -> plan message creation (bypasses ToolMessageComponent)
2. tool_result with is_error -> permission error -> abort (bypasses ToolResultMessageComponent)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments