Skip to content

Dot-created chats lose project organization and cannot be moved into projects afterward #52489

Open

Description

@houmark

Two related problems are making it difficult to find work and conversation history in the macOS desktop app.

Assistant workflow

The dot creates unnecessary new/replacement chats, sometimes continues unrelated new work inside an existing chat, and leaves chats ungrouped even when it knows which project the work belongs to. Creating a new task directly inside the correct project is supported and has succeeded, so this is not simply a missing creation capability.

Expected behavior:

  • Create one separate chat for each new task, in the known or reasonably identifiable project.
  • Continue an existing chat only for that same task.
  • Investigate an unclear project first and ask the user only if it remains ambiguous.
  • Leave genuinely general work ungrouped; avoid redundant replacement chats.

Existing-chat moves

Attempts to move existing ungrouped dot-created tasks into a local sidebar project fail with: "The task's source project could not be safely determined."

The supported task list identifies those tasks as ungrouped. The user also tried drag-and-drop into the project and could not move them. The underlying cause has not been established.

Observed sequence:

  1. A dot creates project-related tasks without assigning the existing project.
  2. The tasks become scattered in recent history instead of appearing under that project.
  3. Attempt to move an existing affected task into the intended project.
  4. The move operation returns the source-project validation error; user drag-and-drop also fails.
  5. Creating a new task with an explicit project assignment succeeds, while existing affected chats remain misplaced.

Expected: allow eligible chats, including dot-created cloud/durable tasks, to move into a chosen project while preserving messages, history, IDs and links. If there is an unmet access prerequisite, show an actionable explanation instead of leaving the user unable to organize history.

Please investigate the assistant's project/task selection behavior separately from the product's move failure. No private conversation contents, logs, task/project identifiers, local paths, source code or account details are attached. Exact application build has not been verified for this report.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    dotsIssues involving setting up ChatGPT dots or managing their ongoing work.
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    model-behaviorIssues related to behaviors exhibited by the model
    on Oct 9, 2026
  2. github-actions commented on Oct 9, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  3. houmark commented on Oct 9, 2026

    @houmark
    Author

    Additional verified observation: explicit project assignment at creation can also be lost or not reflected in membership.

    Several new tasks were created with an explicit existing project ID and the matching working directory. Creation returned success. A subsequent supported task-list read reported null project membership for two of those tasks, while another task created with the same destination retained the intended project. The user also saw the affected tasks outside the project.

    This is distinct from the earlier assistant omission. The evidence does not identify whether creation, persistence, listing or sidebar synchronization is responsible. Please verify that an explicit project selection is retained and reflected consistently, and make creation results expose or verify final membership. No private task IDs, project IDs, paths or logs are included.

  4. houmark commented on Oct 9, 2026

    @houmark
    Author

    Clarification on evidence and attribution: the creation/membership observation comes from recorded assistant tool calls and a subsequent supported task-list read, not an independently reproduced minimal test. The recorded create request supplied a non-null projectId obtained from the same desktop's project list, plus that desktop's environment selector and the project's working directory. The create result reported success but did not echo final project membership. The later task list reported null membership for the returned task. Another task created with the same project selection retained membership.

    Please investigate caller/integration handling as well as creation, persistence, listing and sidebar synchronization. This does not establish a backend/tool defect or rule out a consumer-side problem. Separately confirmed assistant mistakes were inconsistent project assignment for earlier tasks, mixing unrelated work into existing chats, and claiming successful placement without verifying membership.

  5. Aristoddle commented on Oct 15, 2026

    @Aristoddle

    Additional local-chat evidence: source-attribution refusal and membership false success

    This follow-up concerns existing top-level local CLI-origin and legacy GUI chats, rather than dot-created cloud/durable chats. The error text matches this issue; that alone does not establish a shared root cause.

    Environment

    • macOS, Apple silicon; ChatGPT desktop 26.1007.71326, build 20398, production distribution.
    • Bundled Codex 0.162.0-alpha.17.2.
    • The first-party updater reported up_to_date on the configured production channel. No channel change was attempted.

    Case A — existing local chats cannot be assigned

    Observed sequence in an existing installation (not a clean-install minimal reproduction):

    1. Retain one existing local project and attempt to organize existing local chats into it, preserving each chat's identity and recorded working directory.
    2. Affected chats lack saved sidebar project assignment and an explicit projectless marker.
    3. move_thread_to_project rejects them with: The task's source project could not be safely determined.
    4. An ordinary read_thread followed by another move does not resolve source attribution.
    5. For one parked chat only, a separately authorized, project-ID-only update through the bundled first-party app-server protocol persisted the intended native membership, verified by a subsequent read. The ordinary application move still returned the same source-attribution error and did not retain sidebar assignment.
    6. After a same-build app relaunch, the native pilot membership remained persisted. One ordinary read/move attempt on that pilot still returned the same error. No native write was repeated and broader native writes were withheld.

    This distinguishes native metadata persistence from adoption by the active application/tool membership model. Inspection suggested a native/legacy membership reconciliation boundary, but the live rollout value was not established or changed. Please investigate that boundary rather than assuming the native update is an adequate repair.

    Case B — displayed grouping can produce false move success

    An archived local chat was displayed in the destination project group without explicit saved membership. After unarchiving, assigning it to that displayed project reported success but did not persist membership. An ordinary supported remove-and-reassign cycle did persist membership; rearchiving retained it. This suggests displayed group containment is being treated as sufficient where actual membership persistence is required.

    Requested resolution

    Please provide a corrected first-party source-resolution/persistence implementation, or a documented supported reconciliation procedure that preserves existing chat IDs, history, archive states, working directories, permissions, and active worker ownership. Do not require recreating chats or bypassing access/migration gates.

    Suggested regression cases: imported local CLI chats without markers; legacy GUI chats without markers; native/legacy project-ID mapping; compatibility across migration states; displayed grouping without persisted assignment; archived-chat moves; foreign-host/account ambiguity; source-access confirmation.

    This is a text-only, sanitized report. No chat/project IDs, personal paths, conversation contents, logs, screenshots, session attachments, credentials, or proprietary source excerpts are included. No signed-app patch, private-state rewrite, rollout-flag change, or worker interruption was used as a repair.

  6. MassiveMassimo commented on Oct 20, 2026

    @MassiveMassimo

    Additional observations from tests on October 20, 2026:

    • A task created using a saved Codex cloud environment ran in the cloud, but its reported sidebar project membership was null.
    • A separate task created with an explicit desktop sidebar project was associated with that project, but executed on the Mac. That successful grouping therefore did not establish cloud execution with project grouping.
    • Moving the cloud test into the sidebar project through the supported move operation failed with: "The task's source project could not be safely determined."
    • I could not find a manual move option in the UI.

    The currently exposed task-creation interface describes project assignment as supported for desktop tasks and unavailable for cloud containers. A durable host label alone also does not establish where a task executes.

    Please provide a supported way to keep tasks executing in a saved Codex cloud environment while organizing their conversations under the intended sidebar project, without moving execution to the local computer or requiring a personal VM. These observations do not establish the root cause or show that every creation route is affected. No private task/project IDs, paths, logs, or conversation contents are included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingdotsIssues involving setting up ChatGPT dots or managing their ongoing work.model-behaviorIssues related to behaviors exhibited by the modelsessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions