Feature request: Official ChatGPT transcript/project import connector for Codex

Open 💬 1 comment Opened Jun 30, 2026 by winnal

Summary

I’d like Codex to support a first-class ChatGPT connector/import flow that lets users select ChatGPT chats or project conversations from their ChatGPT account and bring them into Codex as trusted context or local artifacts.

I have a personal Codex plugin that proves out this workflow experimentally. It indexes authenticated ChatGPT projects, finds conversations by title/snippet, exports complete conversations into Markdown/JSON, and writes receipts that prove the export came from the conversation graph rather than only the currently rendered DOM.

An official connector would make this workflow safer, more reliable, and better aligned with ChatGPT workspace permissions, retention, privacy controls, and internal transcript structure.

Problem

A lot of useful project context already lives in ChatGPT conversations. Today, moving that context into Codex is manual and lossy:

  • Copy/paste loses structure and provenance.
  • Long chats are hard to export completely.
  • Rendered browser content may omit virtualized/offscreen messages.
  • Branches and edited conversation paths are hard to reason about.
  • There is no obvious completeness receipt proving what was imported.
  • ChatGPT project-level discovery/search is not available directly inside Codex.

For serious coding work, this makes it harder to continue from prior ChatGPT research, plans, debugging sessions, or design discussions.

Prototype Behavior

The personal plugin currently supports:

  • Opening ChatGPT in a dedicated persistent browser profile.
  • Reusing the user’s authenticated ChatGPT session after login.
  • Indexing all conversations in a ChatGPT project by exhausting the project catalog cursor.
  • Writing a local project index with titles, links, snippets, timestamps, and integrity evidence.
  • Searching the local index by title or snippet.
  • Exporting one exact title match, a direct conversation URL, or an intentional batch of matches.
  • Exporting ordered semantic user/assistant messages.
  • Preserving Markdown instead of relying on rendered innerText.
  • Exporting both human-readable Markdown and structured JSON.
  • Saving the raw authenticated conversation response for replay/audit.
  • Producing a receipt with graph, branch, DOM, and hash evidence.
  • Failing closed on login redirects, incomplete parent chains, empty exports, cycles, URL issues, or output verification failures.
  • Running offline dedup/branch-overlap analysis over exported transcript folders without reopening ChatGPT.

Important Implementation Detail

The prototype treats the authenticated conversation graph as chronology authority.

It does not treat the visible DOM as complete, because long ChatGPT conversations can be virtualized or partially mounted. The DOM is used only as a verification/sample surface. The export follows the active branch from root to current_node and verifies that semantic DOM message IDs are represented in the exported branch.

The export receipt checks conditions such as:

  • Active branch is complete.
  • Parent chain terminates at root.
  • Missing parent count is zero.
  • First and last semantic IDs match the active branch.
  • DOM semantic messages are present in the exported active branch.
  • Raw response, structured transcript, and Markdown have stable SHA-256 hashes.

Desired Official Feature

Codex should ideally provide an official ChatGPT import or connector flow that can:

  • Browse ChatGPT projects and conversations available to the signed-in user.
  • Search chats by title and content snippet.
  • Import one or more chats into a Codex thread or local artifact.
  • Preserve roles, Markdown, timestamps, branches, and provenance.
  • Distinguish rendered DOM evidence from source transcript/graph evidence.
  • Provide a completeness/provenance receipt.
  • Respect ChatGPT workspace auth, RBAC, retention, residency, admin controls, and privacy settings.
  • Avoid browser/CDP scraping by using an internal supported integration path.

Why This Belongs Officially

The prototype works well enough to show the workflow is useful, but it is not the ideal long-term implementation because it depends on authenticated browser behavior and reverse-engineered transcript access.

An official connector would be better because it could:

  • Use stable internal APIs or supported product surfaces.
  • Enforce workspace/admin policy correctly.
  • Avoid fragile browser automation.
  • Make completeness and provenance guarantees explicit.
  • Give users a safer way to move prior ChatGPT context into Codex.

Example Workflow

  1. In Codex, choose “Import from ChatGPT.”
  2. Select a ChatGPT project or search across recent chats.
  3. Preview matching conversations by title/snippet/date.
  4. Select one or more chats.
  5. Import as:
  • attached context for the current thread,
  • local Markdown/JSON artifacts,
  • or both.
  1. Codex records a provenance/completeness receipt so the user can tell what was imported.

Suggested Acceptance Criteria

  • User can select ChatGPT conversations from their account without manual copy/paste.
  • Imported transcript preserves user/assistant roles and Markdown.
  • Long conversations import completely, including offscreen/virtualized content.
  • Branch/provenance behavior is explicit.
  • Import respects ChatGPT workspace permissions and retention settings.
  • Codex exposes enough evidence to trust that imported context is complete.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