The tool makes a fragile Codex experiment visible
ccodex-sleep-state sits between Codex and the selected upstream, then shows connection, routing, configuration, and turn-state status in a local browser panel. Its working theory concerns X-Codex-Turn-State, a response value it can collect from candidate exits and attach to later requests. The README is careful about the result: a value with the expected shape does not prove that the model is running at full quality.
That caveat is the whole review. The project can reduce blind config editing and expose why a request stopped, but it cannot turn an undocumented signal into a service guarantee. It does not add account quota. It also refuses to treat 401, 403, or 429 responses as invitations to rotate exits and keep trying. If you install it expecting a rate-limit bypass, you have misunderstood both the code and its stated boundary.
A 292-character state is an observed shape, not a quality grade
Version 0.4.0 accepts different empirical shapes for personal and Team or Business accounts. The README describes 10 encrypted blocks, usually 292 characters, for personal accounts and 12 blocks, usually 332 characters, for Team. It checks envelope structure, time, and block count, then keeps state isolated by account, credential, and model. None of those checks says whether the next answer will be better.
The upstream can change underneath that policy. Issue 13 reports a 780-character, 33-block state introduced after the reviewed commit. The issue says the existing rules reject it, which can leave collection unavailable or force the configured plain-forwarding fallback. Pull request 14 adds the new shape, but it was still open when we checked on October 6, 2026. This is the risk of building on behavior that OpenAI has not documented as a quality interface.
What happened when we ran it
In our unprivileged Debian container with 3 CPUs and 8 GB of RAM, commit dab37ce installed in 59 seconds and fetched 178 packages. The Go build succeeded in 89 seconds. Tests finished in 52 seconds with 22 passed and 0 failed. The repository contained 119 files, roughly 13,429 lines of source, and 3 CI workflow files.
The checkout occupied 1.3 MB and had no Dockerfile or separate tests directory. Go tests can live beside package code, so the missing directory does not mean the project lacks tests. Our run did not connect an account, load a proxy subscription, collect a real turn-state, or measure answer quality. The passing suite covers the code path the harness executed, not the central claim a user would care about.
Setup rewrites Codex configuration and keeps a backup
The packaged path targets Windows and macOS. You download the matching archive, keep its scripts with the executable, run start.cmd or start.command, and use the local panel at 127.0.0.1:17841. The setup process backs up the selected Codex configuration and redirects it to the service. Codex then needs a restart and a new conversation because an existing conversation is not switched in place.
Normal shutdown matters. The README tells users to keep the terminal open, press Ctrl+C, wait for restoration, and restart Codex. Closing the browser only closes the panel. Disabling injection does not stop the service either. Users of CC Switch are told to stop this service before changing the provider, then start it again, because two tools writing the same configuration can create a conflict or send credentials toward the wrong upstream.
Proxy support carries credentials and policy obligations
The panel accepts HTTP, HTTPS, and SOCKS5 endpoints, remote subscriptions, local subscription files, and several embedded outbound formats. Version 0.4.0 can keep a working exit, manage usable and failed lists, and separate collection routing from formal requests. It does not switch the system proxy or import a subscription's TUN, DNS, and system rules.
Those conveniences bring sensitive local state. Proxy passwords, subscription URLs, recovery backups, API credentials, and full turn-state values should not be shared. The project says routine diagnostics redact credentials and content, yet its compliance document warns that the raw data directory and backups may still contain private material. It also says users must have the right to use every account, proxy, and network connection they configure.
The Chinese documentation is candid but limits the audience
The README and all 12 Markdown guides under docs are written in Chinese. They cover Windows and macOS setup, the web panel, proxies, architecture, testing, recovery, upgrade, and compliance. There is no English guide in the repository tree. English-speaking engineers can inspect the Go source, but operating this tool safely depends on understanding the warnings around config repair, credential routing, and failed collection.
GitHub showed 644 stars, 149 forks, and 9 open issues and pull requests on October 6, 2026. The last push was September 20, one day after v0.4.0. Issue activity continued through September 27, including the upstream state-shape report. That is active attention, though the project was created only on September 18 and still labels itself a public beta. Age and upstream churn matter more here than the star count.
The right outcome may be ordinary forwarding
When no acceptable state is available, users can choose strict failure or plain forwarding without injection. The latter is the default for a first setup that has no explicit fallback policy. A formal generation request is sent at most once, so a response that may have consumed quota is not replayed through another exit. This is a sensible safety boundary for experimental routing.
Our 22 passing tests make ccodex-sleep-state more credible than its unusual premise first suggests. They do not validate the premise itself. Install it only if the panel, backups, and diagnostics solve a real configuration problem for you. If your goal is simply more quota, guaranteed model quality, or automatic recovery from upstream limits, this project says it cannot provide those outcomes.

