Native code review UI for Claude Code. Annotate code in VS Code and push line-level feedback directly into a running Claude Code session via the Channels API.
demo.mp4
- Claude Code modifies files in your project
- You review the changes in VS Code and add comments on specific lines
- You click Send Review to Claude Code — your comments are formatted with code context and sent to Claude
- Claude receives structured feedback and addresses each comment
The extension auto-provisions the Claude Code integration on activation (MCP server, slash command, cleanup hook) — no manual config needed.
Channels are experimental. This extension relies on the Claude Code Channels API, which is in research preview. Claude Code must be launched with the
--dangerously-load-development-channelsflag to enable custom channels. This flag requirement will go away once Anthropic approves the channel (via marketplace review or orgallowedChannelPlugins). The VS Code extension handles all setup — there is no separate Claude Code plugin to install.
- Claude Code v2.1.80+
Note: Channels require a
claude.ailogin. API key and Anthropic Console authentication do not support channels.
-
Install the extension:
Or from the command line:
code --install-extension ETSD.agent-code-reviewer -
Start Claude Code with the review channel enabled:
claude --dangerously-load-development-channels server:code-review
server:code-reviewtells Claude Code to activate thecode-reviewMCP server (auto-registered by the extension) as a channel. The--dangerously-load-development-channelsflag is required while channels remain in research preview.
That's it. The extension auto-configures the MCP server, slash command, and cleanup hook on first activation.
If you want to build from source:
git clone https://github.com/etsd-tech/vscode-agent-reviewer.git
cd vscode-agent-reviewer
# Install channel server dependencies
cd plugin/channel && npm install && cd ../..
# Build and launch the extension
cd extension && npm install && npm run compile
code --extensionDevelopmentPath=$(pwd)Start Claude Code with the development channel enabled:
claude --dangerously-load-development-channels server:code-reviewThe status bar in VS Code (bottom-right) shows connected sessions. Once you see your session appear, you're ready to review.
- Click the
+icon in any line gutter to add a review comment - Type your feedback and press the checkmark (or Ctrl+Enter) to confirm
- Repeat across as many files and lines as needed
- Click the Send icon ($(send)) in the editor title bar to submit
- If multiple Claude Code sessions are running, pick the target from the dropdown
- Claude receives your review and addresses each comment
Click the Trash icon in the editor title bar to discard all pending comments without submitting.
Each Claude Code session with the channel enabled registers itself in a shared session registry. The extension discovers all alive sessions via health checks and lets you pick which one to send to.
The session picker shows:
- Project name (derived from the working directory)
- Start time (to distinguish multiple sessions in the same project)
- Port and full path for disambiguation
Claude Code session names (
--name//rename) are not yet exposed to MCP servers. When that lands, the picker will show real session names automatically.
| Setting | Default | Description |
|---|---|---|
vscodeReviewer.basePort |
47123 |
Starting port for session discovery |
Three components:
- MCP Channel Server (
plugin/channel/server.ts) — Bun process spawned by Claude Code. Binds an HTTP port, receives review POSTs from VS Code, and pushes them as channel events into the Claude Code session. - VS Code Extension (
extension/) — Provides native comment UI viavscode.comments. Collects annotations, formats them with code context, and POSTs to the active channel server. - Claude Code Plugin (
plugin/) — Packages the channel server with hooks and commands. Auto-provisioned by the extension into~/.claude/.
Each channel server writes its entry (port, PID, cwd, name, start time) to /tmp/code-review-sessions.json. The extension health-checks registered ports before showing the picker, pruning any dead entries. The registry is cleared automatically on reboot.
- Channels API is in research preview (Claude Code v2.1.80+)
- Requires
claude.ailogin (not API key / Console auth) - Team/Enterprise orgs must enable
channelsEnabledin managed settings - Development channels require
--dangerously-load-development-channelsuntil submitted to the Anthropic marketplace
