copilotexport
Export all of your VS Code GitHub Copilot Chat conversations — including full tool-call history — to JSON and Markdown. Mirrors the layout of ChatGPT and Claude exports.
Installation
pip install copilotexport
Usage
CLI
# Default: bundle every Copilot session into ./CopilotForAGiXT.zip,
# ready to upload to AGiXT (Conversations sidebar -> Import).
copilotexport
# Write the zip somewhere else
copilotexport --out ~/CopilotForAGiXT.zip
# Custom source workspaceStorage directory
copilotexport --src /path/to/Code/User/workspaceStorage
# Full human-browseable export tree (raw JSON + Markdown + index +
# CopilotExport.zip) — slower, useful for grepping / archiving.
copilotexport --full
copilotexport --full --out ~/my-export
copilotexport --full --no-markdown # skip Markdown rendering (much faster)
copilotexport --full --no-zip # skip CopilotExport.zip
copilotexport --full --no-raw # skip raw VS Code JSON copies
Importing into AGiXT
The default mode writes a zip containing a single conversations.json —
a JSON array of raw VS Code session dicts. Upload it through the Import
Conversations control in the AGiXT web UI, or POST it directly:
curl -F file=@CopilotForAGiXT.zip -F agent_name=XT \
-H "Authorization: $JWT" \
http://localhost:7437/v1/conversation/import
AGiXT detects the format as copilot, prefixes imported conversations with
[Copilot], preserves each conversation's original timestamps, and renders
Copilot tool invocations / thinking blocks as [SUBACTIVITY] entries in the
chat UI.
Python API
from copilotexport import export, default_workspace_storage
from pathlib import Path
summary = export(
src=default_workspace_storage(),
out=Path("_copilot"),
write_markdown=True,
make_zip=True,
copy_raw=True,
)
print(summary)
Output layout
_copilot/
├── export_info.json # run summary
├── index.json # flat metadata for all sessions
├── workspaces.json # wsHash → folder URI map
├── sessions/
│ └── <workspace_label>/
│ └── <sessionId>.json # verbatim VS Code session file
└── markdown/
└── <workspace_label>/
└── <YYYY-MM-DD>_<title>_<id8>.md # human-readable transcript
Each Markdown transcript includes:
- Session metadata (title, session ID, timestamps, model, agent)
- User messages
- Assistant responses with prose rendered inline
- Tool calls rendered as structured blocks showing the tool name, request summary, result summary, and any file paths touched
Platform support
VS Code's workspaceStorage is auto-detected on Linux, macOS, and Windows.
| OS | Default path |
|---|---|
| Linux | ~/.config/Code/User/workspaceStorage |
| macOS | ~/Library/Application Support/Code/User/workspaceStorage |
| Windows | %APPDATA%\Code\User\workspaceStorage |
Metadata
Release files for copilotexport 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| copilotexport-0.0.3.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| copilotexport-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.2 kB
Release files / copilotexport-0.0.3.tar.gz
| Download URL | copilotexport-0.0.3.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3faaa08b59d7ed4af082b985ecb21b05895c5f60d96ecd765b0995cd0b969b7e
|
|
BLAKE2b-256 checksum How to use checksums |
e257a7fe14d032df99034e119dcf2aa37a07f213b364dedadc390ac7132f6896
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / copilotexport-0.0.3-py3-none-any.whl
| Download URL | copilotexport-0.0.3-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
32d0428738d1b76145b1b668f711e22be72ca62d66ead0ae289cd6c67310a8ae
|
|
BLAKE2b-256 checksum How to use checksums |
091a7fe4334c44c8733d261e6774e4b45938bf85de2d599fd347cd24de531629
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|