UPDATE — Root cause isolated and workaround found for helper_unknown_error: setup refresh had errors
I wanted to update this thread because after extensive troubleshooting, I was able to isolate the failure and get Codex working again.
Hopefully this helps other Windows Codex users and gives the OpenAI Codex team enough information to prevent the same issue from happening to others.
Original failure
Codex consistently failed before it could launch PowerShell, CMD, Git, or any other process.
The error was:
CreateProcess { message: "Rejected(\"Failed to create unified exec process: helper_unknown_error: setup refresh had errors\")" }
The underlying error was:
helper_unknown_error: setup refresh had errors
I tried:
-
Restarting Codex.
-
Completely restarting Windows.
-
Updating Codex.
-
Windows App Repair.
-
Running Codex as Administrator.
-
Regenerating
%USERPROFILE%\.cache\codex-runtimes.
None of those fixed the affected workspace.
Important discovery: Codex itself was not globally broken
I created a completely empty workspace and tested command execution.
Codex successfully returned:
EMPTY_PROJECT_TEST_OK
I then tested another existing development workspace.
That also worked.
This established that Windows, PowerShell, Codex Desktop, and unified exec were capable of working.
The failure was isolated to one specific existing workspace.
I ruled out the drive
I created another empty workspace on the same drive as the affected project.
Codex successfully executed commands there too.
So the drive itself was not the problem.
I ruled out the repository contents
I created a clean local clone of the affected Git repository and opened that clone in Codex.
It worked:
REPOSITORY_CLONE_TEST_OK
This showed that the committed repository contents were not causing the setup-refresh failure.
I tested workspace artifacts
The affected repository contained a project-local .codex directory.
I moved it out of the workspace and retested.
The failure remained.
I also moved untracked temporary/development artifacts completely outside the repository and confirmed the working tree was clean.
The original workspace still failed with:
Failed to create unified exec process:
helper_unknown_error: setup refresh had errors
So neither the working tree nor the project-local .codex directory appeared to be the root cause.
The breakthrough
I created a Windows directory junction pointing to the exact same physical repository.
For example:
Original path:
D:\Development\Project\repository
Temporary Codex alias:
D:\CodexWorkspaceAlias
The alias was only a Windows junction.
It was not another copy of the repository.
I opened the alias path as a new Codex workspace.
Codex immediately succeeded:
WORKSPACE_ALIAS_TEST_OK
I then verified Git from the alias workspace.
git rev-parse --show-toplevel resolved back to the actual canonical repository.
The branch, HEAD, and working-tree state were all correct.
I have since been able to resume actual development work through the alias path successfully.
What this appears to mean
The exact same physical repository behaved differently depending only on which filesystem path Codex used to open it:
Original repository path
↓
Codex setup refresh
↓
FAIL
Windows junction alias
↓
same physical files
same .git directory
same branch
same HEAD
↓
Codex setup refresh
↓
SUCCESS
This strongly suggests that Codex Desktop had stale, corrupted, or otherwise invalid workspace/setup state associated with the original absolute workspace path.
Giving the exact same repository a new path through a Windows junction apparently caused Codex to initialize fresh workspace state, after which unified exec worked normally.
Current workaround
The workaround that worked for me was:
-
Leave the real repository exactly where it is.
-
Create a Windows directory junction pointing to the repository.
-
Open the junction path in Codex instead of the original path.
-
Verify Git resolves back to the canonical repository.
-
Continue development through the alias.
This avoided:
-
Moving the real repository.
-
Using a second repository for ongoing development.
-
Deleting Git history.
-
Resetting branches.
-
Modifying application source code.
-
Disabling Windows Security.
-
Deleting global
.codexdata.
Microsoft Defender investigation
During troubleshooting, I also found historical Microsoft Defender detections involving a Codex runtime component.
I initially considered whether Defender was responsible for the current failure.
However, Codex continued working after those historical events.
I subsequently checked Defender’s recent Protection History and Event Viewer records covering the period when this specific failure began and found no new corresponding Defender threat-block/remediation events.
Therefore, I do not currently have evidence that Defender caused this particular workspace-specific failure.
I did not disable Defender or whitelist Codex to solve the problem.
Request to OpenAI / Codex engineering
It would be extremely useful if Codex provided an official mechanism to:
Reset or reinitialize Codex setup state for one specific workspace/path.
The current error:
helper_unknown_error: setup refresh had errors
doesn’t provide enough information to determine what actually failed.
If Codex maintains workspace initialization/setup information associated with an absolute filesystem path, I would suggest adding something like:
Reset Workspace Environment
or:
Rebuild Workspace Setup
Codex could potentially also detect this condition automatically.
For example:
-
Determine that the general command runtime works.
-
Detect that setup failure occurs only for one workspace.
-
Offer to rebuild that workspace’s setup state.
-
Preserve the Git repository and user data.
-
Show which setup component actually failed instead of returning only
helper_unknown_error.
That would have saved a significant amount of troubleshooting time.
Environment
-
Windows 10 Home
-
Windows Version 2009
-
OS Build 26200
-
64-bit
-
ChatGPT/Codex Desktop version
26.818.5229.0 -
%USERPROFILE%\.codexexists -
Codex runtime cache was regenerated during troubleshooting
Bottom line
Codex was not globally broken.
Windows process execution was not globally broken.
PowerShell was not broken.
Git was not broken.
The drive was not broken.
The repository itself was not broken.
The failure followed the original Codex workspace path.
Opening the exact same repository through a new Windows junction path caused Codex setup/unified exec to work immediately.
I hope OpenAI can investigate how Codex stores path-specific workspace/setup-refresh state and provide a supported reset mechanism so other developers don’t have to go through the same troubleshooting process.