# claude-code-chat ships its own MCP server and a YOLO switch

> claude-code-chat is a VS Code and Cursor extension that wraps Claude Code in a chat panel, with git-backed checkpoints, an inline diff viewer, a marketplace that installs MCP servers with pre-filled configuration, and a model picker that reaches 150 or more models through a broker. Its manifest and its documentation disagree about the minimum editor version.

**andrepimenta/claude-code-chat** — Beautiful Claude Code Chat Interface for VS Code

- Repository: https://github.com/andrepimenta/claude-code-chat
- Website: https://marketplace.visualstudio.com/items?itemName=AndrePimenta.claude-code-chat
- Stars: 1,085 · Forks: 166
- Language: JavaScript
- License: NOASSERTION
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/andrepimenta-claude-code-chat

## The manifest needs 1.94, the prerequisites say 1.80

The extension manifest and the documentation state different minimum versions. In the manifest:

```json
"vscode": "^1.94.0"
```

while the getting started prerequisites ask for VS Code 1.80 or later, or Cursor, with the latest version recommended. Since the manifest is what the editor enforces, the practical floor is 1.94, and anyone on 1.80 to 1.93 will find the extension refusing to install while the page says it should work.

The other prerequisite is the Claude Code CLI, which is the point of the whole project: this is a front end to an existing command line tool rather than a standalone agent, and it claims on its front page to have been built by Claude Code for Claude Code.

The manifest is otherwise conventional and unusually chatty for a marketplace listing. The package is claude-code-chat, displayed as Chat for Claude Code, published by AndrePimenta, with the main entry point at the compiled output and activation on startup finished, meaning the extension loads on every editor start whether or not you use it. A single command opens the chat, bound to Ctrl+Shift+C and Cmd+Shift+C on macOS, and the same command is contributed to the command palette and to the editor context menu under a claude group when the editor has focus.

## Checkpoints are git commits in your own repository

The recovery story is built on git rather than on an editor-internal snapshot. The feature list describes an automatic Git-based backup system for safe experimentation, checkpoints you can browse from any conversation, and the ability to instantly undo changes and restore code to any previous state. Conversation saving and restoration is automatic, alongside real-time cost and token tracking and session statistics.

That design has an obvious benefit and an obvious cost. The benefit is that a rollback is a real commit, so it survives a crash and can be inspected with tools you already trust. The cost is that the extension writes history into the repository you are working in, and nothing in the visible documentation says whether those commits land on a branch, on a detached head, or as stash entries, or how they are ever cleaned up.

The diff view sits on top of the same data. Full diffs are shown inline for Edit, MultiEdit and Write messages, with a button that opens the editor's own side-by-side diff, truncation with an expand control for long changes, syntax highlighting and colour-coded additions and deletions.

## One-click install writes .mcp.json with your env vars

The marketplace section, marked new in version 2.0, is the part with the widest blast radius. It offers more than thirty featured MCP servers, names GitHub, Slack, Stripe and Notion among them, and searches two registries at once: an add-mcp curated registry and the official Anthropic one, with relevance ranking across both. Skills come from skills.sh and can be installed at project or global scope, and plugins are browsable as well.

The install destinations are named explicitly. MCP servers go to .mcp.json for a project or to ~/.claude.json for the user, and skills go to .claude/skills/. The one-click install is described as pre-filled configuration including environment variables, headers and OAuth authentication, which means the extension can populate a server definition with credentials on your behalf and then hand it to an agent that will execute it.

That is a sensible interface for a tool that installs tools, and it is also the one feature here that deserves a deliberate policy decision. An MCP server is a process the agent can call, installed from a list curated by someone else, with secrets filled in for you. Nothing in the visible documentation describes a confirmation step, a review of the filled configuration, or a way to see what changed in those two files afterwards.

## The repository ships its own MCP server

The extension is not only a client. The repository root contains a directory named claude-code-chat-permissions-mcp/ and a file called mcp-permissions.js, alongside a .claude/ directory.

So installing this extension adds a second MCP surface of its own, related to the permission system, and the source of that surface sits in the same repository as the chat panel rather than being fetched at install time. That is the preferable arrangement for review, since you can read it, but it does mean the extension has a server component and not just a UI.

The permission system itself has three levels. Interactive dialogs show detailed tool information with command previews. An always-allow option does smart command pattern matching for common tools, with npm, git and docker named as examples, and permissions can be added and removed from the interface while a session runs. Above that sits YOLO mode, described as skipping all permission checks for power users, with workspace-level granular control as the middle setting.

The rest of the tool surface is presentational: a dashboard of available tools, real-time execution with formatted results, and a stop button that replaces the send button while a request is in flight.

## 150+ models, and a provider that is not Anthropic

The model picker is where a chat interface for one tool stops being only that. Quick buttons sit above the text box for GPT, Gemini, MiniMax, Kimi, GLM and DeepSeek, alongside the Claude options: Opus described as the most capable for complex tasks, Sonnet as balanced, and a default that follows your configured model setting. The preference persists across sessions.

