[Bug]: Initial import misses or misgroups conversations and exposes raw internal records on Windows#24067

opened12d agobyDDarlanSchwartz

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/desktop

Steps to reproduce

  1. Have existing local projects and conversation history from both Codex and Claude.
  2. Install and launch T3 Code.
  3. Use the initial setup flow to discover and import existing projects and conversations.
  4. Compare the discovered projects and imported conversations with those available in the original applications.
  5. Open imported conversations containing image attachments, interactive question responses, compaction commands, or automatically injected context.

These observations occurred during my first import after installing T3 Code. Not every conversation exhibited every symptom, and I have not established whether the symptoms share one underlying cause.

Expected behavior

  • Discover existing supported projects and conversations, with any import limits or exclusions clearly communicated.
  • Associate conversations with the correct project and provider.
  • Preserve saved conversation titles when available.
  • Render supported screenshot and image attachments.
  • Display interactive question responses as readable question-and-answer exchanges.
  • Handle command records, compaction events, delegation records, injected context, and citation metadata appropriately, without exposing their raw internal representation as ordinary conversation text.

Actual behavior

  1. Missing projects and conversations

The initial import failed to identify many existing Codex and Claude projects and chats. I have not yet counted every missing item or determined whether discovery limits, filtering, or unsupported records explain the omissions.

  1. Unexpected project or provider grouping

Some conversations originating from Codex appeared under projects associated with Claude. I have not established whether this is a project-matching issue, a provider-identification issue, or a problem with how imported projects are presented.

  1. Incorrect conversation titles

Some imported conversations received titles containing internal context markup instead of their saved names. For example:

<external_codex_apps_open_page>{"page_id":null}…

This appears related to #10513 . I am including it for context; the additional problems below extend beyond conversation titles.

  1. Interactive question responses displayed as raw JSON

Answers submitted through Codex’s interactive question box appeared as ordinary text containing the <send_user_message_question_reply> wrapper and a JSON payload with fields such as questionItemId, question, and answer.

The result reads like an internal serialized record instead of a readable question-and-answer exchange.

  1. Image attachments displayed as text

Imported screenshots appeared as plain-text attachment references instead of rendered images. This made conversations that refer to screenshots difficult to follow.

  1. Compaction commands and output displayed as raw XML

Imported history displayed command records literally:

/compact compact

The result appeared as a separate chat message containing:

Compacted

  1. Internal delegation records and control markers displayed as ordinary messages

Some messages exposed entire <realtime_delegation> blocks, including and <transcript_delta> sections. These contained embedded user: and assistant: transcript lines inside a single message bubble.

Other visible artifacts included:

[STATUS] [COMPLETE] ::codex-realtime-inline{}

I am unsure which original Codex feature produced these records, so I am not assuming that they originated from a particular voice or realtime workflow.

  1. Automatically injected browser context displayed inside user messages

Imported messages exposed raw blocks containing automatically supplied browser state, the current URL, and explanatory instructions.

The actual user request appeared underneath this internal context in the same message bubble.

  1. Memory citation metadata displayed as plain text

Some assistant responses exposed memory filenames, line references, internal citation notes, and session identifiers as ordinary response text instead of readable citations or appropriately handled metadata.

Impact

Major degradation or frequent failure

Version or commit

0.1.2 (desktop Beta)

Environment

Windows 11 Pro 23H2 x64 (22631.6199); Codex desktop 26.1016.62342; Codex CLI 0.164.0; Claude desktop 3.6556.2.0; Claude Code 2.1.308

Logs or stack traces

shell
1No diagnostic logs or stack traces collected for this report.
2
3The XML-like tags, JSON field names, and control markers listed under Actual behavior were visible directly in the imported conversation UI. They are examples of displayed content, not stack traces.
4
5I have not identified a root cause.

Screenshots, recordings, or supporting files

No response

Workaround

No workaround found, tried reinstalling and same thing happened.

Synced from GitHub

Confirmed on a Mac mini (Apple Silicon, macOS 27.0), so the imported-title issue is not limited to Windows.

