- Created conventional-commits.py for commit message validation
- Created prevent-direct-push.py for protected branch enforcement
- Updated all hook JSONs to use Python scripts with proper JSON output
- All hooks now use permissionDecision: "deny" for proper blocking
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed ReferenceError where projectDir was not defined
- Changed to use currentTargetDir which is properly scoped
- Removed debug console.log statements
- Cleaned up Python file download logging
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modified installIndividualHook to detect and download .py files for ANY hook
- Added automatic installation of Python scripts to .claude/hooks/
- Python files get executable permissions (0o755)
- Created validate-branch-name.py for proper Git Flow branch validation
- Hook validation now uses JSON output with permissionDecision
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update local settings and configurations
- Add Vertex AI Claude Code integration blog post
- Sync analytics components and documentation
- Remove test data files and update configurations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add elegant modal for resume conversation functionality
- Modal shows claude --resume command with copy functionality
- Center Resume button in chat view header
- Add centered GitHub star button in main chat header
- Improve responsive design with three-column header layout
- Enhanced user experience with visual feedback on copy actions
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implement on_stdout/on_stderr callbacks for live output streaming
- Add progress indicators during long operations
- Remove unnecessary warning message for aitmpl.com API
- Create API endpoint for agents list at /docs/api/agents.json
- Update getAvailableAgentsFromGitHub to use aitmpl.com API fallback
- Improve user experience with visual feedback during execution
- Version bump to 1.21.5
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change from '30-60 seconds' to 'a few minutes'
- More accurate for complex prompts
- Sets better user expectations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove time and threading imports that caused errors
- Use simple static spinner icon instead of animation
- Clean and simple loading message
- Avoids 'time not associated with value' error
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Import time and threading modules for animations
- Add animated dots (Processing...) before execution
- Show brief animation to indicate activity
- Better visual feedback during synchronous operations
Note: Full spinner not possible during blocking E2B execution
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove validation that forced agent selection
- Allow users to press Enter without selecting any agents
- Continue with default Claude when no agents selected
- Improves UX by not forcing unnecessary selections
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Display the actual user prompt in the command output
- Keep enhanced prompt for internal execution
- Truncate long prompts to 100 characters for display
- Maintains prompt engineering while improving user visibility
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use local docs/components.json file when available (600+ agents)
- Fallback to GitHub API only if local file not found
- Handle GitHub API rate limits gracefully
- Provide comprehensive fallback agent list
- Show message when loading from local cache
This fixes the issue where only 3 agents were showing due to API rate limits
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create enhanced prompts with clear instructions for Claude Code
- Include agent context when agents are specified
- Instruct Claude to execute requests immediately and create files
- Parse agent names from components string correctly
- Show agent usage in execution logs
This ensures Claude generates actual code instead of just acknowledging requests
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change from single list to checkbox for multiple agent selection
- Support comma-separated agent values (folder/agent-name format)
- Add confirmation prompt before agent selection
- Display multiple agents properly in execution summary
- Maintain full path format for agent references
Users can now select multiple agents with SPACE and confirm with ENTER
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add visual separator and loading message after permissions check
- Show 'Executing Claude Code in secure cloud sandbox' message
- Include status indicators for processing, isolation, and output
- Improve user feedback during execution wait time
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change Python script execution cwd from sandboxDir to targetDir
- Files now download directly to user's current working directory
- Update message to show exact download path
- Maintains pip install in .claude/sandbox for dependencies
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Keep --studio as separate web interface command for Claude Code Studio
- Make --sandbox e2b pure CLI experience without opening web interface
- Add interactive agent selection when --agent not provided
- Agent list fetched from GitHub with option to continue without agent
- Maintain existing prompt collection and Y/n confirmation flow
- Real-time log display and folder download already working
This ensures --sandbox e2b follows the CLI workflow:
1. Check/download agents if missing
2. Prompt for input if --prompt not provided
3. Confirm E2B execution with Y/n
4. Execute and show logs
5. Download folder when complete
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use os.getcwd() to get the directory where command was executed
- Download files to sandbox-{id} folder in user's current directory
- Remove hardcoded relative path assumptions (../../)
- Add debugging output to show current working directory
- Ensures files are downloaded where user expects them
- Load .env file from current working directory (where command is executed)
- Pass environment variables correctly to Python E2B launcher
- Show API key status on server startup with clear feedback
- Ensure E2B and Anthropic API keys are loaded from user's project
- Better debugging output for environment variable loading
- Add prominent API keys notice with setup instructions
- Include direct links to get E2B and Anthropic API keys
- Improve error handling to detect missing API key errors
- Show helpful error messages for API key configuration
- Better user guidance for .env file setup
Features:
✅ Interactive Project Requirements Editor:
- Opens when --prompt parameter is not provided in sandbox mode
- Uses inquirer editor type for multi-line text input
- Comprehensive default template with structured guidance
- Input validation (minimum 10 characters)
✅ Enhanced User Experience:
- Clear instructions on how to provide detailed requirements
- Pre-filled template with examples and categories:
* Feature descriptions
* Technical requirements (tech stack, styling)
* Design requirements (colors, layout, UI style)
- Real example at the bottom for reference
✅ Smart Flow:
- Only triggers when prompt is missing in sandbox mode
- Captures user input and continues with normal sandbox execution
- Maintains all existing functionality when --prompt is provided
This allows users to run sandbox mode without specifying --prompt
and get a guided experience to describe their project requirements.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changes:
- E2B launcher now downloads files to ./ (project root) instead of ./e2b-outputs/
- Updated confirmation dialog to show "Files will be downloaded to project root directory"
- Updated modal feature text to "Files downloaded to project root"
- Removed timestamp folder organization for simpler file management
This ensures generated files are immediately available in the project root
where users expect them, without needing to navigate to subfolders.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Features added:
✅ Sandbox Execution Confirmation:
- Beautiful formatted confirmation dialog with execution details
- Shows agent name, truncated prompt, provider (E2B Cloud)
- Displays execution info: real-time logs, file downloads, timeout
- Clear ESC cancellation instructions
✅ ESC Key Cancellation:
- Real-time ESC key detection during sandbox execution
- Graceful process termination with SIGTERM
- Proper stdin cleanup and raw mode handling
- User-friendly cancellation messages
✅ Enhanced User Experience:
- Informative confirmation dialog before execution
- Real-time execution status and instructions
- Safe process cancellation without hanging
- Clear feedback for all execution states
This provides users with full control over sandbox execution and clear
visibility into what will happen during the E2B sandbox process.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>