Resume Where You Left Off
Resume Where You Left Off records what you were doing in a project as you work, then uses that record to write detailed project documentation and to take you back to where you stopped after an interruption.
It runs entirely inside VS Code. There is no account, no server and no API key. The documentation is written by the chat model you already have in VS Code, normally GitHub Copilot.
Requirements
- VS Code 1.93 or later.
- GitHub Copilot, or another extension that provides a chat model to VS Code, installed and signed in. This is needed only for generating documents; capturing sessions and restoring your place work without it.
- A project folder open in VS Code. Git is optional, but without it the extension cannot record diffs or commits, and Progress entries will have little to work from.
What it does
Captures your working context
While a folder is open, the extension saves a snapshot ("session") at three moments:
| Trigger |
When |
What is recorded |
| Save |
When you save a file, at most once every 10 minutes |
Uncommitted diff, new untracked files, open tabs, cursor position |
| Commit |
When you make a git commit |
The commit message and that commit's diff |
| Interruption |
When the VS Code window has been unfocused for 60 seconds (configurable) |
Uncommitted diff, open tabs, cursor position |
Generates documentation
Click the extension's icon in the activity bar and choose one of:
- Generate Overview writes
Overview.md, an in-depth orientation document: purpose, tech stack, repository structure, architecture, key modules, data model, interfaces, configuration, how to run, development history and known gaps. It is researched from a scan of your codebase plus your captured sessions, so it works on a project you have only just opened.
- Generate Progress adds a dated entry to
Progress.md describing what was added, changed and fixed since the previous entry, with the files and functions involved. It needs at least one session captured since the last entry.
- Generate README drafts a
README.md from your captured sessions.
Every generated document opens in an editor tab first. Nothing is written to your project until you choose Write to disk.
The model is instructed to state only what the evidence shows, to cite the file or session behind each claim, and to mark anything it inferred. It can still make mistakes, so read a document before you rely on it.
Points your AI agents at the docs
AI coding agents normally spend the start of each task reading files to work out how a project is laid out. Set Up AI Agents adds a short note to the instruction files those agents load automatically, telling them to read Overview.md and Progress.md first:
| Agent |
File |
| GitHub Copilot |
.github/copilot-instructions.md |
| Claude Code |
CLAUDE.md |
| Codex, Cursor and others |
AGENTS.md |
You choose which files to write. The note goes in a marked block, so anything already in the file is kept, and running the command again updates the block instead of adding a second one.
Takes you back to where you stopped
Resume: Restore Where I Left Off reopens the file and line you were on at your last interruption.
Commands
All commands are available from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P).
| Command |
What it does |
| Resume: Generate Documentation... |
Choose Overview, Progress or README and generate it |
| Resume: Set Up AI Agents to Read These Docs |
Add a note to your agents' instruction files pointing them at the generated docs |
| Resume: Restore Where I Left Off |
Reopen the file and line from your last interruption |
| Resume: Show Session Timeline |
List the captured sessions for this project |
| Resume: Mark Project Done (generate Summary.md) |
Write a final Summary.md covering the whole project |
Settings
| Setting |
Default |
Description |
resumeWhereYouLeftOff.interruptionThresholdSeconds |
60 |
How long the window must be unfocused before it counts as an interruption. Takes effect after a window reload. |
Your data
What is stored. Sessions (diffs, commit messages, open file paths, a few lines around your cursor) and the generated documents are saved in a file on your own computer, in the storage folder VS Code keeps for each workspace. The most recent 1,000 sessions per project are kept. Nothing is uploaded by this extension.
What is sent to the AI model. When you generate a document, the extension builds a prompt and sends it to your chat model provider, under that provider's own terms. The prompt contains:
- for Progress, README and Summary: content from your captured sessions, including diffs;
- for Overview: additionally the file tree, manifest files such as
package.json, your existing README, and excerpts of up to 14 source files.
Nothing is sent at any other time.
What is left out. The codebase scan never reads .env files, key or certificate files, or files whose names suggest credentials, and it skips dependency and build folders. Diffs are recorded as git produces them, so a secret you type into a tracked file can end up in a session and in a prompt. Keep secrets in ignored files.
Known limitations
- Only the first folder of a multi-root workspace is tracked.
- Terminal commands are not captured.
- Very long documents can be cut short by the output limit of the chat model you use.
- Session history is kept per machine and is not synced between computers.
License
MIT