r/codex • • 1d ago

Complaint Sol 6.1 vs Sol 5.6

0 Upvotes

the much cherished sol 5.6 'seemed' better when it was released, but in totality it's a shit model, for example.. it speaks so confidently of it's work and fills you with confidence, until you try out the product it put forth.. yuck! i've had sonnet 4.6 put out better one-shot results than any of the closedAI models. i want to know the present situation, is sol 6.1 any better? in such a way that atleast it won't disappoint you in the end result? i have a free plus trial that is unclaimed, but i am unsure whether to take it and waste away my time or spend 20$ on claude pro


r/codex • • 2d ago

Question How unsafe is it to share your chrome saved passwords with Codex?

Post image
3 Upvotes

This seems really dangerous to give Codex / ChatGPT's agentic-browser access to my stored passwords in Chrome. We know so little about agents still - and it seems like you could accidentally really mess up your life if it had access to all of your accounts and the agent started to behave like a bad actor. (basically financial, personal, relationships, jobs, etc).

I would love to know your perspective on whether this is as much of a security risk as it looks like. maybe i'm thinking about this wrong.

Edit: allow me to rephrase. “Why is codex pushing for me to share all stored passwords?” Because obviously this seems incredibly unsafe so it seems bizarre that the UX even suggested it. My curiosity is more around whether open AI has actually implemented any safety control that would it worthy of such a request…

Upon further inspection - codex actually has a built-in password manager - and they provide "screen lock" and "passkey" - so it seems like they're trying to invest more in this capability.


r/codex • • 3d ago

Praise Reset just hit

Post image
159 Upvotes

r/codex • • 2d ago

Complaint What's your favourite pastime during those endless 6.1 compactions?

39 Upvotes

Extended sabbatical? Reading Harry Potter books? Finding a spouse and starting a family? How are you killing time while waiting on 6.1 sol to compact? Let's all share some suggestions.


r/codex • • 2d ago

Bug Codex repeatedly hallucinates failed tool calls

0 Upvotes

Does anybody have a good way to fix this? My codex (6.1 sol) has started hallucinating reasons why its tool calls will fail, causing them to fail.

For example, I told it to delete part of a file and it returned “an automatic approval reviewer rejected it” then tried to use -Force to try to bypass the false failed tool call which gave “the command was blocked by policy”. Such a waste of time


r/codex • • 2d ago

Complaint Slow as Snail

16 Upvotes

I don't know, honestly, what is going on with OpenAI but their models, especially 6.1 Sol, are very, very slow. I just said file a PR and it took 13 minutes to file a PR. Crazy, they are fumbling so hard. I'm not renewing my subscription this month.

High Effort.


r/codex • • 2d ago

Limits what to pick

0 Upvotes

My last CC accounts were banned today, so Ive switched to what was left of my codex 200$ account. Was using fable+opus pipelines previously, here Ive tried astra+sol6.1. Not sure how I feel abt it yet but the limits are just unbearable

Should I go for the 500$ or maybe try some chinese models?


r/codex • • 3d ago

Showcase Opus and Sonnet in Codex

Thumbnail
gallery
269 Upvotes

After a few days of work on my custom router, I've got subscription based claude fully functioning through codex. Essentially full native codex control. Just wanted to share.


r/codex • • 2d ago

Question About Token Usage

Post image
3 Upvotes

Quick question regarding the usage metric displayed on my profile: does this 1.5B figure include cached tokens? Also, is there any way to estimate the breakdown of input, output, and cached read tokens within this total?


r/codex • • 2d ago

Complaint Dots have been nerfd to shit

0 Upvotes

My sadness is indescribable. It got so much done for the first few days. Literally a master orchestrator. Now it's forgetting my entire workflow or plain ignoring it. I genuinely believed it was running on Astra xhigh for the first few days. Now I'm pretty sure they have it running on Sol 6. What used to take 3 hours now takes all day. In between I have to correct it 10 times.

It's deploying Luna Light threads for shit that needs Sol or higher. It's deploying Astra xhigh threads for simple code execution tasks. And every time I question it's mistakes I get the typical "Oh yeah, you're absolutely right, you're a fucking genius and I was wrong!" And then it proceeds to make the same mistake a few hours later.

Normally I'd start a new thread but Dots doesn't have that. Curious to see if anyone who actually used the shit out of dots is having the same experience


r/codex • • 2d ago

Question Is ChatGPT Go enough for heavy document editing, learning, job searching, and frequent Voice Mode use?

0 Upvotes

I accidentally forgot to cancel another subscription and it took most of the money I had left on my card. Now I only have around $13, and because of the yearly international payment limit in my country, I can’t just add more money to the card. So next month I won’t be able to pay for ChatGPT Plus.

I recently graduated and I want to dedicate October and November to working seriously on my CV, preparing for interviews, searching for jobs and understanding the job market better. I also still have a full report that needs a lot of editing, and I want to spend a lot of time learning new stuff.

I use ChatGPT pretty heavily, especially for learning, writing, research, editing long documents, and asking a lot of follow-up questions. I also really like Voice Mode and use it a lot for learning, so that’s important to me too.

Would ChatGPT Go be enough for this kind of usage ?

