Skip to content

Feature Request: [App] Make the "Chats" project directory configurable #19909

Open

Description

@miraclebakelaser

What variant of Codex are you using?

App

What feature would you like to see?

Issue

Codex App currently uses the ~/Documents/Codex folder as the home for chat-related storage. For many people, ~/Documents is synced by iCloud drive.

iCloud Drive is a bad place to store any coding-related outputs:

  • Apple tends to aggressively offload documents unless you set that folder to "Keep Downloaded"
  • Local environments pollute sync history
  • If you decide to track the files in the chat with git, conventional wisdom is to not store git repos in cloud-synced folders because it leads to many unintended consequences.

Desired outcome

Allow users to configure their chat directory in Codex App settings.

Additional information

No response

Activity

  1. added
    appIssues related to the Codex desktop app
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    configIssues involving config.toml, config keys, config merging, or config updates
    on Apr 28, 2026
  2. github-actions commented on Apr 28, 2026

    @github-actions
    Contributor

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

    Powered by Codex Action

  3. miraclebakelaser commented on Apr 28, 2026

    @miraclebakelaser
    ContributorAuthor

    not a dupe

  4. sickn33 commented on Apr 29, 2026

    @sickn33

    Adding another data point from macOS/Codex Desktop.

    The hardcoded projectless/chat directory at ~/Documents/Codex is a real problem when Desktop & Documents is backed by iCloud Drive. In that setup, every new "Start from scratch" chat creates local workspace files under an iCloud-managed area, which can trigger File Provider sync churn and puts transient agent work in cloud sync by default.

    Workarounds are limited because Codex Desktop appears to require this exact location and rejects a symlink:

    Error starting chat
    Projectless thread directory must be a real directory
    

    I tried moving the folder to ~/.codex/projectless-chats and symlinking ~/Documents/Codex back to it, but new chats fail with the error above. Updating local state/config paths also does not solve new projectless chat creation, because the Desktop app recreates/uses ~/Documents/Codex.

    What would fix this cleanly:

    • a Desktop setting for the default parent folder for projectless chats / "Start from scratch" workspaces;
    • or a config key such as projectless_workspace_root = "/Users/<user>/.codex/projectless-chats";
    • and symlink support would also make advanced local setups much easier.

    Related: #19913 asks for the same default-parent-folder behavior from a slightly different angle.

  5. BigMoonTech commented on May 4, 2026

    @BigMoonTech

    Please fix this embarrassing oversight openai. What the hell is Sam Altman and friends doing releasing an application that forces data into a user's documents folder with no option to configure otherwise. I watched a video and got super stoked for the New Codex release but then spent 2 hours thinking I was insane because I couldn't configure where the default save location setting was for "project from scratch", come to find out you guys didn't even program in this most basic of all basic functionalities. Pathetic. Great first experience. Fucking pissed off and crashing out.

  6. Xp2510 commented on May 7, 2026

    @Xp2510

    Same from a Windows perspective - a hardcoded %USERPROFILE%/Documents/Codex, which is especially egregious since that is not necessarily even the location of the actual (movable) Documents folder and a place many users will never look.

    Workaround - just starting all chats inside a "chats" project - is clumsy and provides simple chats with cluttered and irrelevant project context.

  7. JoeyTeng commented on May 10, 2026

    @JoeyTeng

    Personally I've already used ~/Documents/Codex as a workspace for Codex so chat features is unusable, as it will dump garbage there :(

  8. jyxjjj commented on May 12, 2026

    @jyxjjj

    Hello, I recently encountered the same issue, but my focus is not on creating this directory — rather, I want to understand why this directory can bypass TCC.

    Since this appears to be some kind of special handling by Apple, I do not consider it a bug, abuse, or malware-like behavior. Therefore, instead of submitting an Issue, I created a Discussion for it. Here is the link: #22247.

    Additionally, I would also like to be able to define this directory myself. I usually create the /Volumes/TMP folder using the hdiutil together with diskutil.

  9. MisterRound commented on May 14, 2026

    @MisterRound

    My issue is related #22532 (comment)

    Using Codex inside OneDrive mapped Documents is a nightmare because the .git objects never fully sync and the churn is endless. It’s surprising this wasn’t obvious from onset, Documents is the most synced by default folder on any modern OS. Curious as to how this design decision was made.

  10. Kl-11 commented on May 15, 2026

    @Kl-11

    this is still an issues in the latest version. This makes using chats outside projects unusable, if it means it would save BS files into icloud Documents folder. Please fix.

  11. mikeysouthwell commented on May 27, 2026

    @mikeysouthwell

    Please allow us to either set this in the Codex app UI or the config.toml as a global variable.

  12. mambalong commented on May 28, 2026

    @mambalong

    Really need this feature, please, get it done

  13. miraclebakelaser commented on May 29, 2026

    @miraclebakelaser
    ContributorAuthor

    Really need this feature, please, get it done

    @mambalong then please thumb it up. That's the metric the OAI team looks at.

  14. nos1609 commented on Jun 2, 2026

    @nos1609

    Same problem as there #20880
    looks like definitely an architectural design flaw, starting to annoying already on daily basis manually cleaning up those undesirables residues leftovers

  15. andkondev commented on Jun 12, 2026

    @andkondev

    Cosigned... so much is in C:\Users\user.codex, why not by default put Chats there as well? Or at least allow users to select something else. Documents is where I store my stuff, I don't like apps using a default dump.

  16. wbopan commented on Jul 17, 2026

    @wbopan

    Adding a quantified data point from a current macOS installation; this is still present in a newer release:

    • Codex Desktop: 26.715.21425 (build 5488)
    • macOS: 27.0 (arm64)
    • Desktop & Documents is backed by iCloud Drive
    • Current ~/Documents/Codex snapshot: 5.25 GiB, 43,786 files, 6,757 directories, and 425 symlinks
    • 35,589 files in that tree were modified within the last three days
    • Six Git repositories are present under generated chat directories

    The Git metadata itself is not the main cost (about 32 MiB total). The larger problem is task-created dependency and build trees. One Codex-created site task alone installed a node_modules tree containing 29,604 files / 758 MiB inside ~/Documents/Codex.

    Retained task records confirm that Codex executed four git clone operations into projectless-task work/ directories, while another task ran a site initializer that performs git init followed by npm ci. This means the impact is not just an unwanted empty folder: projectless tasks can turn an iCloud-backed Documents folder into an active package/build workspace and automatically create tens of thousands of transient sync items.

    There is still no supported Desktop setting or documented config key for changing this root, and replacing ~/Documents/Codex with a symlink is rejected because the projectless root must be a real directory.

    A good solution would be:

    1. A Desktop setting and config key for projectless_workspace_root.
    2. Separate configurable locations for temporary work and retained user-facing outputs.
    3. An iCloud/OneDrive warning when the selected root is cloud-synced.
    4. A storage panel or retention policy for old work/, dependency, virtual-environment, and build directories.
    5. A backward-compatible migration flow that leaves existing task paths untouched unless the user explicitly migrates them.

    All paths and project names in this report are intentionally anonymized.

  17. andrewosipenko commented on Jul 21, 2026

    @andrewosipenko

    Today spend the morning trying to figure out what's the heck my MacOS became so slow suddenly. I have narrowed down the issue to the file sync pretty quickly but it was much harder to understand what it is syncing. Finally found codex project (site with massive node modules dir and .git directory).

  18. gasperbr commented on Aug 13, 2026

    @gasperbr

    Confirmed this is still present in the current macOS app, now under the renamed ChatGPT parent directory.

    Reproduction:

    1. In ChatGPT/Codex Desktop, choose Add project → Start from scratch.
    2. Give the project a name, e.g. stable-pair-liquidity-ui.
    3. The app creates ~/Documents/ChatGPT/stable-pair-liquidity-ui without asking for a location.

    Environment:

    • ChatGPT/Codex Desktop 26.803.41515 (build 6321)
    • macOS 15.5 (arm64)

    I keep development projects under a custom project root and do not use ~/Documents for source repositories. There is no visible Desktop setting or config.toml key for changing this default.

    The installed app implementation also confirms the location is not merely inherited from the macOS file picker: its createDefaultWorkspaceRoot() builds the path by joining Electron's app.getPath("documents") with the literal "ChatGPT", then creates the named repository beneath it.

    Requested behavior:

    • Add a Desktop setting for the default parent directory used by Start from scratch.
    • Expose the same value as a supported config key for managed/advanced setups.
    • During onboarding, allow selecting this root instead of silently forcing the OS Documents directory.

    This issue therefore still applies after the Codex → ChatGPT app/path rename.

  19. arussin commented on Sep 21, 2026

    @arussin

    Totally crazy that this simple feature is still not implemented.

  20. ibmcate commented on Sep 24, 2026

    @ibmcate

    I'd like to add a Windows-focused use case to this request.

    On Windows, Codex currently creates its app-owned/projectless chat workspace under a fixed location such as:

    C:\Users\<user>\Documents\Codex\...

    This is distinct from both the user's actual project/repository directories and CODEX_HOME. Even when CODEX_HOME is moved to another drive, the Codex app-owned workspace can remain tied to Documents\Codex.

    Please add a first-class setting for the Codex App's own default/projectless workspace root, ideally in both:

    • Settings UI: Settings -> Workspaces -> Default Codex workspace location
    • config.toml, e.g.:
      [desktop]
      projectless_workspace_root = "T:\\CodexWorkspaces"

    Important expected behavior:

    1. New app-owned/projectless workspaces should be created under the selected path.
    2. The location should support arbitrary local drives/volumes, including non-system drives on Windows.
    3. Existing workspace data should be migratable to the new location, preferably with an explicit migration action rather than requiring junctions/symlinks.
    4. Existing threads should preserve their references after migration.
    5. This setting should remain separate from CODEX_HOME and from normal user-selected project/repository folders.
    6. The app should validate permissions/free space and provide a clear error if the target directory is unavailable.
    7. The chosen path should be respected in Windows-native and WSL-backed Codex sessions where applicable.

    Why this matters: many developer machines intentionally keep large or frequently-written development data off the system drive for capacity, backup policy, SSD wear, performance, or filesystem-organization reasons. Requiring the app-owned workspace to live under the system user's Documents folder is unnecessarily restrictive. A configurable agent workspace/data root is already a basic capability in a number of other agent frameworks, including open-source tools such as Hermes Agent.

    This is a relatively small configuration surface, but it removes the need for fragile filesystem redirection workarounds and makes Codex much easier to integrate into real developer workstation layouts.

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 appconfigIssues involving config.toml, config keys, config merging, or config updatesenhancementNew feature or requestsessionIssues 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