Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Cursor-Style Chat for ClaudeNew to Visual Studio Code? Get it now.
Cursor-Style Chat for Claude

Cursor-Style Chat for Claude

Viet nguyen cong

| (0) | Free
A Cursor-inspired chat UI for the Claude Agent SDK, running locally in VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cursor-Style Chat for Claude

A chat UI for the Claude Agent SDK — the model, tools, and permission system are the SDK's own. Built with a developer-first mindset: the goal was to bring some of the editing-experience ideas Cursor popularized to Claude, rather than a typical chatbot sidebar — inline diffs and per-file undo instead of opaque edits, edit-and-resend and fork instead of a linear thread you can't rewind, and keyboard-driven file/terminal references instead of copy-pasting context by hand. Runs locally inside VS Code, authenticated via your Claude subscription (no API key required).

Features

  • Persistent per-tab sessions. Each chat tab keeps one long-lived agent process alive across turns, so background tasks can finish and notify you even after a turn ends.
  • Multi-tab conversations. Run several independent sessions side by side, each resuming its own transcript across reloads.
  • Inline diff, undo & review. File edits show as reviewable diffs with per-file undo, backed by pre-edit snapshots.
  • Fork & edit-and-resend. Branch a conversation from any point, or edit an earlier message and resend it — optionally rewinding tracked files to that point using the SDK's native checkpointing.
  • File and terminal references. @mention files/directories inline (with autocomplete), or pull a terminal selection in as a reference chip.
  • Guarded tool permissions. File edits auto-approve only inside the workspace and configured directories; everything else prompts for approval.

Usage

Open the chat from the activity bar icon, or run My Claude: Focus Chat from the Command Palette.

Chatting. Type a message and send. While the agent is working, you can queue follow-up messages (drag to reorder) or attach images. Tool calls, file edits, and todo lists render as cards inline; edits show a diff with per-file undo.

Referencing code and terminal output.

  • Type @ in the composer for a caret-aware, debounced file/directory autocomplete, or drag files onto the input.
  • Select code in the editor and press Ctrl+I (Cmd+I on Mac) to insert an @path:lines reference at the caret.
  • Right-click a terminal selection and choose My Claude: Reference Terminal Selection in Chat to attach it as a removable chip (terminal output has no path to @mention, so its text rides along in the prompt).

Slash commands. /clear wipes the current tab's transcript and starts a fresh session; /model and /mcp are client-side pickers for the active model and connected MCP servers.

Tabs & history. Use the tab bar to run multiple concurrent sessions. The 🕘 button opens the history panel to browse and reopen past sessions — state persists across VS Code reloads.

Editing and forking. Click ⋮ on any of your past messages for:

  • Edit & resend from here — reload that message into the composer, edit it, and resend. You'll be asked whether to also rewind tracked files back to their state at that point in the conversation.
  • Fork conversation from here — branch the transcript up to that point into a new tab, non-destructively. Files are untouched.

Permissions. In the default mode, file edits auto-approve only inside the current workspace (and any configured additional directories); edits elsewhere and all non-edit tools (e.g. running shell commands) prompt for approval via a permission card.

Authentication. By default this runs claude login's subscription auth, same as the Claude Code CLI. If you haven't logged in that way, run My Claude: Set Anthropic API Key from the Command Palette to use an API key instead — it's stored in VS Code's encrypted secret storage, not in a settings file. Note this always takes over for new sessions once set, even if you're also logged in via claude login; run My Claude: Clear Anthropic API Key to go back to subscription auth.

Development

Requirements: VS Code 1.90+, Node.js, and a Claude subscription (logged in via the Claude Agent SDK's built-in auth — no API key needed).

npm install
npm run compile   # type-check + bundle (src/ via tsc, webview/ via esbuild)

Then press F5 in VS Code to launch the Extension Development Host. The chat view appears in the activity bar.

npm run watch   # rebuild on change
npm test        # type-check both projects + run unit tests

Architecture

See CLAUDE.md for the full design: the host/webview/SDK layering, the postMessage protocol contract, and the data-flow notes for sessions, replay, fork, and edit-and-resend. It doubles as a design doc for AI coding agents working in this repo.

Contributing

Issues and PRs are welcome. Before diving in:

  • Read CLAUDE.md first — it's the design of record for the host/webview/SDK layering and the invariants the codebase relies on (the protocol.ts contract, pure logic living in src/ with tests, the webview never touching the SDK/VS Code APIs directly). Changes that cross those layers are much more likely to get asked to rework.
  • Run npm test (type-checks both projects + unit tests) before opening a PR.
  • Keep PRs scoped — this is a small, opinionated codebase, so smaller diffs are easier to reason about than broad refactors bundled with a feature.
  • If you touch the architecture (new message types, new layer responsibilities, etc.), update CLAUDE.md in the same PR — it's expected to stay current, not just describe history.

Status

Personal project, built and used as a daily driver; expect rough edges.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft