Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Claude's ChangesNew to Visual Studio Code? Get it now.
Claude's Changes

Claude's Changes

userID503

| (0) | Free
Track and revert file changes without git. Designed for AI-assisted editing in Windsurf and VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude's Changes

Track file changes without Git and revert specific chunks with one click. Built as the perfect companion for AI-assisted coding in VS Code, Windsurf, Cursor, and other VS Code-based editors.

Claude's Changes

Claude's Changes in action — sidebar, gutter markers, CodeLens and diff view

Features

  • Changed Files panel (Activity Bar) — live list of every modified file with +added -removed stats. Click any file to open a clean baseline ↔ current diff.
  • Gutter decorations — green (added), yellow (modified), red (deleted) line highlights + overview ruler markers.
  • CodeLens on every hunk — shows change summary (2 removed 5 added), plus one-click ↩ Revert and ✓ Accept buttons right above the changed code.
  • Context menu — Right-click in the editor → Claude: Revert This Chunk.
  • Per-chunk Accept — promote only a specific hunk to the new baseline (great when you like some AI suggestions but not others).
  • Full-file Revert / Accept.
  • Accept All — wipe all baselines at once (treat current state as "new ground truth").
  • Smart baseline capture — first edit after opening a file automatically becomes the baseline. Works even for files you edited before the extension loaded.
  • FTP upload — one-click or bulk upload changed files to a remote server (optional).
  • Zero Git required — everything lives in a local .claude-changes/ folder that is automatically gitignored.

How It Works

  1. You (or an AI) edit a file.
  2. On the first change, the extension silently saves the original content as a baseline.
  3. All future diffs are computed against that baseline.
  4. Reverting a chunk/file restores the text from the baseline.
  5. Accepting a chunk/file updates the baseline to the current text (so future "revert" will go to this new state).

Baselines are stored in <workspace>/.claude-changes/snapshots/ (the whole folder is gitignored automatically).

The Changed Files Panel

  • Located in the Activity Bar (icon looks like a document with arrows).
  • Shows only files that actually differ from their baseline.
  • Inline buttons: Open Diff (↔), Accept, Revert, Upload.
  • Panel badge shows the number of truly changed files.

Gutter + CodeLens + In-Editor Revert

Claude's Changes — Gutter decorations, CodeLens and in-editor revert/accept

Every tracked change gets:

  • Colored gutter bar (green/yellow/red)
  • CodeLens line above the hunk with:
    • Summary of the diff
    • ↩ Revert (revert just this hunk)
    • ✓ Accept (make this hunk the new baseline for future reverts)

You can also select any range and run Claude: Revert This Chunk from the context menu — it will revert all hunks that intersect your selection.

Commands

All commands are available from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) under the Claude's Changes category.

Command Description
Claude's Changes: Open Diff Open split diff: baseline ↔ current
Claude's Changes: Revert File Revert the entire file to its baseline
Claude's Changes: Revert This Chunk Revert the chunk(s) under cursor or selection (also in editor context menu)
Claude's Changes: Accept File (Clear Baseline) Accept current file state as the new baseline
Claude's Changes: Accept All Accept everything — clear all baselines
Claude's Changes: Accept This Chunk Accept only the hunk under the cursor (via CodeLens)
Claude's Changes: Capture Unsaved Files as Baseline Useful for files that were already dirty when VS Code started
Claude's Changes: Set Baseline = Current File State Explicitly set baseline to whatever is in the editor right now
Claude's Changes: Upload to FTP Upload the selected file
Claude's Changes: Upload All to FTP Upload every changed file
Claude's Changes: Configure FTP Create/edit .claude-changes/ftp.json
Claude's Changes: Refresh Force refresh the panel and decorations

FTP Support (Optional)

Useful when you edit locally with AI and want to push only the changed files to a staging server.

  1. Run Claude's Changes: Configure FTP
  2. Fill in host, user, password, remotePath
  3. Use the Upload commands from the panel or Command Palette

Example .claude-changes/ftp.json:

{
  "host": "ftp.example.com",
  "port": 21,
  "user": "username",
  "password": "password",
  "remotePath": "/public_html"
}

⚠️ The ftp.json file lives inside .claude-changes/ and is also gitignored.

Storage & Git

<your-workspace>/
├── .claude-changes/
│   ├── .gitignore          # contains "*" so nothing is committed
│   ├── snapshots/
│   │   └── <hash>.snap   # your baselines
│   └── ftp.json            # optional
└── ... your project ...

The extension never touches your Git history.

Requirements

  • VS Code ^1.85.0 or any compatible editor (Windsurf, Cursor, etc.)
  • No other dependencies

Installation

From the Marketplace (recommended after publication)

Search for "Claude's Changes" in the Extensions view.

From VSIX (any version)

code --install-extension claudes-changes-1.0.0.vsix

For Windsurf:

windsurf --install-extension claudes-changes-1.0.0.vsix

Or use the UI: Extensions → ⋯ menu → Install from VSIX…

Uninstall

code --uninstall-extension userID503.claudes-changes

Or right-click the extension in the Extensions panel → Uninstall.

Development

git clone https://github.com/userID503/claude-changes.git
cd claude-changes
npm install
npm run watch          # or "build"
  • Press F5 in VS Code to launch an Extension Development Host window.
  • Changes to TypeScript are automatically rebuilt by esbuild.

Package a local .vsix

npm run package

The resulting .vsix can be installed with the command above.

Publishing

1. To GitHub (source of truth)

  • Update version in package.json (semantic versioning)
  • Update CHANGELOG.md
  • Commit everything
  • git tag vX.Y.Z
  • git push && git push --tags
  • Create a GitHub Release and attach the .vsix produced by npm run package

2. To the VS Code Marketplace

Prerequisites:

  • You are a member of the userID503 publisher (or create one via vsce create-publisher)
  • Personal Access Token with Marketplace publish rights
npm install -g @vscode/vsce
vsce login userID503
npm run publish

Or manually:

npm run build
vsce publish --no-dependencies

After the first successful publish, the Marketplace badges and links in this README will become live.

License

MIT © 2026 userID503

Credits

Created for fast, safe AI-assisted editing workflows where you want the power of "undo specific AI changes" without forcing everything through Git.


Found a bug or have an idea? Open an issue on GitHub.

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