---
name: ChatGPT Import
slug: chatgpt-import
category: Automation
description: ChatGPT Import migrates ChatGPT conversation history into Vellum so users keep conversation context and memory when switching from ChatGPT. Use it when a user wants to import their ChatGPT export ZIP.
github: "https://github.com/vellum-ai/vellum-assistant/tree/main/skills/chatgpt-import"
language: TypeScript
stars: 1095
forks: 160
install: "npx degit https://github.com/vellum-ai/vellum-assistant/tree/main/skills/chatgpt-import ~/.claude/skills/chatgpt-import"
installs_to: ~/.claude/skills/chatgpt-import
source_path: skills/chatgpt-import/SKILL.md
collection_size: 25
category_size: 1523
collection_url: "https://dirskills.com/collections/vellum-ai/vellum-assistant"
added: 2026-08-20T07:56:33.000Z
last_synced: 2026-08-20T07:56:33.000Z
canonical_url: "https://dirskills.com/skills/chatgpt-import"
---

# ChatGPT Import

ChatGPT Import migrates ChatGPT conversation history into Vellum so users keep conversation context and memory when switching from ChatGPT. Use it when a user wants to import their ChatGPT export ZIP.

**Install:**

```bash
npx degit https://github.com/vellum-ai/vellum-assistant/tree/main/skills/chatgpt-import ~/.claude/skills/chatgpt-import
```

## README

Import ChatGPT conversation history into Vellum so users can keep their conversation context and memory when switching from ChatGPT.

## How to guide the user

When a user wants to import their ChatGPT conversations:

1. **Tell the user how to export.** They need to go to ChatGPT Settings > Data controls > Export data. ChatGPT will email them a ZIP file.
2. **Ask the user to upload the ZIP file.** Use whatever file upload tools or skills are available to receive the ZIP.
3. **Run the import.** Once you have the ZIP file path, run:

```bash
bun run scripts/parse-export.ts --file "$ZIP_PATH" | assistant conversations import --json
```

The `parse-export.ts` script parses the ChatGPT ZIP and converts it to the standard import format. The `assistant conversations import` command reads the JSON from stdin and creates the conversations.

The command returns JSON:

```json
{ "ok": true, "imported": 12, "skipped": 0, "messages": 347 }
```

Report the results — how many conversations and messages were imported, and any skipped duplicates.

## Notes

- Only ZIP files are accepted (the full export archive from ChatGPT).
- Conversations are deduplicated — re-importing the same file will skip already-imported conversations.
- Only user and assistant messages are imported (system prompts and tool calls are filtered out).
- Original timestamps from ChatGPT are preserved.
- Imported conversations are automatically indexed for memory search.
