Closes the biggest experience gap with Cursor/Cline: code changes can now be reviewed and approved entirely inside VS Code, without switching to the Web UI.
New features
- Diff Review & Inline Code Application — When the agent writes or edits files, a review card appears in the sidebar showing each changed file with +added/-removed line counts. Click Diff to open VS Code's native diff editor. Accept (keep) or Reject (safe revert via git checkout) per-file or all at once.
- Approval Workflow Integration — approval/requested events now render inline as cards with Allow once / Deny buttons. No more switching to the browser. A security allowlist restricts which tools can be approved from VS Code.
- @file Content Inlining — File references (@file:path or @file:path:L10-L20) now have their content read and inlined directly into the user message, guaranteeing the agent can see file content. Context metadata is only sent on the first prompt of a session.
- Context Menu Integration — Right-click a file in the explorer → Add to Harness Chat. Select text in the editor → right-click → Send Selection to Harness. Both use workspace-relative paths.
Bug fixes
- @file regex on Windows: negative lookahead prevents :L from being consumed as path
- Webview regex escaping in template literals
- Skip non-file documents (Output panel, Settings) in editor context
- Input clearing when only @file references are present
New modules
- src/review/ — ReviewController, ReviewStore, ReviewVirtualDocumentProvider, ReviewMaterializer (6 files)
- src/approval/ — ApprovalStore, types (2 files)