Install
$ agentstack add mcp-lkbaba-claude-code-chatinwindows ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Claude Code GUI / ChatUI for VS Code
Claude Code ChatUI is a full-featured GUI extension for Claude Code CLI in VS Code and Cursor. Works natively on Windows (no WSL required) and macOS. Supports both official Anthropic accounts and third-party API providers with GUI configuration. Key features: MCP plugin management, Skills system, Hooks system, real-time token & cost tracking, AI Assistant integration (Gemini + Grok), and multi-language UI (English, 简体中文, 繁體中文). Actively maintained with 236+ commits.
🌐 Languages: English | [简体中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md)
> Note: This extension automates the official claude interactive CLI to provide a GUI. It does not modify authentication, proxy network traffic, or touch your credentials — it reuses your already-logged-in subscription. Please review and comply with Anthropic's Terms of Service.
Why This Extension?
| Feature | Official Claude Code | Claude Code GUI (MaheshKok) | Claude Code UI (AuraTech) | This Project | |---------|---------------------|---------------------------|--------------------------|-----------------| | Windows No WSL | ❌ Requires setup | ❌ Requires CLI config | WSL path mapping | ✅ Native | | Third-party API GUI Config | ❌ | ❌ | ❌ | ✅ Exclusive | | MCP Plugin GUI Management | CLI-level only | ✅ MCP Hub | ✅ MCP commands | ✅ GUI config (Global + Workspace) | | Skills System GUI | CLI-level only | ❌ | ❌ | ✅ Exclusive | | Hooks System GUI | CLI-level only | ❌ | ❌ | ✅ Exclusive | | AI Assistant Integration | ❌ | ❌ | ❌ | ✅ Gemini + Grok | | Real-time Token Tracking | ❌ | ✅ Usage meter | ✅ Cost tracking | ✅ | | macOS Support | ✅ | ✅ | ✅ | ✅ | | npm + Native Installer | ✅ | ✅ | ✅ | ✅ | | Actively Maintained | ✅ | ✅ | ✅ | ✅ (236+ commits) |
📸 Preview
[](docs/assets/ui.png)
📅 Recent Updates
| Version | Date | Highlights | |---------|------|------------| | v5.0.8 | 2026-06-15 | Enables the 1M-token context window by default — long sessions were silently crashing into Prompt is too long at ~165K because the launched model never carried the 1M window (bare --model claude-opus-4-8 = 200K) while the progress bar could show a 1M denominator, and with auto-compaction off there was no safety net. The driver now appends the [1m] suffix for 1M-capable models (Opus 4.6/4.7/4.8, Sonnet 4.6) at spawn and on mid-session /model switch. Toggle via enable1MContext. ⚠️ 1M is in-subscription only on Max/Team/Enterprise + Opus | | v5.0.7 | 2026-06-16 | Fixes the extension failing to run on a freshly-installed machine — a new machine shows two startup gates in sequence (workspace-trust + bypass-permissions warning) but the driver only answered one, so the first prompt's Enter hit the second dialog's "No, exit" and claude exited code 1 in a re-spawn loop. Both gate types are now tracked independently and scanned for ~25s post-spawn | | v5.0.6 | 2026-06-15 | Fixes editing a skill/hook/any .claude/ file freezing the turn ~69s (the CLI's self-edit confirmation menu, unanswered by the PTY driver under bypassPermissions, is now auto-accepted session-wide). Disables the framework's lossy auto-compaction by default (DISABLE_AUTO_COMPACT=1; manual /compact still works). Restores inline rendering of subagent (Agent/Task) tool steps without double-counting their tokens. Raises the Context Window default 200K→400K | | v5.0.5 | 2026-06-15 | Fixes messages being silently swallowed after a /compact or a session switch (the provider-wide compact-mode flag now resets on every session switch, and a send during compaction is visibly rejected instead of lost). Also shrinks the oversized QUESTION option-card title (.ask-question-header 14px→13px) so it no longer towers over the conversation badges | | v5.0.4 | 2026-06-15 | Packaging fix — the v5.0.3 VSIX shipped with zero node_modules (--no-dependencies dropped the native node-pty runtime), so it installed but the chat panel wouldn't open. node-pty's win32-x64 binaries are now bundled correctly | | v5.0.3 | 2026-06-15 | Interactive option cards — Claude emits a fenced `ask block (native AskUserQuestion disabled) that renders as clickable single/multi-select cards; clicking injects the chosen label as the next turn. Fixes the "still processing" lock when an ask block follows a tool call (stop_reason: null), plus card layout/typography polish | | v5.0.2 | 2026-06-14 | First-turn image vision via staged PTY injection — pasted/selected images arrive as a native [Image #N] multimodal attachment (0 Read, no "I don't see an image"); idempotent under the reinject watchdog; graceful degrade to Read if no chip; CJK/space paths + multi-image verified | | v5.0.1 | 2026-06-13 | PTY interactive driver replaces claude -p (usage bills against your subscription); output read from transcript JSONL; permission mode setting; optional Stop hook completion fallback; win32-x64 only | | v4.1.3 | 2026-06-02 | Claude Opus 4.8 model support; Opus 4.7 demoted to Previous; Opus 4.5 hidden from UI (kept for history & pricing) | | v4.1.2 | 2026-05-18 | Security: npm audit 23→5 vulns; tsconfig strict checks (noImplicitReturns, noUnusedParameters); code dedup: unified escapeHtml, centralized MODELDISPLAYNAMES, generic openModal/closeModal | | v4.1.1 | 2026-04-21 | Gemini Vertex AI ADC mode; MCP env backfill fix (APPDATA/PATH/proxy); Windows node stdio wrapper fix; hierarchical auth UI | | v4.1.0 | 2026-04-16 | Opus 4.7 model support; xHigh thinking intensity; /ultrareview command; Compute Mode restore bug fix | | v4.0.10 | 2026-04-13 | Cursor history crash fix; history panel XSS fix | | v4.0.9 | 2026-04-02 | Project metadata & README rewrite for AI search discoverability | | v4.0.8 | 2026-04-02 | Codex MCP template, CLAUDE.md conditional injection | | v4.0.7 | 2026-04-02 | Stream parser upgrade: 6 bug fixes, new CLI message types | | v4.0.5 | 2026-03-30 | AI Assistant Panel: Grok + Vertex AI support; macOS scroll fix | | v4.0.2 | 2026-03-28 | Hooks GUI management panel with 26 event types, 4 hook types, 5 templates | | v3.1.9 | 2026-03-29 | CSP security policy, XSS fixes, Windows orphan process cleanup | | v3.1.8 | 2026-03-12 | Grok MCP template, default model → Sonnet 4.6, cost bubble dedup | | v3.1.7 | 2026-02-18 | Claude Sonnet 4.6 model support, Compute Mode upgrade | | v3.1.4 | 2026-01-29 | macOS platform support added | | v3.1.0 | 2026-01-13 | Skills panel: copy, enable/disable toggle, plugin protection | | v2.1.0 | — | MCP integration, HTTP/SSE transport, server templates | | v2.0.0 | — | Complete UI redesign, statistics dashboard, custom API endpoint |
See [CHANGELOG.md](./CHANGELOG.md) for full details.
🚀 Quick Start
Step 1: Environment Setup
- Install Git for Windows (includes Git Bash)
- Install Node.js (LTS version recommended, ≥ 18)
- Open PowerShell as Administrator and set environment variable:
setx SHELL "C:\Program Files\Git\bin\bash.exe"
- Restart your computer (required for changes to take effect)
Step 2: Install Claude Code CLI
After restarting, open a new terminal window:
npm install -g @anthropic-ai/claude-code
> ⚠️ VPN Users: Please ensure TUN mode is enabled throughout the installation and usage process, otherwise you may not be able to connect to Claude services.
Step 3: Log in to Claude Code
Using Official Account
claude
A browser window will open for authorization. Log in and copy the token back to the terminal.
Using 🔑 Third-Party API
If you're using a third-party API, configure it in the extension:
- Press
Ctrl+Shift+Cto open the chat interface - Click the settings button ⚙️ in the top right corner
- Check "Use Custom API Endpoint"
- Enter your API key in the API Key field (e.g.,
sk-ant-xxxxxxxxxx) - Enter the API address in the Base URL field (e.g.,
https://v3.codesome.cn) - Settings are saved automatically. "Settings updated successfully" confirms the configuration
[](docs/assets/api.png)
Switch back to official account: Uncheck "Use Custom API Endpoint".
> 💡 Tips: > > - If the API key is incorrect, chat will show "processing" until timeout > - You can switch between official account and third-party API anytime via the toggle
> 💡 This extension supports various third-party API services (e.g., v3.codesome.cn, openrouter.ai). Please consult your API provider for the specific URL.
Step 4: Install the Extension
✨ Method 1: VS Code Marketplace (Recommended)
- Open VS Code or Cursor
- Press
Ctrl+Shift+Xto open Extensions - Search for
Claude-Code ChatUIorlkbaba - Click Install
Direct Link: ➡️ VS Code Marketplace
📦 Method 2: GitHub Release Download
- 🔗 Go to Releases page
- Download the
.vsixfile - In VS Code, press
Ctrl+Shift+P, select "Extensions: Install from VSIX..."
🛠️ Method 3: Build from Source
git clone https://github.com/LKbaba/Claude-code-ChatInWindows.git
cd Claude-code-ChatInWindows
npm install
npm run package
# The generated .vsix file is in the project root, install using Method 2
Step 5: Start Using
- Open Chat Interface: Press
Ctrl+Shift+C - File Explorer Icon: Click the icon next to the new folder button
❓ FAQ
Q: Getting "No suitable shell found" error?
- Make sure Git for Windows is installed
- Run as administrator:
setx SHELL "C:\Program Files\Git\bin\bash.exe" - Restart your computer (required for changes to take effect)
If the problem persists, try:
- Open system environment variables (Win + X → System → Advanced system settings → Environment Variables)
- Ensure PATH contains
C:\Program Files\Git\cmd - Restart your computer
Q: Third-party API configured but chat not responding?
Claude Code CLI sometimes needs to be initialized in the command line first. Run in PowerShell:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
$Env:ANTHROPIC_API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
$Env:ANTHROPIC_BASE_URL = "https://v3.codesome.cn"
claude
If the problem persists, try updating Claude Code CLI:
npm install -g @anthropic-ai/claude-code@latest
Q: Third-party API stops working after computer restart?
Environment variables $Env:ANTHROPIC_API_KEY and $Env:ANTHROPIC_BASE_URL are temporary and will be lost after restart.
Two solutions:
Option 1: Reset after each restart
$Env:ANTHROPIC_API_KEY = "your API Key"
$Env:ANTHROPIC_BASE_URL = "https://v3.codesome.cn"
claude
Option 2: Set as permanent environment variables (run as administrator)
setx ANTHROPIC_API_KEY "your API Key"
setx ANTHROPIC_BASE_URL "https://v3.codesome.cn"
# Restart computer for changes to take effect
Q: Getting "rg: command not found" error?
This is optional and doesn't affect normal usage. If you want to install ripgrep for better search performance:
# In Git Bash:
curl -L https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep-14.1.0-x86_64-pc-windows-msvc.zip -o ripgrep.zip
unzip ripgrep.zip && mkdir -p ~/bin
cp ripgrep-14.1.0-x86_64-pc-windows-msvc/rg.exe ~/bin/
echo 'alias rg="~/bin/rg"' >> ~/.bashrc && source ~/.bashrc
Note: The extension's built-in Grep tool works fine without ripgrep.
Q: Getting "File has been unexpectedly modified" error when Claude edits files?
This error occurs when VS Code/Cursor's auto-save feature modifies files between Claude's Read and Edit operations.
Solution: Disable auto-save
Add this to your VS Code/Cursor settings (settings.json):
"files.autoSave": "off"
Or use a less aggressive option:
"files.autoSave": "onWindowChange"
Why this happens:
- Claude reads a file and stores its content hash
- Auto-save triggers and modifies the file on disk
- Claude tries to edit the file, but the hash no longer matches
- Claude reports "File has been unexpectedly modified"
Other settings that can cause this issue:
editor.formatOnSave: true- Formatters modify file content on savefiles.trimTrailingWhitespace: true- Removes trailing spaces on savefiles.insertFinalNewline: true- Adds newline at end of file
If you need these features, consider disabling them temporarily when using Claude Code.
🤝 How to Contribute
- Fork the project and create a feature branch
- Focus on a single new feature or improvement
- Test thoroughly on a real Windows environment
- Submit a Pull Request with clear description
Welcome all AI engineers, developers, and geeks on Windows!
📝 License
This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.
🙏 Acknowledgments
- andrepimenta – Original project claude-code-chat
- Mrasxieyang (linux.do community) – Provided the core solution for native Windows installation
- Anthropic – For creating the powerful Claude and Claude Code
- All developers contributing to the Claude Code ecosystem ❤️
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: LKbaba
- Source: LKbaba/Claude-code-ChatInWindows
- License: MIT
- Homepage: https://marketplace.visualstudio.com/items?itemName=lkbaba.claude-code-chatui
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.