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

Open 💬 2 comments 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 ↗

2 Comments

ElaiWK · 1 month ago

Concrete macOS Codex app limitation, reproduced on 18 July 2026:

  1. I asked Codex to locate an existing ChatGPT conversation by describing its content (“a platform for writing a book”, a PDF prototype, and a work task).
  2. Codex successfully found the conversation title and its authenticated ChatGPT conversation reference.
  3. In the Codex desktop app, attempting to navigate to the related task only surfaced an internal thread ID and did not change the visible conversation.
  4. Converting the reference to a normal ChatGPT URL opens the browser, which is outside the current app. It does not provide an in-app deep link or import.
  5. The user’s desired action was simply: “open that conversation here in this app.”

Expected behavior:

  • A conversation found through Codex search should have a supported in-app action such as “Open in ChatGPT”, “Import into this Codex thread”, or “Continue here”.
  • If the source is a ChatGPT Work conversation, Codex should preserve the relationship and open/import it without forcing the user to switch to a browser.
  • At minimum, Codex should expose a valid deep link that the desktop app itself handles, rather than returning an opaque ID or sending the user to a new/browser chat.
  • Search results should clearly distinguish “open in ChatGPT” from “open related Codex task”.

This is a basic cross-conversation navigation/import workflow. The current behavior makes the locator much less useful precisely when the user has already forgotten where the original conversation lives.

grtninja · 1 month ago

A related production use case is bidirectional escalation, not only one-time transcript import.

In long-running Codex repository work, ChatGPT is often the better surface for cross-thread synthesis, incident triage, report drafting, and comparing the active failure against broader conversation history. Today the operator must manually copy/paste outputs between products. That loses provenance, omits virtualized history, and can leave Codex continuing inside a degraded or near-full thread without the outside review that would have identified the problem.

Suggested extension to this feature:

  1. Codex can create a bounded, structured handoff to a selected ChatGPT project/chat containing the active requirement, acceptance contract, executed actions, current Git state, failures, effective model/tools, and evidence references.
  2. ChatGPT can return a reviewed correction/reporting packet with provenance.
  3. Codex can import that response back into the active task as an explicit operator-approved handoff rather than untrusted pasted text.
  4. The flow supports a defect_escalation mode when Codex detects repeated tool failures, failed compaction, model/tool drift, or foreground-acceptance mismatch.
  5. Both products preserve source IDs, timestamps, redaction state, and completeness receipts.

This would turn the current manual “copy ChatGPT’s gap analysis into Codex, then copy Codex’s evidence back into ChatGPT” workflow into a supported collaboration boundary. It should not silently merge instructions; the operator should preview and approve each handoff.