Show HN: Claude Code for Visual Studio (native diff with accept/reject) (github.com)
It implements the same protocol the official plugins use, so the Claude CLI connects to it automatically. You don't configure anything, just install the extension and click Launch.
The main thing it adds over running Claude in a terminal is that edits open in Visual Studio's native diff viewer instead of auto-applying or prompting you in the terminal. You click Accept or Reject right there. You can also reject with a reason, and Claude will take another pass.
It also shares your compiler errors (C# and C++) and your current selection with the CLI automatically, so Claude has context without you having to copy-paste anything.
A few other things: - There's a dockable panel with connection status and token/cost stats for the session - A "run wild" toggle to auto-accept edits without opening the diff Works with the existing claude CLI, no model calls of its own
Marketplace: https://marketplace.visualstudio.com/items?itemName=firish.b...
9 comments
[ 125 ms ] story [ 67.6 ms ] threadThe Claude IDE protocol is undocumented. I reverse-engineered it from the official plugins' WebSocket traffic. For anyone who's built on an undocumented protocol like this, is there a reliable way to handle contract drift when there's no guaranteed spec to code against?
https://marketplace.visualstudio.com/items?itemName=anthropi...
The biggest features are the ability to view diffs in the IDE instead of the CLI and sharing Roslyn analyzer compiler errors and warnings to the CLI with file and line/char span information to help with debugging.
There's a short walkthrough in the README where it catches a bug that never shows up in the output, by watching a counter fail to reset as it steps through a loop.