Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>AI Changes TimelineNew to Visual Studio Code? Get it now.
AI Changes Timeline

AI Changes Timeline

Rajendra J Choudhary

|
2 installs
| (0) | Free
See exactly which files your AI assistant changed, and which prompt changed them. Diff and restore per session.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AI Changes Timeline

Know exactly which files your AI assistant changed — and which prompt changed them.

A Visual Studio Code extension that records every AI editing session as a timeline entry, so you can see what Claude Code (or Copilot, Codex, Gemini CLI, Cursor…) touched, review the diff, and restore a single file or an entire prompt's worth of changes.

v0.1.0 — the full MVP works, including restore. Not yet on the Marketplace; install the .vsix (below). See CHANGELOG.md for detail.


The problem

AI coding assistants edit many files per conversation. After a few prompts, git status shows one flat pile:

Modified:
  auth.py
  user.py
  models.py
  config.py
  tests.py
  README.md

Git cannot answer the question you actually have:

Which of these came from my last prompt?

Copilot shows a temporary "Edited Files" list, but it disappears and keeps no history.

The solution

Every AI interaction becomes one entry in an AI Changes timeline:

▼ Today
  ▼ 4:35 PM · Claude · 3 files · +142 −23
      "Implement JWT authentication"
        auth.py
        middleware.py
        routes.py
  ▼ 4:42 PM · Claude · 2 files · +18 −6
      "Fix failing tests"
        tests.py
        package.json
  ▼ 4:50 PM · Claude · 1 file · +9 −0
      "Improve README"
        README.md

Click a session to see its stats. Click a file to diff it against its pre-AI snapshot. Right-click to restore.


Features

Feature Description
📋 Session timeline Each AI interaction is grouped into a single session, bucketed by Today / Yesterday / Last week.
🗂 Activity Bar sidebar A dedicated AI Changes view alongside Explorer, Search, and Source Control.
🔍 Session details Prompt text, duration, files edited, lines added/deleted.
⇄ File diff Open current vs before AI change using VS Code's native diff editor.
↩ Restore Revert a single file, or every file changed by one prompt. The restore is itself recorded, so you can undo it.
🔎 Search Find sessions by prompt text or filename.
🎚 Filters By time range (today, yesterday, last week) and by assistant (Claude, Copilot, Gemini, Cursor).
📊 Statistics Sessions, files, and lines changed — per day and overall.
📌 Status bar Live "Claude edited 7 files" indicator; click for the file list.
💾 Persistent history Survives restarts. Stored locally, never uploaded, no telemetry.
🔌 Multi-assistant Claude Code detection today; pluggable probes for Copilot, Codex, Gemini, Cursor.

All of the above works today. See MVP scope for what was in scope and ROADMAP.md for what comes next.


Installation

From the Marketplace (once published):

  1. Open the Extensions view (Cmd/Ctrl+Shift+X).
  2. Search for AI Changes Timeline.
  3. Click Install.

From a .vsix — the current path, since it is not published yet:

npm install
npm run package
code --install-extension ai-changes-timeline-0.1.0.vsix

From source — see CONTRIBUTING.md.


Usage

  1. Open the AI Changes icon in the Activity Bar.
  2. Use your AI assistant as normal. Bursts of file edits are grouped into sessions automatically.
  3. Expand a session to see its files.
  4. Click a file → diff against the pre-change snapshot.
  5. Right-click a file or session → Restore, Compare, Reveal, Copy Path.

If automatic detection misses a session, start and stop one manually with AI Changes: Start Session / AI Changes: End Session.


Commands

All commands are available from the Command Palette (Cmd/Ctrl+Shift+P):

Command Description
AI Changes: Open Timeline Focus the AI Changes view.
AI Changes: Search Sessions Search prompts, paths, and notes. Every term must match.
AI Changes: Filter Sessions Filter by time range, then by assistant.
AI Changes: Clear Search and Filters Show everything again.
AI Changes: Start Session Begin a session with a label you type.
AI Changes: End Session Close the open session now.
AI Changes: Show Statistics Open a statistics summary as a Markdown document.
AI Changes: Export History Export as Markdown, JSON, or CSV.
AI Changes: Delete All History Clear every recorded session.

Available from a session's right-click menu: Set Prompt / Label, Pin / Unpin, Merge with Previous Session, Restore All Files in Session, Delete Session.

From a file's right-click menu: Compare with Before AI Change, Restore File, Reveal in Explorer View, Copy Path.


Settings

Setting Default Description
aiChanges.trackOnlyAIChanges true Ignore edits you typed yourself. Changes that land on disk without matching recent keystrokes — the signature of a CLI assistant — are still tracked.
aiChanges.trackManualEdits false Also record hand-typed edits. Requires trackOnlyAIChanges: false as well.
aiChanges.snapshotBeforeChange true Capture pre-change content. Required for compare and restore.
aiChanges.maxHistorySessions 500 Oldest unpinned sessions are pruned beyond this count.
aiChanges.autoCleanupDays 30 Delete unpinned sessions older than this. 0 disables cleanup.
aiChanges.sessionIdleTimeoutMs 45000 A quiet gap longer than this ends the current session. Raise it if your sessions get split; lower it if they run together.
aiChanges.sessionMaxDurationMs 600000 Hard ceiling on session length, so a watch process cannot produce one enormous entry.
aiChanges.maxSnapshotBytes 1048576 Files larger than this are recorded by path only.
aiChanges.storePrompts true Set false to record file changes without prompt text.
aiChanges.enableStatistics true Compute lines added and deleted per session.
aiChanges.showStatusBar true Show the live indicator while a session is open.
aiChanges.exclude (see settings UI) Glob patterns never tracked: node_modules, .git, dist, build, out, target, .venv, __pycache__, .next, coverage, *.log, *.lock, .DS_Store, and more.

For extension authors

activate() returns a small read-only API, so another extension can observe sessions:

const api = vscode.extensions.getExtension('rajendrac3.ai-changes-timeline')?.exports;
const sessions = await api?.getSessions();

{ version, getSessions, getActiveSession, settled, getSnapshot, restoreSession }. Read-only by design — no third party gets to rewrite your history.


Privacy

  • All history stays on your machine. Nothing is sent anywhere.
  • No telemetry.
  • Prompt text can be disabled entirely with aiChanges.storePrompts: false.
  • Snapshots live in the workspace storage directory and honour aiChanges.exclude.

Documentation

  • Product Requirements (PRD) — problem, users, features, MVP scope.
  • Architecture — components, data model, session detection, storage.
  • Roadmap — what's planned and when.
  • Contributing — dev setup, conventions, PR process, and the release runbook.

Contributing

Issues and pull requests are welcome. Please read CONTRIBUTING.md first.

License

MIT © Rajendra Choudhary

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