Open Checkpoint Changed File
A VS Code extension that adds an "Open File" button to chat checkpoint diff editors in VS Code Copilot.

In the screenshot above: clicking the "Open File" button in the snapshot diff editor's title bar opens the actual file, bridging the gap left by VS Code's built-in git.openFile.
Why This Extension?
When using VS Code Copilot with chat.checkpoints.showFileChanges enabled, you can see file changes in chat checkpoints. However, VS Code's built-in git.openFile command doesn't handle the chat-editing-snapshot-text-model URI scheme used by these checkpoint diff editors.
This extension fills that gap by providing a dedicated command to open files from chat checkpoint diff editors.
Features
- Open File Button: Adds an "Open File" button to the editor title bar for chat checkpoint diff editors
- Smart Command:
open-checkpoint-changed-file.openCheckpointOrGitFile - intelligently handles both chat checkpoint files and git files
Installation
- Download the
.vsix file from releases
- Install via VS Code:
code --install-extension open-checkpoint-changed-file-0.0.1.vsix
- Or install via VS Code Insider:
code-insiders --install-extension open-checkpoint-changed-file-0.0.1.vsix
Usage
Manual Usage
- Open a chat checkpoint diff editor in VS Code Copilot
- Click the "Open File" button in the editor title bar
- The file will open in a new tab
Command Palette
Cmd+Shift+P → "Open Checkpoint Changed or Git File"
Vim Integration
For users with VSCodeVim, you can bind the command to a leader key sequence:
{
"before": ["<leader>", "g", "o"],
"commands": ["open-checkpoint-changed-file.openCheckpointOrGitFile"]
}
Example Configuration
// In your VSCodeVim settings (keybindings.json or settings.json)
{
"vim.normalModeKeyBindingsNonRecursive": [
// ... other bindings ...
{
// Open file from chat checkpoint changes
"before": ["<leader>", "g", "o"],
"commands": ["open-checkpoint-changed-file.openCheckpointOrGitFile"],
},
],
}
Background
VS Code Copilot's chat checkpoint feature (enabled via chat.checkpoints.showFileChanges) allows you to see file changes made during a chat session. These changes are displayed in diff editors using a special URI scheme: chat-editing-snapshot-text-model.
The built-in git.openFile command doesn't recognize this scheme, so clicking "Open File" in these diff editors doesn't work. This extension provides a solution by registering a custom command that properly handles this URI scheme.
Development
# Install dependencies
pnpm install
# Compile
pnpm run compile
# Package
vsce package --allow-missing-repository
License
MIT