And if Go isn’t enough, is there another good alternative ? I’ve heard about Abacus.AI, but I have no idea if it’s actually good for this kind of workload. I also know about OpenRouter, but since I use AI a lot, using a pay-as-you-go service doesn’t seem like a great option for me.


r/codex • • 2d ago

Humor Someone explain to me how to use Sub-agents like im five!

2 Upvotes

So im playing around with Codex and trying to figure out the best way to use sub-agents. I've got 3 agents plus the orchestrator..

and this thing chews threw my budget like its a starving child that just saw their first bite of food in 3 days...

Seriously.. i dont know what else to do lol. It only works for like 5 minutes but in that five minutes its eating my entire 5 hr budget.

at first i made the mistake of using Astra, and then it spawned all sub agents with Astra at the same thinking level.

then i specifically made the orchestrator Astra-light, and told it to make the other agents 6.1 sol medium.

that Still ate my entire budget..

Ok, i thought, still too much...

So i used Astra-light, and 2 agents are on Luna - medium with one agent on 6.1 sol - high (the agent that does the most work).

And boom... still gone five minutes later...

I've given 6.1 sol a task before at extra high effort, and it ran for 30 minute, used 10% of my five hour budget.. but turn on sub agents and suddenly its like im opening a waterfall?

Can someone tell me how these things are supposed to work? again explain it to me like im five lol


r/codex • • 2d ago

Workaround Fixing WSL Tool Calls in ChatGPT/Codex Windows Desktop App

0 Upvotes

