Annotaat — Review AI-generated code in one pass
How do you review your AI's work? Still chasing bugs one by one?
Annotaat lets you mark every AI error in VS Code, export your checklist, and feed it to any AI agent for a precise fix pass. Also great for PR prep, personal bookmarks, and team docs. Per-branch, offline, under 250 KB.
Select code, press Cmd+Opt+A, write your note.
Annotated code ranges highlighted in the editor.
All annotations visible in the sidebar, grouped by file.
Quick Start
- Open a workspace folder in VS Code (Annotaat needs a workspace root)
- Select code in the editor
- Press
Cmd+Opt+A (Mac) or Ctrl+Alt+A (Windows/Linux)
- Write your note in the input field at the top of the Annotaat sidebar
- Done — annotation appears in the sidebar with a highlighted range in the editor
Click any annotation card to jump to its code location.
Features
- Annotation sidebar — Dedicated webview panel showing all annotations grouped by file
- Editor highlights — Inline colored decoration on annotated code ranges
- Per-branch storage — Annotations isolated by git branch; switch branches and annotations follow
- Markdown export — Generate full report (file or clipboard) for PRs, reviews, documentation
- Filter by file — Narrow sidebar to one file's annotations
- Search — Filter annotations by file name, note text, or code snippet
- Soft-remove / restore — Mark annotations as removed instead of deleting permanently
- Edit annotation text — Modify note content after creation
- Copy as Markdown — Copy a single annotation's Markdown to clipboard
- Broken anchor detection — When annotated code moves or is deleted, the annotation is flagged
- Branch auto-reload — Detects git branch switches automatically via
.git/HEAD watcher
- Configurable decoration colors — Separate base colors for dark and light themes
- Activity bar icon — One-click access from VS Code activity bar
- Editor context menu — Right-click any selection → "Annotaat: Annotate selection"
Use Cases
| Use case |
Description |
| AI-assisted development |
Review AI output, mark errors per file and line, export as a structured checklist, and feed it to your AI agent for precise batch fixes. Stop chasing bugs one by one. |
| Code review |
Leave review notes without touching source files. Export Markdown for PR descriptions. |
| Personal notes |
Sticky notes for your workspace. Gitignore .vscode/annotations/ for private use. |
| Team documentation |
Share annotations by committing the .vscode/annotations/ folder. |
Keyboard Shortcuts
| Shortcut |
Action |
Cmd+Opt+A (Mac) |
Annotate selection |
Ctrl+Alt+A (Win/Linux) |
Annotate selection |
Settings
| Setting |
Default |
Description |
annotaat.annotations.showFileName |
true |
Show file name under annotation |
annotaat.annotations.showTimeStampForNoteCreation |
false |
Show created timestamp under annotation |
annotaat.annotations.annotationBG.enableDecoration |
true |
Enable editor highlights for annotated ranges |
annotaat.annotations.annotationBG.color.dark |
#FFFFFF |
Base hex color for annotation highlights in dark themes |
annotaat.annotations.annotationBG.color.light |
#000000 |
Base hex color for annotation highlights in light themes |
annotaat.annotations.annotationBG.showBorder |
true |
Show a 1px border around annotation highlights |
annotaat.clickBehavior |
"goto" |
Action when clicking annotation card (deprecated) |
annotaat.debug |
false |
Enable detailed debug logging to Annotaat output channel |
Commands Reference
All commands are accessible from the Annotaat sidebar view title bar or item context menus.
| Command |
ID |
Description |
| Annotate |
annotaat.annotations.annotate |
Annotate selected code |
| Refresh |
annotaat.annotations.refreshEntry |
Reload annotations from disk |
| Filter by file |
annotaat.annotations.filterByFile |
Pick a file to filter annotations |
| Clear file filter |
annotaat.annotations.clearFilter |
Remove active file filter |
| Export as Markdown |
annotaat.annotations.generateReport |
Generate full Markdown report |
| Export to Clipboard |
annotaat.annotations.exportToClipboard |
Copy full report to clipboard |
| Remove Annotation |
annotaat.annotations.removeAnnotation |
Soft-remove an annotation |
| Restore Annotation |
annotaat.annotations.restoreAnnotation |
Restore a soft-removed annotation |
| Clear Annotations |
annotaat.annotations.clearAnnotations |
Remove all annotations |
| Open Annotation |
annotaat.annotations.openNote |
Jump to annotated code |
| Copy Annotation |
annotaat.annotations.copyNote |
Copy annotation as Markdown |
| Edit Annotation |
annotaat.annotations.editNote |
Modify annotation text |
Storage
Annotations stored in .vscode/annotations/{branch}.json at workspace root. Each git branch gets its own JSON file. Commit the folder for team sharing or add to .gitignore for private notes.
Development
make build # compile + package dist/annotaat.vsix
make test # run tests
make watch # compile on changes
make clean # remove dist/
make format # format all source files
See docs/architecture.md for source layout and design details.
Debug logs: View → Output → Annotaat. Enable with "annotaat.debug": true.
License
CC BY-NC-ND 4.0 — Copyright (c) 2026 Avre Barra.