mirror of
https://github.com/andrepimenta/claude-code-chat.git
synced 2026-05-30 08:15:38 +08:00
Fetches the platform-specific native binary directly — npm registry first (sha512-verified tarball, streamed through a minimal in-tree tar parser) with the Anthropic CDN as a fallback (sha256-verified raw binary). Writes to context.globalStorageUri/bin/claude[.exe] and auto-sets executable.path so there's no PATH, sudo, PowerShell execution-policy, npm EACCES, or Node-version failure modes left. Adds typed DownloaderError codes (UNSUPPORTED_PLATFORM / NETWORK / INTEGRITY / WRITE / CANCELLED / AGGREGATE) and threads source / version / npmCode / cdnCode into analytics so install failures are finally bucketable instead of collapsed under "the shell command failed". Error messages are scrubbed of user paths to keep analytics PII-free. Fixes a Windows path-with-spaces edge case by skipping cmd.exe shell wrapping when spawning claude with an absolute executable.path. Ships 28 tests: 24 unit (tar parser, platform detection, error helpers) and 4 integration that hit real npm + real CDN end-to-end. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
422 lines
20 KiB
Markdown
422 lines
20 KiB
Markdown
# Change Log
|
|
|
|
All notable changes to the "claude-code-chat" extension will be documented in this file.
|
|
|
|
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
|
|
|
|
## [2.0.7] - 2026-04-24
|
|
|
|
### 🚀 Features Added
|
|
- **In-process installer**: Installing Claude Code no longer shells out to PowerShell, `curl | bash`, or `npm install -g`. The extension now fetches the platform-specific native binary directly (npm registry first, with Anthropic's CDN as a fallback), verifies the download with sha512/sha256, and writes it into the extension's own storage. Zero PATH, sudo, execution-policy, Node-version, or shell-quoting dependencies — if the extension installed, installing Claude works.
|
|
- **Progress updates during install**: The install modal now reports "Looking up…", "Downloading… (X%)", "Verifying…", and "Installing…" as it runs, with an automatic retry message if it falls back to the CDN source.
|
|
- **Cleaner install analytics**: `Install success` now includes `source` (npm/cdn) and `version`; `Install failed` now includes a typed `errorCode` (NETWORK / INTEGRITY / WRITE / AGGREGATE / UNSUPPORTED_PLATFORM) so failure buckets are meaningful instead of just "the shell command failed".
|
|
|
|
### 🐛 Bug Fixes
|
|
- **Paths with spaces on Windows**: Fixed an edge case where the main Claude spawn could fail when the executable path contained spaces (e.g. `C:\Users\Some User\…`). Absolute paths now bypass `cmd.exe` wrapping entirely.
|
|
|
|
### 🔧 Technical Improvements
|
|
- New `src/claudeDownloader.ts` module: self-contained, no new runtime dependencies. Includes a minimal in-tree tar parser so we can stream-extract the one binary we need from the npm tarball without bundling a tar library.
|
|
- Removed the old PowerShell / curl / npm install paths and the associated `_getKnownInstallLocation` / `_checkClaudeAvailable` helpers — the download flow now owns the install location end-to-end.
|
|
|
|
## [2.0.6] - 2026-04-23
|
|
|
|
### 🚀 Features Added
|
|
- **Smarter post-install setup**: Fresh installs now "just work" without a VS Code restart. After install, the extension checks whether `claude` resolved on your PATH and, if not, auto-configures `claudeCodeChat.executable.path` to the known install location. An existing custom executable path is respected.
|
|
- **WSL: Node.js path is now optional**: Recent Claude Code ships as a native binary and doesn't need Node. Leave the **Node.js Path** field blank unless you installed Claude via npm. The WSL settings panel was also reordered so **Claude Path** comes first.
|
|
|
|
### 🐛 Bug Fixes
|
|
- **Rock-solid terminals across shells**: Login, Model, /usage, and slash-command terminals now launch Claude directly instead of sending text through the shell. Fixes a class of quoting issues on Windows PowerShell and keeps behavior identical across PowerShell, cmd, bash, and zsh.
|
|
|
|
### 🔧 Technical Improvements
|
|
- Terminal sites now use `createTerminal`'s `shellPath`/`shellArgs` — no shell quoting, consistent env inheritance, identical behavior across OSes.
|
|
|
|
## [2.0.4] - 2026-04-21
|
|
|
|
### 🚀 Features Added
|
|
- **Plan Mode (Improved)**:
|
|
- Plans now render as beautifully formatted markdown with headings, lists, and code blocks
|
|
- Suggested actions shown as clickable buttons below the plan (e.g. "run npm build")
|
|
- Permission prompt says "Approve the plan above?" with an Approve button instead of the generic tool approval
|
|
- **MCP, Skills & Plugins Marketplace**:
|
|
- Browse 30+ curated MCP servers (GitHub, Slack, Stripe, Notion, Supabase, etc.)
|
|
- Search across both add-mcp curated and official Anthropic registries with smart ranking
|
|
- Install MCP servers to project (`.mcp.json`) or global (`~/.claude.json`)
|
|
- Skills marketplace with one-click install via `npx skills add`
|
|
- Plugins marketplace to extend Claude Code
|
|
- OAuth authentication support — open terminal to log in to MCPs
|
|
- **150+ AI Models via OpenCredits**:
|
|
- Quick model switching: GPT, Gemini, MiniMax, Kimi, GLM, DeepSeek buttons above the text box
|
|
- Browse and select from 150+ models across providers
|
|
- Pay-as-you-go with OpenCredits — no subscription needed
|
|
- US & EU provider filtering option in settings
|
|
- Model selection persists correctly after checkout
|
|
- **Image Preview**:
|
|
- Paste or pick images with thumbnail preview before sending
|
|
- Remove attached images before sending
|
|
- Multiple image attachments per message
|
|
- Image paths in text auto-detected and sent as base64
|
|
- **Support & Feedback**:
|
|
- "Support" button in status bar to send bug reports and feature requests
|
|
- Submissions sent directly to Discord
|
|
|
|
### 🎨 UI Improvements
|
|
- Inline stop button replaces send button during processing
|
|
- Self-hosted Umami analytics with editor tracking (VS Code vs Cursor)
|
|
- BETA badge on model section with instant tooltip
|
|
- Cleaner model selector and Browse All Models alignment
|
|
|
|
### 🐛 Bug Fixes & Reliability
|
|
- Fix model not being selected after OpenCredits checkout
|
|
- Fix provider choice modal appearing unexpectedly after settings changes
|
|
- Fix duplicate login error toast
|
|
- Fix WSL environment variable passthrough for OpenCredits
|
|
- Fix Windows URL opening with `start` command
|
|
- Fix `--mcp-config` error on fresh installs
|
|
- Await `setEnvsDisabled` so settings reflect changes immediately
|
|
- Skip npx install prompt with `-y` flag for skills
|
|
- Better install error messages (Node.js 18+ requirement)
|
|
- Add node and mocha types to tsconfig for clean editor diagnostics
|
|
- Remove debug `console.log`s, add `console.error` to empty catch blocks
|
|
|
|
## [1.1.0] - 2025-12-06
|
|
|
|
### 🚀 Features Added
|
|
- **Install Modal**: Added installation flow for users without Claude Code CLI
|
|
- Auto-detects when Claude Code is not installed
|
|
- One-click installation with progress indicator
|
|
- Platform-specific installation commands
|
|
- **Diff Viewer Improvements**:
|
|
- Show full diff in Edit, MultiEdit, and Write tool use messages
|
|
- Add "Open Diff" button to open VS Code's native side-by-side diff editor
|
|
- Add truncation with expand button for long diffs
|
|
- Optimize diff storage and improve Open Diff button behavior
|
|
- **Processing Indicator**: New morphing orange dot animation while Claude is working
|
|
- **Subscription Detection**: Added usage badge to status bar showing plan type (Pro, Max) or API cost
|
|
- **Conversation Compacting**: Handle `/compact` command in chat with status messages and token reset
|
|
- **Permission System**: Migrated from MCP file-based to stdio-based permission prompts
|
|
- **Plan Mode**: Now uses native `--permission-mode plan` CLI flag for cleaner implementation
|
|
|
|
### 🐛 Bug Fixes
|
|
- Fixed diff line alignment by removing ::before pseudo-elements
|
|
- Fixed auto-scroll for diff tool results
|
|
- Strip tool_use_error tags from error messages
|
|
- Improved process termination handling
|
|
|
|
### 🔧 Technical Improvements
|
|
- Run /compact command in chat instead of spawning terminal
|
|
- Improved terminal and UI experience
|
|
- Updated diff icon colors
|
|
|
|
### 📊 Analytics
|
|
- Added Umami analytics events to track install flow (modal shown, started, success/failed)
|
|
|
|
## [1.0.7] - 2025-10-01
|
|
|
|
### 🚀 Features Added
|
|
- **Slash Commands Update**: Added 4 new slash commands to the commands modal
|
|
- `/add-dir` - Add additional working directories
|
|
- `/agents` - Manage custom AI subagents for specialized tasks
|
|
- `/rewind` - Rewind the conversation and/or code
|
|
- `/usage` - Show plan usage limits and rate limit status (subscription plans only)
|
|
|
|
### 📚 Documentation Updates
|
|
- Updated slash commands count from 19+ to 23+ built-in commands
|
|
- Enhanced command descriptions for better clarity:
|
|
- `/config` - Now specifies "Open the Settings interface (Config tab)"
|
|
- `/cost` - Added note about cost tracking guide for subscription-specific details
|
|
- `/status` - Expanded description to mention version, model, account, and connectivity
|
|
- `/terminal-setup` - Added clarification about iTerm2 and VSCode only support
|
|
|
|
## [1.0.6] - 2025-08-26
|
|
|
|
### 🐛 Bug Fixes
|
|
- Fixed typo in codebase
|
|
- Removed priority settings that were no longer needed
|
|
|
|
### 🔧 Technical Improvements
|
|
- Moved script to separate file for better code organization
|
|
|
|
## [1.0.5] - 2025-07-30
|
|
|
|
### 🚀 Features Added
|
|
- **MCP Integration**: Added claude-code-chat-permissions-mcp folder for enhanced permission management
|
|
- **Message Persistence**: Save message in text box for better user experience
|
|
- **UI Improvements**: Always display history and new chat options
|
|
- **Input Enhancement**: Removed maxlength limit for custom command prompt textarea
|
|
|
|
### 🐛 Bug Fixes
|
|
- Fixed new chat functionality
|
|
- Fixed request start time isProcessing issue
|
|
- Fixed close and open conversation behavior
|
|
|
|
### 🔄 Merged Pull Requests
|
|
- Merged PR #87 from horatio-sans-serif/main
|
|
|
|
## [1.0.4] - 2025-01-22
|
|
|
|
### 🐛 Bug Fixes
|
|
- Fixed input text area overflow issue by adding `box-sizing: border-box` to prevent padding from extending beyond container width
|
|
- Fixed command parameter handling for `claude-code-chat.openChat` to properly handle both ViewColumn and Uri parameters from different invocation contexts
|
|
|
|
### 🔧 Technical Improvements
|
|
- Enhanced `show()` method to accept optional ViewColumn parameter with ViewColumn.Two as default
|
|
- Added proper type checking for command parameters to handle context menu invocations
|
|
- Improved webview panel positioning with flexible column parameter support
|
|
|
|
### 🎨 UI/UX Improvements
|
|
- Resolved text input container sizing issues that caused visual overflow
|
|
- Better input field styling consistency across different VS Code themes
|
|
|
|
## [1.0.0] - 2025-01-15
|
|
|
|
### 🚀 Major Features Added
|
|
|
|
#### **Advanced Permissions Management System**
|
|
- Complete permissions framework with MCP integration for secure tool execution
|
|
- Interactive permission dialogs with detailed tool information and command previews
|
|
- "Always Allow" functionality with smart command pattern matching for common tools (npm, git, docker, etc.)
|
|
- YOLO mode for power users to skip all permission checks
|
|
- Comprehensive permissions settings UI with ability to add/remove specific permissions
|
|
- File system watcher for real-time permission request handling
|
|
- Workspace-specific permission storage and management
|
|
|
|
#### **MCP (Model Context Protocol) Server Management**
|
|
- Complete MCP server configuration interface
|
|
- Popular MCP servers gallery with one-click installation
|
|
- Custom MCP server creation with validation
|
|
- Server management (edit, delete, enable/disable)
|
|
- Automatic permissions server integration
|
|
- WSL path conversion for cross-platform compatibility
|
|
|
|
#### **Sidebar Integration & Multi-Panel Support**
|
|
- Native VS Code sidebar view with full chat functionality
|
|
- Smart panel management (auto-close main panel when sidebar opens)
|
|
- Persistent session state across panel switches
|
|
- Proper webview lifecycle management
|
|
- Activity bar integration with custom icon
|
|
|
|
#### **Image & Clipboard Enhancements**
|
|
- Drag-and-drop image support directly into chat
|
|
- Clipboard image paste functionality (Ctrl+V for screenshots)
|
|
- Multiple image selection with VS Code's native file picker
|
|
- Automatic image organization in `.claude/claude-code-chat-images/` folder
|
|
- Automatic `.gitignore` creation for image folders
|
|
- Support for PNG, JPG, JPEG, GIF, SVG, WebP, BMP formats
|
|
|
|
#### **Code Block & Syntax Improvements**
|
|
- Enhanced markdown parsing with proper code block detection
|
|
- Syntax highlighting for code blocks with language detection
|
|
- Copy-to-clipboard functionality for code blocks
|
|
- Improved inline code rendering
|
|
- Better handling of technical identifiers and underscores
|
|
|
|
### 🎨 UI/UX Improvements
|
|
|
|
#### **Settings & Configuration**
|
|
- Comprehensive settings modal with organized sections
|
|
- YOLO mode toggle with visual warnings and explanations
|
|
- Real-time settings synchronization between UI and VS Code config
|
|
- Better visual hierarchy and professional styling
|
|
- Smart configuration validation and error handling
|
|
|
|
#### **Message & Chat Interface**
|
|
- Improved message spacing and visual consistency
|
|
- Enhanced tool result display with better formatting
|
|
- Smart scrolling behavior (only auto-scroll if user is at bottom)
|
|
- Loading indicators and processing states
|
|
- Better error handling and user feedback
|
|
|
|
#### **YOLO Mode Visual Design**
|
|
- Less subtle YOLO mode section (increased opacity and size)
|
|
- Changed warning icon from ⚠️ to 🚀 for less intimidating appearance
|
|
- Soft tomato red styling that's noticeable but not scary
|
|
- Clear explanation of YOLO mode functionality
|
|
|
|
### 🔧 Technical Enhancements
|
|
|
|
#### **Session & State Management**
|
|
- Persistent session state across VS Code restarts
|
|
- Proper cleanup of resources and event listeners
|
|
- Better error handling for failed operations
|
|
- Improved memory management for large conversations
|
|
|
|
#### **Cross-Platform Compatibility**
|
|
- Enhanced WSL support with proper path conversion
|
|
- Windows-specific improvements and fixes
|
|
- Better handling of different operating system environments
|
|
- Improved subprocess management and cleanup
|
|
|
|
#### **Performance Optimizations**
|
|
- Reduced context usage with more efficient tool operations
|
|
- Better file search and workspace integration
|
|
- Optimized message handling and UI updates
|
|
- Improved extension activation and initialization times
|
|
|
|
#### **Developer Experience**
|
|
- Better error messages and debugging information
|
|
- Improved extension logging and troubleshooting
|
|
- Enhanced development workflow support
|
|
- Better TypeScript integration and type safety
|
|
|
|
### 🐛 Bug Fixes
|
|
- Fixed multiple permission prompts being sent simultaneously
|
|
- Resolved panel management issues with multiple webviews
|
|
- Fixed expand/collapse functionality for long content
|
|
- Corrected Unix timestamp parsing for usage limit messages
|
|
- Fixed WSL integration on Windows systems
|
|
- Resolved markdown parsing issues with underscores in code
|
|
- Fixed copy-paste functionality for images and code blocks
|
|
- Corrected file path handling across different platforms
|
|
|
|
### 🔄 Breaking Changes
|
|
- Permission system now requires explicit approval for tool execution (unless YOLO mode is enabled)
|
|
- Image files are now stored in `.claude/claude-code-chat-images/` instead of root directory
|
|
- MCP configuration moved to extension storage instead of global config
|
|
|
|
### 📚 Documentation & Community
|
|
- Updated README with comprehensive feature documentation
|
|
- Fixed GitHub issues link in repository
|
|
- Enhanced examples and usage guides
|
|
- Better onboarding experience for new users
|
|
|
|
## [0.1.3] - 2025-06-24
|
|
|
|
### 🚀 Features Added
|
|
|
|
#### **MultiEdit and Edit Tool Diff Display**
|
|
- Added comprehensive diff visualization for MultiEdit tool operations
|
|
- Shows file path with click-to-open functionality
|
|
- Displays multiple edits with numbered labels (Edit #1, Edit #2, etc.)
|
|
- Smart truncation handling - shows complete edits within line limits
|
|
- Expandable interface with "Show X more edits" button
|
|
- Visual separators between individual edits
|
|
- Consistent styling with existing Edit tool diff display
|
|
|
|
#### **Enhanced Tool Result Management**
|
|
- Added MultiEdit to hidden tool results list for cleaner interface
|
|
- Tool results for Read, Edit, TodoWrite, and MultiEdit now show loading states instead of uninteresting success messages
|
|
- Improved user experience by hiding redundant "Tool executed successfully" messages
|
|
|
|
### 🎨 UI/UX Improvements
|
|
|
|
#### **Thinking Intensity Modal Enhancement**
|
|
- Fixed bug where thinking mode toggle text changed before user confirmation
|
|
- Toggle text now only updates when user clicks "Confirm" button
|
|
- Preview selection highlighting still works during option exploration
|
|
- Improved user experience with proper confirmation workflow
|
|
|
|
#### **Consistent Message Spacing**
|
|
- Standardized spacing between tool messages and user/Claude messages
|
|
- Updated tool input padding from 12px to 8px to match message spacing
|
|
- Unified visual consistency across all message types
|
|
|
|
#### **Refined Visual Design**
|
|
- Changed MultiEdit edit number labels from purple to subtle professional styling
|
|
- Used VS Code theme colors for better integration
|
|
- Improved overall visual cohesion with more sober color palette
|
|
|
|
### 🔧 Technical Improvements
|
|
- Enhanced tool message formatting infrastructure
|
|
- Improved diff rendering performance for multiple edits
|
|
- Better error handling for malformed MultiEdit tool inputs
|
|
- Optimized truncation logic for complex multi-edit operations
|
|
|
|
## [0.1.2] - 2025-06-20
|
|
|
|
### 🐛 Bug Fixes
|
|
- Fixed markdown parsing bug where underscores in code identifiers (like "protein_id") were incorrectly converted to italic formatting
|
|
- Updated regex pattern to only apply italic formatting when underscores are surrounded by whitespace or at string boundaries
|
|
- Preserved proper formatting for code snippets and technical identifiers
|
|
- Always show New Chat button
|
|
|
|
## [0.1.0] - 2025-06-20
|
|
|
|
### 🚀 Major Features Added
|
|
|
|
#### **Interactive Thinking Mode with Intensity Control**
|
|
- Added configurable thinking mode with 4 intensity levels: Think, Think Hard, Think Harder, Ultrathink
|
|
- Beautiful slider interface in settings for intensity selection
|
|
- Clickable intensity labels for easy selection
|
|
- Different thinking prompts based on selected intensity level
|
|
- Higher intensities provide more detailed reasoning but consume more tokens
|
|
- Settings persist across sessions with VS Code configuration integration
|
|
|
|
#### **Plan First Mode**
|
|
- New toggle for "Plan First" mode that instructs Claude to plan before making changes
|
|
- Requires user approval before proceeding with implementation
|
|
- Safer experimentation workflow for complex changes
|
|
- Simple switch interface above the text input area
|
|
|
|
#### **Slash Commands Modal System**
|
|
- Type "/" to open beautiful slash commands modal with 19+ commands
|
|
- Complete Claude Code command integration: /bug, /clear, /compact, /config, /cost, /doctor, /help, /init, /login, /logout, /mcp, /memory, /model, /permissions, /pr_comments, /review, /status, /terminal-setup, /vim
|
|
- Custom command input field for executing any Claude Code command
|
|
- Session-aware command execution with automatic session resumption
|
|
- Commands open in VS Code terminal with proper WSL support
|
|
- Visual feedback and user guidance for terminal interaction
|
|
|
|
#### **Enhanced Model Configuration**
|
|
- Updated "Default" model to show "User configured" instead of "Smart allocation"
|
|
- Added "Configure" button next to Default model option
|
|
- Configure button opens terminal with `claude /model` command for easy model setup
|
|
- Session-aware model configuration with current session context
|
|
- Clear user messaging about terminal interaction and return workflow
|
|
|
|
#### **Advanced Settings Management**
|
|
- Restructured settings with better organization and grouping
|
|
- Added "Coming Soon" sections for Custom Slash Commands and MCP Configuration
|
|
- Consistent UI patterns across all settings sections
|
|
- Clean, professional design matching VS Code aesthetics
|
|
|
|
### 🎨 **UI/UX Improvements**
|
|
- Smaller, more subtle mode toggle switches (reduced by 2px)
|
|
- Clickable text labels for all toggle switches
|
|
- Improved slider positioning and label alignment
|
|
- Sober, clean interface design without unnecessary colors or decorations
|
|
- Better visual hierarchy in settings modal
|
|
- Responsive design improvements
|
|
|
|
### 🔧 **Technical Enhancements**
|
|
- Session ID now passed to all slash commands for context awareness
|
|
- Improved message handling between frontend and backend
|
|
- Better error handling and user feedback
|
|
- Enhanced WSL compatibility for all new features
|
|
- Modular code structure for easier maintenance
|
|
|
|
### 📚 **Documentation Updates**
|
|
- Updated keyboard shortcuts documentation
|
|
- Enhanced configuration examples
|
|
- Improved feature descriptions and usage examples
|
|
|
|
## [0.0.9] - 2025-06-19
|
|
|
|
### Added
|
|
- Model selector dropdown in the chat interface
|
|
- Located to the left of the tools selector at the bottom of the chat box
|
|
- Supports three models: Opus (most capable), Sonnet (balanced), and Default (smart allocation)
|
|
- Model preference is saved and persists across sessions
|
|
- Validates model selection to prevent invalid model names
|
|
- Shows confirmation message when switching models
|
|
|
|
### Changed
|
|
- Reorganized input controls into left-controls and right-controls sections for better layout
|
|
- Claude command now includes the --model flag when a specific model is selected
|
|
|
|
## [0.0.8] - 2025-06-19
|
|
|
|
### Added
|
|
- WSL (Windows Subsystem for Linux) configuration support
|
|
- New setting: `claudeCodeChat.wsl.enabled` to enable WSL integration
|
|
- New setting: `claudeCodeChat.wsl.distro` to specify WSL distribution
|
|
- New setting: `claudeCodeChat.wsl.nodePath` to configure Node.js path in WSL
|
|
- New setting: `claudeCodeChat.wsl.claudePath` to configure Claude path in WSL
|
|
- Automatic detection of execution environment (native vs WSL)
|
|
- WSL support for Claude login terminal command
|
|
|
|
### Changed
|
|
- Claude execution now supports both native and WSL environments based on configuration
|
|
- Terminal login command adapts to WSL settings when enabled
|
|
|
|
## [0.0.7] - Previous Release
|
|
|
|
- Initial release |