Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"enabledPlugins": {
"frontend-design@claude-plugins-official": true
}
}
4 changes: 3 additions & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"Bash(grep:*)",
"Bash(sed:*)",
"Bash(rg:*)",
"Bash(npx tsc:*)"
"Bash(npx tsc:*)",
"Bash(ls:*)",
"Bash(npx vsce package)"
],
"deny": []
},
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ dist
node_modules
.vscode-test/
*.vsix
backup
backup
backup-files
.claude/settings.local.json
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@
"out": true // set this to false to include "out" folder in search results
},
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
"typescript.tsc.autoDetect": "off"
"typescript.tsc.autoDetect": "off",
"claudeCodeChat.permissions.yoloMode": true,
"claudeCodeChat.notifications.windowsSound": true,
"claudeCodeChat.notifications.customSoundPath": "C:/Windows/Media/windsurfCascadeDone.wav"
}
4 changes: 3 additions & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ backup
claude-code-chat-permissions-mcp/**
node_modules
mcp-permissions.js
build
backup-files
build
**/test/**
74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,80 @@ All notable changes to the "claude-code-chat" extension will be documented in th

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
Expand Down
88 changes: 49 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
[![Claude Code](https://img.shields.io/badge/Powered%20by-Claude%20Code-orange?style=for-the-badge)](https://claude.ai/code)
[![TypeScript](https://img.shields.io/badge/Built%20with-TypeScript-3178C6?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)

🔔 Notify Sound — Optional notification sound for incoming Claude responses (configurable in extension settings).

> **No more terminal commands. Chat with Claude Code through a beautiful, intuitive interface right inside VS Code.**

Ditch the command line and experience Claude Code like never before. This extension brings a stunning chat interface directly into your editor, making AI assistance accessible, visual, and enjoyable.
Expand All @@ -15,13 +17,12 @@ Ditch the command line and experience Claude Code like never before. This extens
## ✨ **Why Choose Claude Code Chat?**

🖥️ **No Terminal Required** - Beautiful chat interface replaces command-line interactions
⏪ **Restore Checkpoints** - Undo changes and restore code to any previous state
🔌 **MCP Server Support** - Complete Model Context Protocol server management
⏪ **Restore Checkpoints** - Undo changes and restore code to any previous state
🔌 **MCP, Skills & Plugins** - Browse, search, and install from curated marketplaces
💾 **Conversation History** - Automatic conversation history and session management
🎨 **VS Code Native** - Claude Code integrated directly into VS Code with native theming and sidebar support
🧠 **Plan and Thinking modes** - Plan First and configurable Thinking modes for better results
⚡ **Smart File/Image Context and Custom Commands** - Reference any file, paste images or screenshots and create custom commands
🤖 **Model Selection** - Choose between Opus, Sonnet, or Default based on your needs
🎨 **VS Code & Cursor** - Works in VS Code, Cursor, and other compatible editors
🧠 **Plan and Ultrathink modes** - Plan First and Ultrathink modes
⚡ **Smart Context** - Reference files, paste images, and create custom commands
🐧 **Windows/WSL Support** - Full native Windows and WSL support

![Claude Code Chat 1 0 0](https://github.com/user-attachments/assets/5954a74c-eff7-4205-8482-6a1c9de6e102)
Expand All @@ -47,66 +48,67 @@ Ditch the command line and experience Claude Code like never before. This extens
- Real-time cost and token tracking
- Session statistics and performance metrics

### 📝 **Inline Diff Viewer** ⭐ **NEW IN V1.1**
### 📝 **Inline Diff Viewer**
- **Full Diff Display** - See complete file changes directly in Edit, MultiEdit, and Write messages
- **Open in VS Code Diff** - One-click button to open VS Code's native side-by-side diff editor
- **Smart Truncation** - Long diffs are truncated with an expand button for better readability
- **Syntax Highlighting** - Proper code highlighting in diff views
- **Visual Change Indicators** - Clear green/red highlighting for additions and deletions

### 🔌 **MCP Server Management** ⭐ **NEW IN V1.0**
- **Popular Servers Gallery** - One-click installation of common MCP servers
- **Custom Server Creation** - Build and configure your own MCP servers
- **Server Management** - Edit, delete, enable/disable servers through UI
- **Automatic Integration** - Seamless permissions and tool integration
- **Cross-platform Support** - Full WSL compatibility with path conversion

### 🔒 **Advanced Permissions System** ⭐ **NEW IN V1.0**
### 🔌 **MCP, Skills & Plugins Marketplace** ⭐ **NEW IN V2.0**
- **MCP Servers** - Browse 30+ featured servers (GitHub, Slack, Stripe, Notion, etc.) with dual registry search
- **Skills** - Browse and install curated skills from skills.sh with project or global scope
- **Plugins** - Browse and install plugins to extend Claude Code
- **Smart Search** - Search across add-mcp curated and official Anthropic registries with relevance ranking
- **Project or Global Install** - Install MCP servers to `.mcp.json` or `~/.claude.json`, skills to `.claude/skills/`
- **One-Click Install** - Pre-filled configuration with env vars, headers, and OAuth authentication

### 🖼️ **Image Preview & Attachments** ⭐ **NEW IN V2.0**
- **Paste Images** - Paste images with thumbnail preview before sending
- **File Picker** - Select images through VS Code's native file picker
- **Preview Strip** - See attached images above the text box with remove buttons
- **Inline Detection** - Image paths in messages are automatically detected and sent as base64
- **Multiple Images** - Attach multiple images to a single message

### 🔒 **Advanced Permissions System**
- **Interactive Permission Dialogs** - Detailed tool information with command previews
- **Always Allow Functionality** - Smart command pattern matching for common tools (npm, git, docker)
- **YOLO Mode** - Skip all permission checks for power users
- **Workspace Permissions** - Granular control over what tools can execute
- **Real-time Permission Management** - Add/remove permissions through intuitive UI

### 🖼️ **Image & Clipboard Support** ⭐ **NEW IN V1.0**
- **Drag & Drop Images** - Simply drag images directly into the chat
- **Clipboard Paste** - Press Ctrl+V to paste screenshots and copied images
- **Multiple Image Selection** - Choose multiple images through VS Code's file picker
- **Organized Storage** - Automatic organization in `.claude/claude-code-chat-images/`
- **Format Support** - PNG, JPG, JPEG, GIF, SVG, WebP, BMP formats

### 📱 **Sidebar Integration** ⭐ **NEW IN V1.0**
### 📱 **Sidebar Integration**
- **Native VS Code Sidebar** - Full chat functionality in the sidebar panel
- **Smart Panel Management** - Automatic switching between main and sidebar views
- **Persistent Sessions** - State maintained across panel switches
- **Activity Bar Integration** - Quick access from VS Code's activity bar

### 📁 **Smart File Integration**
- Type `@` to instantly search and reference workspace files
- Image attachments via file browser and copy-paste screeshots
- Image attachments via file browser and copy-paste screenshots
- Lightning-fast file search across your entire project
- Seamless context preservation for multi-file discussions

### 🛠️ **Tool Management**
- Visual dashboard showing all available Claude Code tools
- Real-time tool execution with formatted results
- Process control - start, stop, and monitor operations
- Inline stop button replaces send during processing
- Smart permission system for secure tool execution

### 🎨 **VS Code Integration**
- Native theming that matches your editor
- Status bar integration with connection status
- Status bar with support button
- Activity bar panel for quick access
- Responsive design for any screen size

### 🤖 **Model Selection**
- **Quick Buttons** - GPT, Gemini, MiniMax, Kimi, GLM, DeepSeek above the text box
- **Opus** - Most capable model for complex tasks requiring deep reasoning
- **Sonnet** - Balanced model offering great performance for most use cases
- **Default** - Uses your configured model setting
- Model preference persists across sessions and is saved automatically
- Easy switching via dropdown selector in the chat interface
- Visual confirmation when switching between models
- One-click model configuration through integrated terminal
- **150+ OpenCredits Models** - Browse and switch to any available model
- Model preference persists across sessions
- Provider choice (OpenCredits vs Anthropic) for Claude models

### ⚡ **Slash Commands Integration**
- **Slash Commands Modal** - Type "/" to access all Claude Code commands instantly
Expand All @@ -122,14 +124,20 @@ Ditch the command line and experience Claude Code like never before. This extens
- **Intelligent Prompting** - Different prompts based on selected thinking intensity
- **Token Awareness** - Higher thinking levels consume more tokens but provide deeper reasoning

### 💬 **Support & Feedback** ⭐ **NEW IN V2.0**
- **In-App Support** - Click "Support" in the status bar to send feedback
- **Bug Reports & Feature Requests** - Submit directly from the extension
- **Optional Email** - Include your email for follow-up

---

## 🚀 **Getting Started**

### Prerequisites
- **VS Code 1.80+** - Latest version recommended
- **VS Code 1.80+** or **Cursor** - Latest version recommended
- **Claude Code CLI** - [Install from Anthropic](https://claude.ai/code)
- **Active Claude API or subscription** - API or Pro/Max plan
- **Node.js 18+** - Required for installation

### Installation

Expand Down Expand Up @@ -251,25 +259,26 @@ Example configuration in `settings.json`:
- Type `@` followed by your search term to quickly reference files
- Use `@src/` to narrow down to specific directories
- Reference multiple files in one message for cross-file analysis
- **NEW**: Copy-paste images directly into chat for visual context
- **NEW**: Paste screenshots with Ctrl+V for instant visual communication
- Paste images directly with preview thumbnails before sending
- Paste screenshots with Ctrl+V for instant visual communication

### ⚡ **Productivity Boosters**
- **Creates checkpoints automatically** before changes for safe experimentation
- **Restore instantly** if changes don't work out as expected
- **NEW**: Permission system prevents accidental tool execution
- **NEW**: YOLO mode for power users who want speed over safety
- Use the stop button to cancel long-running operations
- Permission system prevents accidental tool execution
- YOLO mode for power users who want speed over safety
- Inline stop button to cancel long-running operations
- Copy message contents to reuse Claude's responses
- Open history panel to reference previous conversations
- **NEW**: Sidebar integration for multi-panel workflow
- Sidebar integration for multi-panel workflow
- **Plan mode** and **Ultrathink** toggles above the text box

### 🎨 **Interface Customization**
- The UI automatically adapts to your VS Code theme
- Messages are color-coded: Green for you, Blue for Claude
- Hover over messages to reveal the copy button
- **NEW**: Enhanced code block rendering with syntax highlighting
- **NEW**: Copy-to-clipboard functionality for code blocks
- Enhanced code block rendering with syntax highlighting
- Copy-to-clipboard functionality for code blocks

---

Expand Down Expand Up @@ -341,6 +350,7 @@ See the [LICENSE](LICENSE) file for details.

Need help? We've got you covered:

- 💬 **In-App** - Click "Support" in the status bar to send feedback directly
- 🐛 **Issues**: [GitHub Issues](https://github.com/andrepimenta/claude-code-chat/issues)

---
Expand Down
21 changes: 21 additions & 0 deletions backup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

# Backup script for src folder

# Get the directory where the script is located
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# Create backup directory if it doesn't exist
BACKUP_DIR="$SCRIPT_DIR/backup-files"
mkdir -p "$BACKUP_DIR"

# Generate timestamp
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")

# Create backup filename
BACKUP_NAME="src-backup-$TIMESTAMP"

# Copy src folder to backup
cp -r "$SCRIPT_DIR/src" "$BACKUP_DIR/$BACKUP_NAME"

echo "Backup created: $BACKUP_DIR/$BACKUP_NAME"
2 changes: 1 addition & 1 deletion build/open-vsix/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VERSION="1.1.0"
VERSION="2.0.8"
OUTPUT_NAME="vsix-claude-code-chat-${VERSION}.vsix"

echo "Building Open VSIX version ${VERSION}..."
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading