GitHub Copilot Chat Logger
A Visual Studio Code extension that silently logs GitHub Copilot chat interactions for analysis and debugging purposes. This extension operates in the background without interfering with your normal Copilot chat experience.
Features
- 🤫 Silent logging of all GitHub Copilot chat interactions
- � Captures both user prompts and Copilot responses
- 💾 Export logs to JSON files for analysis
- 🔍 View chat history directly in VS Code
- 🎚️ Enable/disable logging with a single command
- 🔒 Privacy-focused: all data stays local
Installation
You can install this extension in one of two ways:
From VS Code Marketplace
- Open VS Code
- Press
Ctrl+P
(Windows/Linux) or Cmd+P
(macOS)
- Type
ext install copilot-chat-logger-v1
From VSIX File
- Download the
.vsix
file from the releases page
- Open VS Code
- Press
Ctrl+Shift+P
(Windows/Linux) or Cmd+Shift+P
(macOS)
- Type "Install from VSIX" and select the downloaded file
Requirements
- Visual Studio Code ^1.85.0
- GitHub Copilot Chat extension must be installed and activated
Usage
Commands
Access these commands through the Command Palette (Ctrl+Shift+P
or Cmd+Shift+P
):
Copilot Logger: Export Chat Logs
- Export logs to a file
Copilot Logger: Clear Chat Logs
- Clear the current log buffer
Copilot Logger: View Chat Logs
- View recent chat interactions
Copilot Logger: Toggle Logging
- Enable/disable logging
Configuration
Configure the extension through VS Code settings:
```json
{
"copilot-chat-logger-v1.enableLogging": true,
"copilot-chat-logger-v1.bufferSize": 1000
}
```
- enableLogging: Enable/disable automatic logging (default: true)
- bufferSize: Maximum number of interactions to store (default: 1000)
Example Log Output
Below is an example of how the log data looks when exported:
```typescript
const logExample: LogExport = {
// When the log was exported
exportDate: "2025-09-06T15:30:00.000Z",
// Number of interactions in the log
totalInteractions: 2,
// Array of recorded interactions
interactions: [
{
// User asking a question
id: "1693916400000-abc123def",
timestamp: new Date("2025-09-06T10:00:00.000Z"),
type: "prompt",
source: "user",
content: "How do I implement a binary search?",
metadata: {
model: "gpt-4",
location: "chat",
participants: ["user"]
}
},
{
// Copilot's response
id: "1693916401000-xyz789uvw",
timestamp: new Date("2025-09-06T10:00:01.000Z"),
type: "response",
source: "copilot",
content: "Here's how you can implement binary search...",
metadata: {
model: "gpt-4",
location: "chat",
participants: ["assistant"]
}
}
]
}
```
Limitations
The extension only logs:
- Direct chat interactions with GitHub Copilot
- Prompts and responses in the chat interface
- Basic metadata (timestamps, model info when available)
The extension does not log:
- Code snippets you accept/reject
- Inline suggestions
- File contents or workspace information
- Personal or sensitive information
Privacy & Security
- ✅ All logs are stored locally on your machine
- ✅ No data is ever sent to external servers
- ✅ Logs can be cleared at any time
- ✅ Logging can be disabled completely
- ✅ Export logs only when you choose to
Troubleshooting
Logs are not being captured
- Verify logging is enabled in settings
- Check that GitHub Copilot Chat is properly installed
- Try reloading VS Code
Cannot export logs
- Ensure you have write permissions in the target directory
- Check if the file is not locked by another application
Log viewer is empty
- Verify that interactions have occurred since enabling logging
- Try clearing logs and starting fresh
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
Acknowledgments
- Built with VS Code Extension API
- Inspired by the need for better Copilot interaction analysis
- Thanks to all contributors
Made with ❤️ for the VS Code community