Skip to main content

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)

Source distribution for copilotexport 0.0.3
File Size Uploaded
copilotexport-0.0.3.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for copilotexport 0.0.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page