Environment: T3 Code 0.1.3-nightly.20261024.3604, Codex CLI 0.164.0.

Existing Codex conversations imported into T3 appear with titles such as:

  • <external_codex_apps_open_page>{"page_id":null}</external_codex_apps_open_page>
  • # Files mentioned by the user:
  • Imported thread
  • The first line of an automatically injected launcher message instead of the saved Codex conversation name.

Enabling Settings → General → Legacy features → Sidebar (legacy) restores project/thread trees on desktop, but does not fix these imported titles.

Please fix the importer/title-metadata handling so it preserves saved Codex conversation names when available and does not use injected context as a title. This needs to work automatically for future imports; manually renaming every thread is not a sustainable workaround.

I am confirming the imported-title behavior above; I have not verified all the other symptoms in the original report.

Synced from GitHub

Project-discovery follow-up on a Mac mini (Apple Silicon, macOS 27.0), T3 Code 0.1.3-nightly.20261024.3604, Codex CLI 0.164.0:

  • Codex currently exposes 19 saved local projects.
  • T3's current desktop sidebar and normal, unfiltered project selector both show 8 project labels after onboarding.

The directories associated with the 11 Codex labels not shown in T3 still exist: 10 have .git directories and one has a .git file. This is not just a sidebar search/filter hiding entries.

I have not rerun the initial discovery wizard or verified each root's recent conversation count, original import selection, grouping, or compressed-history format. I understand the default selection and linked-worktree exclusions, so I cannot yet assert that all 19 should be imported or attribute the discrepancy to #21755.

Please investigate unintentional omissions and make discovery/selection exclusions or grouping reasons visible. A supported way to rescan and import additional eligible projects after onboarding, without reinstalling or resetting existing data, would also make this much easier to diagnose.

This follow-up concerns Codex project discovery; I am not treating Devin provider support as a promise to import Devin's project catalog.

Synced from GitHub

I'll try reproducing this on my Mac with a fresh test project and no existing Codex or Claude project history. I'll share the results here.

Synced from GitHub

I reproduced several of these import issues on macOS using new test conversations in Codex and Claude.

These were new test conversations in existing installations, not a completely clean profile.

These videos show the actual actions and side-by-side comparisons with the imported results.

1. Codex: incorrect titles and image attachments

I created a conversation, renamed it to Renamed chat, then opened its imported version through Settled in T3 Code.

The same test message and response are present, but the imported title starts with <external_codex_apps_open_page>{"page_id":null} instead of the saved name.

The video also shows a screenshot being attached in Codex, then appearing in T3 as a Files mentioned by the user text block with a temporary path and Image attachment: true, rather than an image preview.

https://github.com/user-attachments/assets/b889513a-a5cf-413f-a6b7-6915c70e37f6

2. Codex: custom instructions appear as conversation messages

I entered and saved test instructions in Codex, then created new conversations. One was renamed to renamed at codex.

After importing, I opened the matching Hey, what's up? conversation in T3. Its history includes the saved instructions, AGENTS.md/environment context and internal page markup as ordinary messages. Its title is also replaced with XML.

The comparisons show both the matching conversation and the instruction text from Codex settings.

https://github.com/user-attachments/assets/e053f249-e702-4415-8779-5fbe3d08e44e

3. Claude: pasted-content and compaction markup

I pasted dummy text into Claude, then opened the imported conversation in T3, scrolled to the content and expanded it.

The imported text exposes a literal <pasted_content id="..."> wrapper.

The video also compares a completed /compact operation in Claude with its imported representation, which exposes <command-name>, <command-message>, <command-args> and <local-command-stdout> tags.

https://github.com/user-attachments/assets/b11bcdd3-f182-4970-aaae-668d34f29f74

Environment and test scope

  • T3 Code desktop: 0.1.2, macOS arm64 installer.
  • macOS: Tahoe 26.5
  • Codex: 26.1021.31345
  • **Claude desktop:**3.6556.2