Never lose a Copilot conversation again. PromptVault silently captures every prompt you send and every response you receive from GitHub Copilot — organized by date, searchable, and yours forever.
Why PromptVault?
Every developer has been there: you asked Copilot something brilliant three days ago, got a perfect answer, closed the tab, and now it's gone. VS Code does not persist Copilot chat history beyond the current session. PromptVault fixes that.
It works as a native chat participant inside your existing Copilot Chat panel — no separate app, no browser, no clipboard tricks. You chat exactly as you always do, just prefixed with @promptvault, and every exchange is written to a structured plain-text log on your machine in real time.
Features at a Glance
| Feature | Details |
|---|---|
| Automatic logging | Every prompt + full response saved the moment Copilot replies |
| Daily log files | One prompts_YYYY-MM-DD.txt per day, easy to archive or search |
| Any Copilot model | Works with GPT-4o, GPT-4.1, Claude Sonnet, o3, and any future model on your subscription |
| Enterprise-ready | Designed for GitHub Copilot Business / Enterprise — no extra credentials, no OAuth, no setup beyond install |
| Full conversation context | Multi-turn conversations are preserved with correct turn order |
| In-chat slash commands | /help, /status, /export, /clear — never leave the chat panel |
| Command Palette integration | Export, view, set path, and clear from Ctrl+Shift+P |
| Custom save path | Point logs at a shared network drive, OneDrive, SharePoint — anywhere |
| 100% local & private | No telemetry, no cloud sync, no external servers |
| Zero config to start | Install, open chat, prefix with @promptvault — done |
Requirements
| Requirement | Details |
|---|---|
| VS Code | Version 1.93 or later |
GitHub Copilot (GitHub.copilot) |
Latest version, signed in with an active subscription (Individual, Business, or Enterprise) |
GitHub Copilot Chat (GitHub.copilot-chat) |
Latest version — provides the Chat panel where @promptvault appears |
| Node.js | Version 18 or later — only needed if building from source; not required when installing a pre-built .vsix |
Both Copilot extensions are typically installed together as a bundle. If you already use Copilot Chat in VS Code, you have everything needed.
Installation
Option A — Install from VSIX (recommended for enterprise)
This is the standard way to distribute internal VS Code extensions without publishing to the Marketplace.
Step 1 — Build the VSIX package
Open a terminal, navigate to the project folder (note the quotes — the folder name has a space), and run:
cd PromptVault
npm install
npm run package
This produces promptvault-copilot-1.0.0.vsix in the same folder.
npm run package uses npx @vscode/vsce internally — no global install required.
Step 2 — Install in VS Code
Via terminal:
code --install-extension promptvault-copilot-1.0.0.vsix
Via the VS Code UI:
- Press
Ctrl+Shift+Xto open the Extensions panel - Click the
···menu in the top-right corner of the panel - Select "Install from VSIX…"
- Browse to
promptvault-copilot-1.0.0.vsixand click Install - Click Reload Window when prompted
Step 3 — Verify installation
- Open the Copilot Chat panel — click the chat bubble icon in the Activity Bar, or press
Ctrl+Shift+I - Type
@promptvault /helpin the chat input - You should see the PromptVault help card appear with today's stats
Option B — Run in development mode (F5)
Useful if you want to test or modify the code before packaging.
cd PromptVault
npm install
npm run build
Then open the PromptVault folder in VS Code and press F5. A new Extension Host window launches with PromptVault already active alongside your normal Copilot extensions.
Configuration
Step 1 — Open VS Code Settings
Press Ctrl+, and search for PromptVault, or edit settings.json directly (Ctrl+Shift+P → "Preferences: Open User Settings (JSON)").
Step 2 — Set your save path (optional but recommended)
By default, logs are saved to ~/.promptvault/ (C:\Users\<you>\.promptvault\ on Windows). To store them somewhere else:
Via Command Palette:
- Press
Ctrl+Shift+P - Type PromptVault: Set Save Path
- Pick any folder in the dialog — the folder will be created if it doesn't exist
Via settings.json:
{
"promptvault.savePath": "C:\\Users\\YourName\\Documents\\CopilotLogs"
}
Enterprise tip: Point
savePathat a OneDrive, SharePoint, or team network share folder. Logs are plain text files, so they sync and open anywhere — no special software needed.
Step 3 — (Optional) Pin your preferred model
If your enterprise subscription has multiple models and you always want a specific one:
{
"promptvault.preferredModel": "gpt-4o"
}
Supported values include: gpt-4o, gpt-4.1, claude-sonnet-4-5, o3, gpt-4-turbo. Leave empty (the default) and PromptVault picks the most capable model available on your account automatically.
Step 4 — (Optional) Pause logging without uninstalling
{
"promptvault.autoSave": false
}
When false, PromptVault still forwards your messages to Copilot and streams the response — it just doesn't write anything to disk until you flip it back to true.
Full Settings Reference
| Setting | Type | Default | Description |
|---|---|---|---|
promptvault.savePath |
string |
~/.promptvault |
Directory where daily .txt log files are saved. Created automatically if it doesn't exist. |
promptvault.autoSave |
boolean |
true |
Automatically save every prompt + response to disk. Set to false to pause logging. |
promptvault.preferredModel |
string |
(auto) | Copilot model family or ID to prefer (e.g. gpt-4o, gpt-4.1, claude-sonnet-4-5, o3). Falls back to the most capable available model if not found. |
How to Use
Everyday usage — just prefix with @promptvault
Open the Copilot Chat panel (click the chat bubble icon in the Activity Bar, or press Ctrl+Shift+I) and type:
@promptvault how do I implement a binary search in Python?
@promptvault write a Jest test for this authentication middleware
@promptvault explain what this regex does: ^(?=.*[A-Z])(?=.*\d).{8,}$
@promptvault refactor this function to use async/await instead of callbacks
Copilot's full response streams back in the chat exactly as normal. The moment streaming finishes, a "PromptVault: logged #N — open log" button appears at the bottom — one click to see the saved entry in the editor.
In-chat slash commands
You can control PromptVault without leaving the chat panel:
| Command | What it does |
|---|---|
@promptvault /help |
Full help card with today's stats and all settings |
@promptvault /status |
Today's prompt count, total days logged, save path, auto-save state |
@promptvault /export |
Opens today's .txt log file directly in the VS Code editor |
@promptvault /clear |
Confirmation dialog, then deletes all log files permanently |
Command Palette (Ctrl+Shift+P)
Search "PromptVault" to find:
| Command | Description |
|---|---|
| PromptVault: Open Today's Log | Open today's log file in the VS Code editor for reading |
| PromptVault: Export Today's Prompts | Save a copy of today's log to any folder you choose |
| PromptVault: Export All Prompts | Combine all days into one file and save to a chosen location |
| PromptVault: Clear All Saved Prompts | Permanently delete all log files (confirmation required) |
| PromptVault: Set Save Path | Open a folder picker to change where logs are stored |
| PromptVault: Show Status | Show a quick notification with today's count and log path |
Log File Format
Each day produces one file: prompts_YYYY-MM-DD.txt
╔══════════════════════════════════════════════════════╗
║ PROMPTVAULT — GitHub Copilot Log ║
╚══════════════════════════════════════════════════════╝
📅 2026-05-08
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[001] 09:15 AM 🤖 copilot/gpt-4o
PROMPT:
How do I paginate a SQL query efficiently for large datasets?
RESPONSE:
For large datasets, prefer keyset (cursor-based) pagination over
OFFSET/FETCH because OFFSET scans and discards all preceding rows...
────────────────────────────────────────────────────────
[002] 10:42 AM 🤖 copilot/gpt-4o
PROMPT:
Write a Python dataclass for a User with validation on the email field.
RESPONSE:
Here's a dataclass using __post_init__ for email validation...
────────────────────────────────────────────────────────
Every file is:
- Plain UTF-8 text — readable in any editor, Notepad, or terminal
- Searchable with
grep,Ctrl+F, or any search tool - Safe to commit to a private repo, back up to cloud, or email
- Numbered sequentially — entries are never overwritten or merged
Use Cases
For individual developers
- Build a personal "Copilot knowledge base" — search your own past conversations to avoid asking the same question twice
- Review what you asked Copilot at the end of a sprint to write better commit messages or PR descriptions
- Keep a running log of solutions to tricky bugs you solved with AI assistance
For teams using GitHub Copilot Enterprise
- Maintain a shared audit trail of AI-assisted decisions during architecture sessions
- Onboard new team members by sharing a curated log of common patterns your team has already solved with Copilot
- Satisfy internal documentation requirements around AI tool usage
- Build a team-wide prompt library by syncing the save path to a shared network drive
For compliance and governance
- Demonstrate responsible AI usage with a timestamped, model-tagged log of every AI interaction during a project
- Quickly distinguish what was generated by AI vs. written by hand on any given day
- Retain records of AI-assisted code decisions for regulated industries (finance, healthcare, legal)
For learning and upskilling
- Review how you've been using Copilot — are your prompts getting better over time?
- Export a week of logs to identify knowledge gaps and follow up with deeper study
- Spot patterns in your questions and build a library of prompts that reliably get great results
Advantages Over Native Copilot Chat
| Copilot Chat (native) | PromptVault | |
|---|---|---|
| History persists after VS Code closes | No | Yes |
| History survives a VS Code update or reinstall | No | Yes |
| Searchable with grep / text tools | No | Yes |
| Exportable to share with teammates | No | Yes |
| Organized into daily files automatically | No | Yes |
| Timestamps every entry | No | Yes |
| Shows which model answered each prompt | No | Yes |
| Works with all enterprise Copilot models | Yes | Yes |
| Requires internet beyond Copilot itself | Yes | No |
| Sends data to third-party servers | No | No |
Privacy & Security
- All data stays on your machine. Log files are written to a local directory you control.
- No telemetry. PromptVault does not phone home, collect usage statistics, or contact any external server.
- No additional credentials. PromptVault uses the same GitHub Copilot authentication already established in VS Code. It never reads or stores your token.
- Prompts go only to GitHub Copilot's API — the exact same endpoint used by the built-in Copilot extension. No extra hops.
- Safe for enterprise environments with strict data-residency requirements — logs never leave the machine unless you explicitly export them.
Troubleshooting
@promptvault does not appear in the chat suggestions
- Verify both
GitHub.copilotandGitHub.copilot-chatare installed and enabled (Ctrl+Shift+X) - Verify PromptVault itself shows as Enabled in the Extensions panel
- Reload VS Code:
Ctrl+Shift+P→ "Developer: Reload Window" - Confirm VS Code is version 1.93 or later:
Help → About
"No GitHub Copilot language model is available"
- Open a regular Copilot Chat conversation (without
@promptvault) and check it works — if it doesn't, the issue is with the Copilot extension, not PromptVault - Make sure you're signed in to GitHub:
Ctrl+Shift+P→ "GitHub Copilot: Sign In" - Check that your enterprise Copilot license is active in your GitHub organization settings
Logs not appearing in the configured folder
- Run
@promptvault /status— it shows the exact path PromptVault is currently writing to - If the path shows
~/.promptvaultinstead of your configured value, re-checkpromptvault.savePathin Settings - Ensure VS Code has write permission to the target folder (especially important for network shares)
The log file has no entries even though I used @promptvault
- Confirm
promptvault.autoSaveistruein Settings - Check for any error notifications from PromptVault in the bottom-right corner of VS Code
The chat panel does not open with Ctrl+Shift+I
- The shortcut may differ depending on your keyboard layout or other installed extensions
- Alternatively: click the chat bubble icon in the VS Code Activity Bar (left sidebar) to open Copilot Chat
Building from Source
# 1. Install dependencies
npm install
# 2. Type-check — no output means zero errors
npm run compile
# 3. Build the extension bundle (outputs to dist/extension.js)
npm run build
# 4. Watch mode for development — auto-rebuilds on every file save
npm run dev
# 5. Package as a .vsix for distribution
npm run package
The bundled extension is a single file at dist/extension.js (~10 KB). The .vsix package includes only the files needed to run — source files and node_modules are excluded.
Project Structure
PromptVault/
├── src/
│ ├── extension.ts Entry point — activates the extension
│ ├── participant.ts @promptvault chat participant and slash commands
│ ├── storage.ts File I/O — reads and writes daily .txt logs
│ └── commands.ts Command Palette commands
├── icons/ Extension icons (16px, 48px, 128px)
├── dist/ Compiled bundle (generated by npm run build)
├── package.json Extension manifest, settings schema, npm scripts
├── tsconfig.json TypeScript compiler configuration
├── .vscodeignore Files excluded from the .vsix package
└── .gitignore
Version History
| Version | Date | Notes |
|---|---|---|
| 1.0.0 | 2026-05-08 | Initial release — chat participant, slash commands, daily logs, export |
PromptVault v1.0.0 — Built for GitHub Copilot Enterprise users who take their work seriously.