openai / openai/codex

macOS desktop upgrade can strand existing local tasks on stale symlinked writable roots

Open
#40,121 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug sandbox
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

After updating and restarting the macOS Codex/ChatGPT desktop app, an existing local Codex task can fail before startup because sandbox setup rejects a persisted writable root that is now a symlink.

Error
failed to load AGENTS.md instructions for environment `local`: failed to prepare fs sandbox: failed to prepare Seatbelt sandbox: writable root <legacy-root> contains symlink component <legacy-root>; symlinked writable roots are not supported
Context
  • Platform: macOS
  • Trigger: update to the latest desktop app version, then restart.
  • The task's actual current folder already uses the resolved, non-symlink path.
  • A legacy compatibility path remains as a symlink to that location.
  • The task UI exposes no Environment or Writable folders control, so the persisted root cannot be inspected, changed, or removed.
Expected behavior

The upgrade should either canonicalize persisted symlinked writable roots to their resolved paths, or preserve the existing task's ability to start and provide a user-visible repair path.

Actual behavior

The task fails before it can load AGENTS.md or run any work. Restarting does not help, and there is no in-app way to repair the stale root.

Requested fix

Please add migration/canonicalization for persisted writable roots and an in-app recovery path for unsupported stale roots.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing task startup through persisted writable-root loading and macOS Seatbelt sandbox preparation, using the reported symlinked legacy path as the reproduction case. Check where the existing task fails before AGENTS.md loads; done means upgrade migration or recovery lets the task start with a resolved writable root and provides an in-app repair path.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.