Repository navigation
Don't fail a delivered wait over its archive, and explain Codex desktop EPERM - #26
Merged
Merged
Conversation
…op EPERM In the Codex desktop app, a session's sandbox can read ~/.pair but not write it, since the app doesn't apply writable_roots. A pair wait run inside it delivered the approval and then exited 1 because the archive rename failed with EPERM, and the hint asked for the writable_roots line the user already had. wait now warns and exits 0 when it delivered the result but couldn't archive the thread; the thread stays closed in its lane, and the next wait that can write archives it. Inside Codex, the EPERM hint adds that a session sandbox may ignore writable_roots, and to run the pair command outside it or grant the session write access. The README and DESIGN.md say the same. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Y3kg5hjT2zSZM9qUEEinM
A wrong root or ordinary permissions can also cause EPERM, so the hint says the session's sandbox may not apply writable_roots. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Y3kg5hjT2zSZM9qUEEinM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Y3kg5hjT2zSZM9qUEEinM
The hint no longer repeats itself, the comment names the commands that archive a closed thread (wait and send request), and the README only suggests granting access if the app allows it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Y3kg5hjT2zSZM9qUEEinM
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What happened (elf-tower, Codex Desktop 0.166.0-alpha):
~/.codex/visualizations/…and the temp directories, and doesn't applywritable_roots = ["~/.pair"]from~/.codex/config.toml.pair waitdelivered the approval, then failed to rename the thread intoarchive/(EPERM) and exited 1.writable_rootsline they already had.Changes:
wait: when the result is delivered but archiving fails, it printspair: warning: delivered, but couldn't archive the finished thread: …and exits 0. The thread stays closed in its lane; the nextwaitdelivers it again, and the first one that can write archives it.CODEX_THREAD_IDset), the channel EPERM/EACCES error adds that a session's sandbox, such as the desktop app's, may not applywritable_roots. It says to run the pair command outside the sandbox, or to give the session write access to the channel root.Tests (112 pass):
CODEX_THREAD_ID.waitdelivers the result again and archives it.🤖 Generated with Claude Code
https://claude.ai/code/session_012Y3kg5hjT2zSZM9qUEEinM