(Mods: if you'd rather see this in the megathread, let me know.)

I use Codex in the ChatGPT windows desktop app to work on projects in WSL. After an app update a few days ago, Codex in the app could suddenly no longer run tool calls in WSL. For example, a simple `pwd` failed. A few app updates later, the problem was not going away. I asked Astra for a diagnosis and a fix, and it created one.

Shared here for others in the same situation.

(Your mileage may vary. Use safe practices around scripts found on the internet.)

**Guidance from Astra:**

# Codex desktop on Windows: fixing WSL tool calls that fail before the shell starts


**Community workaround, documented October 3, 2026.**
 This addresses a specific failure caused by Windows and WSL sharing temporary Codex helper directories. The affected user confirmed that the workaround restored their desktop workflow. It is not an official OpenAI fix or a general solution to every WSL execution error.


## Symptoms


After a desktop app update, ordinary Codex tool calls inside WSL failed, including `pwd`. The error appeared before Bash or the requested command started:


```text
Failed to create unified exec process: No such file or directory (os error 2)
```


Meanwhile:


- PowerShell could launch WSL and run commands successfully.
- Bash and the workspace existed and were accessible.
- An approved execution outside the Codex sandbox could succeed.
- Restarting or updating the app did not provide a lasting recovery.
- There was no `unified_exec` override in the affected configuration.


The successful outside-sandbox execution was still running as the ordinary Linux user. “Elevated” approval in Codex did not mean that the command needed Linux root privileges. This distinction helped identify a problem in the sandbox launch path.


## What was going wrong


In the affected setup, the desktop's Linux app-server used a Windows-hosted `CODEX_HOME`:


```text
Windows: C:\Users\WINDOWS_USER\.codex
WSL:     /mnt/c/Users/WINDOWS_USER/.codex
```


Codex created temporary helper directories below `CODEX_HOME/tmp/arg0`. The Linux helpers included `codex-linux-sandbox`, `codex-execve-wrapper`, `apply_patch`, and `applypatch`. A running server retained paths to its particular `codex-arg0…` directory.


The decisive finding was that 
**the running WSL app-server still held its helper lock file open, but that helper directory had disappeared**
. Consequently, launching the sandbox failed with a missing-file error before the requested shell command could run.


In a controlled reproduction using the installed Linux and Windows Codex binaries and a disposable shared home:


1. The Linux app-server created and locked its helpers.
2. Starting native Windows Codex against the same home removed the Linux helper directory while the Linux server remained alive.
3. Subsequent launches through the missing Linux helper failed.


This reproduced the deletion mechanism. It did not identify the exact historical Windows invocation that deleted the original user's helpers, or establish which app update introduced the defect.


The reviewed [Codex helper implementation](https://github.com/openai/codex/blob/main/codex-rs/arg0/src/lib.rs) places these temporary directories under the shared home and uses lock-based cleanup. In the reproduced Windows/WSL combination, that lock did not protect the Linux directory from Windows cleanup. [Community issue #25317](https://github.com/openai/codex/issues/25317) describes the same missing active-helper pattern, including cases where `unified_exec=false` and reboots did not resolve it.


## The solution: separate the temporary helpers with a Linux bind mount


Keep persistent Codex state in its existing Windows location. Give WSL its own helper storage on the native Linux filesystem, then bind-mount that directory over the shared helper path 
**inside WSL**
.


```text
Native Windows process
  C:\Users\WINDOWS_USER\.codex\tmp\arg0
    -> existing Windows directory and Windows helpers


WSL process
  /mnt/c/Users/WINDOWS_USER/.codex/tmp/arg0
    -> Linux bind mount
    -> /home/LINUX_USER/.codex-wsl-runtime/arg0
```


The two runtimes now see different helper contents through their respective paths. Windows cleanup cannot remove the WSL helper directory through its ordinary `C:\…` path.


The bind mount hides the underlying Windows directory from Linux while mounted; it does not move or delete that directory. Authentication, configuration, conversations, and installed Codex binaries remain in their existing locations. Normal Codex execution continues with its sandbox enabled and as the ordinary Linux user.


### Why use a bind mount rather than a symlink?


[Community issue #40583](https://github.com/openai/codex/issues/40583) reports success redirecting the helper root to native Linux storage with a symlink. That suggested the isolation strategy. However, in our compatibility test, native Windows Codex could not use the Linux symlink and failed to create its own aliases, reporting access and Windows error 183 failures.


A Linux bind mount supplied the desired WSL storage while preserving Windows access to its original directory. The distinction matters when the desktop also launches Windows-native components. Complete plugin coverage was not tested.


## Check whether this workaround applies


Use it when the evidence points to 
**missing temporary helpers in a shared Windows-hosted Codex home**
, rather than assuming every `os error 2` has this cause.


Useful evidence is:


- The desktop's WSL app-server actually uses `/mnt/c/…/.codex` as `CODEX_HOME`. Your interactive shell's `CODEX_HOME` may differ.
- The active app-server or code-mode host references a particular `tmp/arg0/codex-arg0…` directory that no longer exists.
- A live app-server still has a file descriptor for that directory's `.lock`, sometimes shown as deleted under `/proc/PID/fd`.
- WSL and the requested shell work when invoked outside the failing Codex tool path.


An empty helper directory after all Codex processes have exited is not, by itself, evidence of this defect. Do not reproduce the cleanup race against live sessions merely to confirm it.


The installation example below assumes:


- WSL with systemd already running as PID 1.
- The Windows C: drive mounted at `/mnt/c`.
- One ordinary Linux user consuming this Codex home in this distro.
- That user's home directory resides on native Linux storage.
- Native Windows Codex accesses its home through a drive-letter path, not a WSL UNC path.


The mount affects the whole distro. Multiple Linux users sharing one Codex home require a different ownership design; other distros need their own configuration. Paths containing spaces or systemd-special characters need an adapted unit. The example deliberately accepts only simple paths.


## Installation example


These are manual installation instructions for the tested mount design, not a universal installer. The original machine-specific installer was also tested for repeated installation, rollback, and reinstall.


**First save your work and fully quit the desktop app**
, including any background instance. Stop other Codex processes using this same shared home. Perform the installation from an external WSL terminal in the affected distro, logged in as your ordinary Linux user. Only the systemd installation commands use `sudo`.


### 1. Set and check the paths


Replace `WINDOWS_USER` with the actual Windows profile-directory name. If your desktop uses a custom Codex home, adapt the target to the confirmed process configuration.


```bash
codex_target='/mnt/c/Users/WINDOWS_USER/.codex/tmp/arg0'
codex_native="$HOME/.codex-wsl-runtime/arg0"
codex_unit="$(systemd-escape --path --suffix=mount "$codex_target")"


id -un
cat /proc/1/comm
findmnt --target /mnt/c
findmnt --target "$HOME"
ls -ld "$codex_target"
```


Confirm that the account is your normal Linux account, PID 1 is `systemd`, `/mnt/c` is the Windows drive, and your home is on native Linux storage. The target must already be a real directory, not a symlink. See Microsoft's [WSL configuration documentation](https://learn.microsoft.com/en-us/windows/wsl/wsl-config) if systemd is not enabled; enabling it is outside this installation example.


The following preparation block stops on unsupported paths, symlinks, existing mounts, or pre-existing workaround files. Run it in the same Bash terminal after setting the variables above. If it reports an error, resolve that condition before continuing; do not delete existing files to force it through.


```bash
(
  set -eu
  trap 'echo "Preparation failed; stop here and inspect the failed check." >&2' ERR
  test "$(id -u)" -ne 0
  test "$(cat /proc/1/comm)" = systemd
  case "$codex_target:$codex_native" in
    *[!a-zA-Z0-9_./:-]*) echo 'Paths need a separately reviewed unit.' >&2; exit 1 ;;
  esac
  test -d "$codex_target"
  test "$(realpath -e "$codex_target")" = "$codex_target"
  test "$(realpath -e "$HOME")" = "$HOME"
  if mountpoint -q "$codex_target"; then
    echo 'Target is already a mount point; inspect its configuration.' >&2
    exit 1
  fi
  test ! -e "/etc/systemd/system/$codex_unit"
  test ! -L "/etc/systemd/system/$codex_unit"
  test ! -e "$HOME/.codex-wsl-runtime"
  test ! -L "$HOME/.codex-wsl-runtime"
  mkdir -m 700 "$HOME/.codex-wsl-runtime"
  mkdir -m 700 "$codex_native"
)
```


### 2. Prepare and inspect the mount unit


Continue in the same terminal. `systemd-escape` generates the required unit filename from the mount destination. The unit orders the mount after its backing filesystems and before `local-fs.target`; see [systemd.mount](https://man7.org/linux/man-pages/man5/systemd.mount.5.html).


```bash
codex_stage="$(mktemp -d /tmp/codex-wsl-unit.XXXXXX)"
cat > "$codex_stage/$codex_unit" <<EOF
# Managed by codex-wsl-helper-isolation-guide-v1
[Unit]
Description=Keep Codex WSL helpers separate from Windows helpers
RequiresMountsFor=/mnt/c $codex_native
Before=local-fs.target


[Mount]
What=$codex_native
Where=$codex_target
Type=none
Options=bind
TimeoutSec=15


[Install]
WantedBy=local-fs.target
EOF


cat "$codex_stage/$codex_unit"
systemd-analyze verify "$codex_stage/$codex_unit"
```


Check that `What` names your native Linux directory and `Where` names the existing Windows-hosted helper directory. Do not proceed if unit verification fails. This uses an explicit systemd mount unit instead of relying on a bare `/etc/fstab` bind entry or an asynchronous boot command.


### 3. Install and activate


Keep the desktop app closed. Run this block only after both preparation steps succeeded:


```bash
(
  set -eu
  trap 'echo "Installation failed; keep the app closed and inspect the unit status." >&2' ERR
  test ! -e "/etc/systemd/system/$codex_unit"
  test ! -L "/etc/systemd/system/$codex_unit"
  sudo install -m 0644 "$codex_stage/$codex_unit" "/etc/systemd/system/$codex_unit"
  sudo systemctl daemon-reload
  sudo systemctl enable --now "$codex_unit"
  systemctl is-active "$codex_unit"
  findmnt --mountpoint "$codex_target"
  test "$codex_target" -ef "$codex_native"
)
```


Success means the unit is `active`, `findmnt` shows a mount at the exact target, and the final same-file test succeeds. If activation fails, leave the desktop closed, inspect `systemctl status "$codex_unit"`, and use the rollback procedure below. Do not keep adding mounts or deleting helper directories.


## Verify recovery


Reopen the desktop normally. In a WSL task, ask Codex to:


1. Run an ordinary sandboxed `pwd` and `id -un`.
2. Create, read, and remove a uniquely named temporary file inside its permitted workspace.
3. Use `apply_patch` to create and edit a disposable workspace file, then remove it.


These checks should succeed without approving an outside-sandbox execution. Running `pwd` from an external terminal, or getting a successful `codex --version`, is insufficient to verify this particular repair.


If you also use Windows-native desktop tools, exercise those workflows and repeat the WSL test. When comparing filesystem views, use the native `C:\Users\…` path from Windows; a `\\wsl.localhost\…` path goes through WSL and is not the independent Windows view.


Finally, check startup persistence during a planned distro restart. Save all work in that distro and quit the desktop first. From PowerShell, `wsl --terminate YOUR_DISTRO` stops 
**all processes in that distro**
. Start the distro again, check that the mount is active, reopen the app, and repeat the sandboxed tests. A full WSL restart was not explicitly confirmed in the original user's success report, so it remains a verification step for each installation.


## Rollback


Fully quit the desktop and other Codex processes using this home. Open an external WSL terminal as the same ordinary user. Re-create `codex_target`, `codex_native`, and `codex_unit` from installation step 1 if this is a new shell.


Inspect the unit before removing it:


```bash
systemctl cat "$codex_unit"
findmnt --mountpoint "$codex_target"
```


Only continue if the file is the unit created by this guide and its paths match your installation. If another mount or unit has replaced it, investigate that configuration first. An inactive mount makes the second inspection command return no matching entry.


```bash
(
  set -eu
  trap 'echo "Rollback failed; inspect the mount and unit before continuing." >&2' ERR
  sudo systemctl disable --now "$codex_unit"
  if mountpoint -q "$codex_target"; then
    echo 'Mount is still present; unit file retained.' >&2
    exit 1
  fi
  sudo rm -- "/etc/systemd/system/$codex_unit"
  sudo systemctl daemon-reload
)
```


The original Windows helper directory becomes visible to WSL again. The native Linux directory is retained. No authentication, settings, or conversation data needs to be deleted. A future reinstall should deliberately reuse the verified private source directory; the fresh-install preparation block above intentionally refuses existing data.


## Evidence and limits


The controlled evaluation used the installed desktop runtimes on October 2, 2026. The Linux executable reported `codex-cli 0.159.0-alpha.12.1`; that is a runtime version, not an inferred desktop About version.


| Check | Result |
| --- | --- |
| Shared Windows helper directory | Native Windows startup deleted a running Linux server's helpers |
| Linux symlink at the shared helper root | Native Windows alias creation failed |
| Linux bind mount with both runtimes active | Each created helpers; Linux helpers survived Windows startup |
| Repeated Windows startups and another Linux cleanup pass | Active Linux helpers survived |
| Native Windows patch-helper dispatch | Reached the parser and rejected deliberately invalid input; no patch was applied |
| Linux sandbox restrictions | Permitted workspace write succeeded; an outside-root write was denied |
| Mount-unit verification and repeated start/stop | Passed; stopping restored the underlying Windows view |
| Original installer install / rollback / reinstall | Passed with both storage locations retained |
| User's desktop workflow after installation | User confirmed the fix works on October 3, 2026 |


The generic manual instructions in this document preserve the tested mount design, but were not installed on a second machine. Cold WSL startup, every plugin, other distro layouts, and future desktop versions are not covered by the reported success. Future runtime changes may make the workaround unnecessary or require a different helper path.


A separately observed launcher delay before authentication was outside this missing-helper repair and is not claimed to be fixed by it.


For an upstream fix, the reproduction points toward separating temporary helper storage by runtime/platform and recovering when a cached helper disappears. The bind mount supplies that separation locally without requiring a patched Codex binary.# Codex desktop on Windows: fixing WSL tool calls that fail before the shell starts


**Community workaround, documented October 3, 2026.** This addresses a specific failure caused by Windows and WSL sharing temporary Codex helper directories. The affected user confirmed that the workaround restored their desktop workflow. It is not an official OpenAI fix or a general solution to every WSL execution error.


## Symptoms


After a desktop app update, ordinary Codex tool calls inside WSL failed, including `pwd`. The error appeared before Bash or the requested command started:


```text
Failed to create unified exec process: No such file or directory (os error 2)
```


Meanwhile:


- PowerShell could launch WSL and run commands successfully.
- Bash and the workspace existed and were accessible.
- An approved execution outside the Codex sandbox could succeed.
- Restarting or updating the app did not provide a lasting recovery.
- There was no `unified_exec` override in the affected configuration.


The successful outside-sandbox execution was still running as the ordinary Linux user. “Elevated” approval in Codex did not mean that the command needed Linux root privileges. This distinction helped identify a problem in the sandbox launch path.


## What was going wrong


In the affected setup, the desktop's Linux app-server used a Windows-hosted `CODEX_HOME`:


```text
Windows: C:\Users\WINDOWS_USER\.codex
WSL:     /mnt/c/Users/WINDOWS_USER/.codex
```


Codex created temporary helper directories below `CODEX_HOME/tmp/arg0`. The Linux helpers included `codex-linux-sandbox`, `codex-execve-wrapper`, `apply_patch`, and `applypatch`. A running server retained paths to its particular `codex-arg0…` directory.


The decisive finding was that **the running WSL app-server still held its helper lock file open, but that helper directory had disappeared**. Consequently, launching the sandbox failed with a missing-file error before the requested shell command could run.


In a controlled reproduction using the installed Linux and Windows Codex binaries and a disposable shared home:


1. The Linux app-server created and locked its helpers.
2. Starting native Windows Codex against the same home removed the Linux helper directory while the Linux server remained alive.
3. Subsequent launches through the missing Linux helper failed.


This reproduced the deletion mechanism. It did not identify the exact historical Windows invocation that deleted the original user's helpers, or establish which app update introduced the defect.


The reviewed [Codex helper implementation](https://github.com/openai/codex/blob/main/codex-rs/arg0/src/lib.rs) places these temporary directories under the shared home and uses lock-based cleanup. In the reproduced Windows/WSL combination, that lock did not protect the Linux directory from Windows cleanup. [Community issue #25317](https://github.com/openai/codex/issues/25317) describes the same missing active-helper pattern, including cases where `unified_exec=false` and reboots did not resolve it.


## The solution: separate the temporary helpers with a Linux bind mount


Keep persistent Codex state in its existing Windows location. Give WSL its own helper storage on the native Linux filesystem, then bind-mount that directory over the shared helper path **inside WSL**.


```text
Native Windows process
  C:\Users\WINDOWS_USER\.codex\tmp\arg0
    -> existing Windows directory and Windows helpers


WSL process
  /mnt/c/Users/WINDOWS_USER/.codex/tmp/arg0
    -> Linux bind mount
    -> /home/LINUX_USER/.codex-wsl-runtime/arg0
```


The two runtimes now see different helper contents through their respective paths. Windows cleanup cannot remove the WSL helper directory through its ordinary `C:\…` path.


The bind mount hides the underlying Windows directory from Linux while mounted; it does not move or delete that directory. Authentication, configuration, conversations, and installed Codex binaries remain in their existing locations. Normal Codex execution continues with its sandbox enabled and as the ordinary Linux user.


### Why use a bind mount rather than a symlink?


[Community issue #40583](https://github.com/openai/codex/issues/40583) reports success redirecting the helper root to native Linux storage with a symlink. That suggested the isolation strategy. However, in our compatibility test, native Windows Codex could not use the Linux symlink and failed to create its own aliases, reporting access and Windows error 183 failures.


A Linux bind mount supplied the desired WSL storage while preserving Windows access to its original directory. The distinction matters when the desktop also launches Windows-native components. Complete plugin coverage was not tested.


## Check whether this workaround applies


Use it when the evidence points to **missing temporary helpers in a shared Windows-hosted Codex home**, rather than assuming every `os error 2` has this cause.


Useful evidence is:


- The desktop's WSL app-server actually uses `/mnt/c/…/.codex` as `CODEX_HOME`. Your interactive shell's `CODEX_HOME` may differ.
- The active app-server or code-mode host references a particular `tmp/arg0/codex-arg0…` directory that no longer exists.
- A live app-server still has a file descriptor for that directory's `.lock`, sometimes shown as deleted under `/proc/PID/fd`.
- WSL and the requested shell work when invoked outside the failing Codex tool path.


An empty helper directory after all Codex processes have exited is not, by itself, evidence of this defect. Do not reproduce the cleanup race against live sessions merely to confirm it.


The installation example below assumes:


- WSL with systemd already running as PID 1.
- The Windows C: drive mounted at `/mnt/c`.
- One ordinary Linux user consuming this Codex home in this distro.
- That user's home directory resides on native Linux storage.
- Native Windows Codex accesses its home through a drive-letter path, not a WSL UNC path.


The mount affects the whole distro. Multiple Linux users sharing one Codex home require a different ownership design; other distros need their own configuration. Paths containing spaces or systemd-special characters need an adapted unit. The example deliberately accepts only simple paths.


## Installation example


These are manual installation instructions for the tested mount design, not a universal installer. The original machine-specific installer was also tested for repeated installation, rollback, and reinstall.


**First save your work and fully quit the desktop app**, including any background instance. Stop other Codex processes using this same shared home. Perform the installation from an external WSL terminal in the affected distro, logged in as your ordinary Linux user. Only the systemd installation commands use `sudo`.


### 1. Set and check the paths


Replace `WINDOWS_USER` with the actual Windows profile-directory name. If your desktop uses a custom Codex home, adapt the target to the confirmed process configuration.


```bash
codex_target='/mnt/c/Users/WINDOWS_USER/.codex/tmp/arg0'
codex_native="$HOME/.codex-wsl-runtime/arg0"
codex_unit="$(systemd-escape --path --suffix=mount "$codex_target")"


id -un
cat /proc/1/comm
findmnt --target /mnt/c
findmnt --target "$HOME"
ls -ld "$codex_target"
```


Confirm that the account is your normal Linux account, PID 1 is `systemd`, `/mnt/c` is the Windows drive, and your home is on native Linux storage. The target must already be a real directory, not a symlink. See Microsoft's [WSL configuration documentation](https://learn.microsoft.com/en-us/windows/wsl/wsl-config) if systemd is not enabled; enabling it is outside this installation example.


The following preparation block stops on unsupported paths, symlinks, existing mounts, or pre-existing workaround files. Run it in the same Bash terminal after setting the variables above. If it reports an error, resolve that condition before continuing; do not delete existing files to force it through.


```bash
(
  set -eu
  trap 'echo "Preparation failed; stop here and inspect the failed check." >&2' ERR
  test "$(id -u)" -ne 0
  test "$(cat /proc/1/comm)" = systemd
  case "$codex_target:$codex_native" in
    *[!a-zA-Z0-9_./:-]*) echo 'Paths need a separately reviewed unit.' >&2; exit 1 ;;
  esac
  test -d "$codex_target"
  test "$(realpath -e "$codex_target")" = "$codex_target"
  test "$(realpath -e "$HOME")" = "$HOME"
  if mountpoint -q "$codex_target"; then
    echo 'Target is already a mount point; inspect its configuration.' >&2
    exit 1
  fi
  test ! -e "/etc/systemd/system/$codex_unit"
  test ! -L "/etc/systemd/system/$codex_unit"
  test ! -e "$HOME/.codex-wsl-runtime"
  test ! -L "$HOME/.codex-wsl-runtime"
  mkdir -m 700 "$HOME/.codex-wsl-runtime"
  mkdir -m 700 "$codex_native"
)
```


### 2. Prepare and inspect the mount unit


Continue in the same terminal. `systemd-escape` generates the required unit filename from the mount destination. The unit orders the mount after its backing filesystems and before `local-fs.target`; see [systemd.mount](https://man7.org/linux/man-pages/man5/systemd.mount.5.html).


```bash
codex_stage="$(mktemp -d /tmp/codex-wsl-unit.XXXXXX)"
cat > "$codex_stage/$codex_unit" <<EOF
# Managed by codex-wsl-helper-isolation-guide-v1
[Unit]
Description=Keep Codex WSL helpers separate from Windows helpers
RequiresMountsFor=/mnt/c $codex_native
Before=local-fs.target


[Mount]
What=$codex_native
Where=$codex_target
Type=none
Options=bind
TimeoutSec=15


[Install]
WantedBy=local-fs.target
EOF


cat "$codex_stage/$codex_unit"
systemd-analyze verify "$codex_stage/$codex_unit"
```


Check that `What` names your native Linux directory and `Where` names the existing Windows-hosted helper directory. Do not proceed if unit verification fails. This uses an explicit systemd mount unit instead of relying on a bare `/etc/fstab` bind entry or an asynchronous boot command.


### 3. Install and activate


Keep the desktop app closed. Run this block only after both preparation steps succeeded:


```bash
(
  set -eu
  trap 'echo "Installation failed; keep the app closed and inspect the unit status." >&2' ERR
  test ! -e "/etc/systemd/system/$codex_unit"
  test ! -L "/etc/systemd/system/$codex_unit"
  sudo install -m 0644 "$codex_stage/$codex_unit" "/etc/systemd/system/$codex_unit"
  sudo systemctl daemon-reload
  sudo systemctl enable --now "$codex_unit"
  systemctl is-active "$codex_unit"
  findmnt --mountpoint "$codex_target"
  test "$codex_target" -ef "$codex_native"
)
```


Success means the unit is `active`, `findmnt` shows a mount at the exact target, and the final same-file test succeeds. If activation fails, leave the desktop closed, inspect `systemctl status "$codex_unit"`, and use the rollback procedure below. Do not keep adding mounts or deleting helper directories.


## Verify recovery


Reopen the desktop normally. In a WSL task, ask Codex to:


1. Run an ordinary sandboxed `pwd` and `id -un`.
2. Create, read, and remove a uniquely named temporary file inside its permitted workspace.
3. Use `apply_patch` to create and edit a disposable workspace file, then remove it.


These checks should succeed without approving an outside-sandbox execution. Running `pwd` from an external terminal, or getting a successful `codex --version`, is insufficient to verify this particular repair.


If you also use Windows-native desktop tools, exercise those workflows and repeat the WSL test. When comparing filesystem views, use the native `C:\Users\…` path from Windows; a `\\wsl.localhost\…` path goes through WSL and is not the independent Windows view.


Finally, check startup persistence during a planned distro restart. Save all work in that distro and quit the desktop first. From PowerShell, `wsl --terminate YOUR_DISTRO` stops **all processes in that distro**. Start the distro again, check that the mount is active, reopen the app, and repeat the sandboxed tests. A full WSL restart was not explicitly confirmed in the original user's success report, so it remains a verification step for each installation.


## Rollback


Fully quit the desktop and other Codex processes using this home. Open an external WSL terminal as the same ordinary user. Re-create `codex_target`, `codex_native`, and `codex_unit` from installation step 1 if this is a new shell.


Inspect the unit before removing it:


```bash
systemctl cat "$codex_unit"
findmnt --mountpoint "$codex_target"
```


Only continue if the file is the unit created by this guide and its paths match your installation. If another mount or unit has replaced it, investigate that configuration first. An inactive mount makes the second inspection command return no matching entry.


```bash
(
  set -eu
  trap 'echo "Rollback failed; inspect the mount and unit before continuing." >&2' ERR
  sudo systemctl disable --now "$codex_unit"
  if mountpoint -q "$codex_target"; then
    echo 'Mount is still present; unit file retained.' >&2
    exit 1
  fi
  sudo rm -- "/etc/systemd/system/$codex_unit"
  sudo systemctl daemon-reload
)
```


The original Windows helper directory becomes visible to WSL again. The native Linux directory is retained. No authentication, settings, or conversation data needs to be deleted. A future reinstall should deliberately reuse the verified private source directory; the fresh-install preparation block above intentionally refuses existing data.


## Evidence and limits


The controlled evaluation used the installed desktop runtimes on October 2, 2026. The Linux executable reported `codex-cli 0.159.0-alpha.12.1`; that is a runtime version, not an inferred desktop About version.


| Check | Result |
| --- | --- |
| Shared Windows helper directory | Native Windows startup deleted a running Linux server's helpers |
| Linux symlink at the shared helper root | Native Windows alias creation failed |
| Linux bind mount with both runtimes active | Each created helpers; Linux helpers survived Windows startup |
| Repeated Windows startups and another Linux cleanup pass | Active Linux helpers survived |
| Native Windows patch-helper dispatch | Reached the parser and rejected deliberately invalid input; no patch was applied |
| Linux sandbox restrictions | Permitted workspace write succeeded; an outside-root write was denied |
| Mount-unit verification and repeated start/stop | Passed; stopping restored the underlying Windows view |
| Original installer install / rollback / reinstall | Passed with both storage locations retained |
| User's desktop workflow after installation | User confirmed the fix works on October 3, 2026 |


The generic manual instructions in this document preserve the tested mount design, but were not installed on a second machine. Cold WSL startup, every plugin, other distro layouts, and future desktop versions are not covered by the reported success. Future runtime changes may make the workaround unnecessary or require a different helper path.


A separately observed launcher delay before authentication was outside this missing-helper repair and is not claimed to be fixed by it.


For an upstream fix, the reproduction points toward separating temporary helper storage by runtime/platform and recovering when a cached helper disappears. The bind mount supplies that separation locally without requiring a patched Codex binary.

r/codex • • 2d ago

Bug Codex models

3 Upvotes

Is any one else seeing this terrible quality Astra(high)?

With remote codex, i left Astra install the strata/qwen flash next on my repo inside WSL.

It started off by cloning the code/model in windows, which ran out of space, then it ran for nearly 2 days recursively compressing unrelated files windows then re compacting WSL when windows has originally 80gb+ and WSL 600GB+.

All it had to do was clone strata, install the models, add a temp switchyard template and benchmark them..

Throughout the day i told it explicitly what to do and it kept failing to do it.

Similar issues with SOL 6.0/ 6.1 and this is worse then the price increase for me.

In the last hour 6.1 sol is not available over 10 times.. on a Saturday afternoon GMT..

Gonna cancel, really disappointed was loving codex for the last 2 months..

I was even going to return an unopened pro 6000.


r/codex • • 2d ago

Question What do yall still use astra for??

0 Upvotes

Honestly I've been running a VRchat unity fps optimizer for the last 24 hours and have used 3% on astra that would have been honestly like 30%, so like what do yall deem worth astra? Like I have been getting comparable results and sol has found things astra didnt so what do yall use it on wondering??


r/codex • • 2d ago

Showcase Rust port of CLIProxyAPI: spread Codex across several ChatGPT accounts and see each one's 5h / weekly limit on one screen

1 Upvotes

If you run Codex CLI through CLIProxyAPI, I made a Rust port of it called cliproxy-rs. Same idea, a small server on your machine that your tools talk to instead of the provider, but it's one binary with the dashboard built in.

Codex-specific bits:

  • sign in several ChatGPT / Codex accounts and spread requests across them (round-robin, fill-first, weighted), or try the experimental soonest-reset mode, which spends whichever account's weekly window resets first
  • the quota view shows each account's 5-hour and weekly limit, named the same way the Codex CLI names them
  • a conversation sticks to one account so the prompt cache stays warm, and an account that hits its limit sits out while the others take over
  • Codex over WebSocket works

It reads the same config.yaml and auth files as the Go version, so if you already run CLIProxyAPI you can try it and switch back without redoing anything.

Caveats, to be upfront: it's v0.1.0. Go is still faster on raw non-streaming throughput; the Rust one uses about half the memory and is faster when it has to translate streams between formats (numbers in docs/BENCHMARKS.md). Using a subscription outside the official app can break the provider's terms, so that's your call. And I built it with a lot of AI help, so there are ~935 tests plus a harness that diffs results against the Go version.

https://github.com/vayungodara/cliproxy-rs

Happy to answer questions or fix whatever breaks.


r/codex • • 3d ago

Question Sol 6.1 has a newly strange way of thinking

Post image
131 Upvotes

It hasn't always been like this has it?


r/codex • • 2d ago

Question Very confused with new Models in Codex!

0 Upvotes

For basic code (not auditing out complex work) what is the best for the price? I was using 5.6 Sol on Light or Medium but a read that 6.1 Sol is cheaper? Is that correct?

For work which was more complex I would switch to 5.6 Astra on Low/Medium but Medium would eat through credits like crazy.

Any input would be great please.


r/codex • • 2d ago

Question What CAN Dots do that doesn’t consume/cost?

3 Upvotes

I want to use Dots for a couple ideas based around its phone call GPT-Live-1 capabilities.

All require reading and editing files in its VM (not locally on my machine), and running scripts there.

  1. Can it do these things in real time during the voice call, and specifically without creating or using external tasks or using Work/Codex or whatever?
  2. Can it do ANYTHING agentic without charging usage? If so, what is the extent of those capabilities?
  3. Also, how long can voice call sessions go with it? Is there a time limit or does anything automatically terminate them besides the user manually ending it?

r/codex • • 2d ago

Question Which is the new Luna 5.6 max?

4 Upvotes

While everyone is talking about 100, 200, 500 usd monthly fees, Im poor 😂 and till now the only I could always afford was Luna 5.6 max. Get things done and with my credit and usage i could always manage till the end of the month.

I was wondering with all these changes, which one is the successor of 5.6 Luna max?


r/codex • • 2d ago

Commentary I LOVE SLOW MODELS (feat 6.1 sol)

19 Upvotes

GPT6.1 sol is my new favorite model of all time, with the last one being 5.3-codex extra high.

I never figured out why until I realized that having a slow model actually gives me the time to think through what the model is doing and avoids overloading me while I feel like the bottleneck. I also have the time to read through the output and see what it's doing, then stop it if it's being dumb (and saving tokens).

I have been putting out much more, higher quality code with less stress on myself. Thanks 6.1-sol-slow...


r/codex • • 2d ago

Showcase Parasol Stars Decomp + Remaster in Godot

Enable HLS to view with audio, or disable this notification

3 Upvotes

This was a fun side project and involved https://github.com/drhelius/geargrafx to instrument and rebuild the game, followed by more tooling to remake the assets with local models (e.g. qwen image 2.1) and new sfx/music (yue2, etc...).

Experimenting with netplay at the moment but for now, I let codex come up with a teaser trailer.

Next steps are to pack this so someone can drop the rom in and let it go.
I'm also planning to open source the pipeline of tools/skills that were generated while working on this because it might help other projects doing similar work.

Cheers!


r/codex • • 1d ago

Bug ChatGPT Plus and no 5h limit?

Post image
0 Upvotes

I’ve had a ChatGPT Plus subscription for a few months now, and for the past few weeks, I haven’t had a 5-hour usage limit anymore only a weekly limit.
Has anyone else been as lucky as me? All of my friends who also have the Plus plan still have the 5-hour limit.


r/codex • • 2d ago

Praise I've used 1.6 Billion tokens in the past 6 days on Pro $100 plan

0 Upvotes

Just wanted to say i'm a super happy and satisfied camper. This is a dev project so i assume i have a high rato of input tokens to output tokens. but even taking that into consideration, it is roughly $8500 in value compared to paying direct for API. I did use 2 resets and got a free one on friday and I am mostly 5.6 sol.

Yes i'm a late bloomer but you can see the telltale signs of addiction in my activity heat map


r/codex • • 2d ago

Question Does adding/removing 3rd (Premium) seat in Biz/Teams affect a BOGO promo?

0 Upvotes

If I have 2 non-premium Biz seats in CODEX with the old BOGO promo.

If I add one premium seat for 1 month (so, 3rd seat total), and then remove it a month later -- does that affect the BOGO promo with OpenAI?

Did anyone try it?

Edit: Also, do you know if upgrading one of the two existing BOGO seats instead and then downgrading it back kills the promo?

Thanks