Underneath that is a line item called 150+ OpenCredits models, described as browsable and switchable, with an explicit provider choice for Claude models between OpenCredits and Anthropic. So the extension can route a conversation either to Anthropic or to a third-party broker that fronts a wide catalogue, and the choice is a setting inside the panel rather than something you configure at the account level.

For a user this is convenient and for a reviewer it is the detail that matters. Traffic through a broker is traffic through someone else's endpoint, and the README says nothing about what that endpoint sees. The same applies to the in-app support button added in version 2.0, which sends feedback from the status bar and offers an optional email address for follow-up.

## An image path in a message is uploaded without asking

Image handling has four entry points and one behaviour that deserves attention. You can paste an image and get a thumbnail preview before sending, pick one through the editor's native file picker, see the attachments in a preview strip above the text box with remove buttons, and attach several at once.

The fifth behaviour is automatic: image paths inside messages are detected and sent as base64. Nothing in the visible text says a confirmation appears, so a path typed into the conversation box becomes an upload as part of sending the message.

That is convenient for the common case, where you meant to send the file, and wrong for the case where a path is a reference to something on your machine rather than an attachment. Combined with the file integration layer, where typing at-sign searches workspace files to reference them, a chat panel has a lot of routes by which local paths become requests.

The remaining interaction surfaces are the ones you would expect from an editor extension: a sidebar panel with state kept across switches, an activity bar entry, native theming, a status bar, and slash commands through a modal that lists more than twenty built-ins including /agents, /cost, /config, /memory and /review, with custom commands executed in the current session context and a terminal fallback that works under WSL.

## Nine marketplace categories, and the scaffold is still in the tree

The manifest declares nine categories: Other, AI, Chat, Machine Learning, Snippets, Programming Languages, Education, Testing, Formatters and Linters. For a chat panel, the last four are a deliberate choice about how the extension is discovered in the marketplace, and they are the kind of listing decision that costs a reviewer a minute of attention.

The repository is a working extension rather than a clean template, and the leftovers are visible. vsc-extension-quickstart.md, the sample document the official extension generator creates, is still at the root next to a TEST_SETTINGS.md, an eslint config, a TypeScript config and both a Vitest and a WebdriverIO configuration for end-to-end runs. There is also a backup.sh script, two icon files, a social preview image, and .vscodeignore alongside the test harness files.

Licensing is the one loose end. The manifest says SEE LICENSE IN LICENSE, which points at a LICENSE file at the root, while the repository's license metadata field is left unset rather than naming a licence. Compare that with the release tags, which are not consistent either: v2.3.0 from 2026-09-18, v2.1.0 from 2026-06-07, and 2.0.6 from 2026-04-23, the last one without the v prefix. The extension is popular, with 1084 stars and 166 forks, and it carries 179 open issues.

## Conclusion

claude-code-chat is worth installing if you want Claude Code in a panel with a diff viewer and a recoverable history, and you are already using the Claude Code CLI, because the extension is a front end and not a substitute. Four things to check before you install it. What it commits: the checkpoint system is described as an automatic Git-based backup, so the extension writes history into your repository, and you should decide where those commits land. What it can install: the marketplace writes MCP server configuration into .mcp.json or ~/.claude.json with environment variables, headers and OAuth values pre-filled, which is code execution arriving through a chat panel. What it turns off: YOLO mode skips permission checks entirely, and the always-allow patterns cover common tools by name. And what it can send: a file path in a message is detected and uploaded as base64 without a prompt. None of that is disqualifying, but all of it is a decision rather than a default.

## FAQ

### How do I open the chat in claude-code-chat?

A single contributed command opens it, bound to Ctrl+Shift+C and Cmd+Shift+C on macOS, and it also appears in the command palette and in the editor context menu when the editor has focus. The extension activates when startup finishes.

### What version of VS Code does claude-code-chat need?

The manifest requires VS Code 1.94 or newer, while the prerequisites section says 1.80 or later, or Cursor. The manifest is what the editor enforces, so 1.94 is the effective floor.

### Where does claude-code-chat install MCP servers?

Project scope goes to .mcp.json and user scope to ~/.claude.json, with skills installed to .claude/skills/. The one-click install is described as pre-filled with environment variables, headers and OAuth authentication.

### Can claude-code-chat use models other than Claude?

Yes. Quick buttons select GPT, Gemini, MiniMax, Kimi, GLM or DeepSeek, the model list advertises 150+ models through a provider called OpenCredits, and for Claude models you choose between OpenCredits and Anthropic.

### What does YOLO mode do in claude-code-chat?

It skips all permission checks. The levels below it are interactive dialogs with command previews, smart always-allow pattern matching for common tools such as npm, git and docker, and granular workspace permissions that can be changed from the interface while a session runs.

## Sources

- [andrepimenta/claude-code-chat on GitHub](https://github.com/andrepimenta/claude-code-chat)
- [Issues](https://github.com/andrepimenta/claude-code-chat/issues)
- [Project website](https://marketplace.visualstudio.com/items?itemName=AndrePimenta.claude-code-chat)
- [README](https://github.com/andrepimenta/claude-code-chat/blob/main/README.md)
- [Releases](https://github.com/andrepimenta/claude-code-chat/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/andrepimenta-claude-code-chat
