Version 2.6.16 made NEXO much stronger in mixed Claude Code and Codex setups. But one ugly edge case remained: some existing installs already had NEXO artifacts inside Codex while their stored client preferences still said codex=false. That meant nexo update could still skip the new managed Codex bootstrap sync even though the user clearly had NEXO wired into Codex already.

The Real Existing-Install Bug

The shared-brain model was correct, but the migration path still had one blind spot. NEXO knew how to manage ~/.codex/config.toml and ~/.codex/AGENTS.md, yet some older installs did not automatically re-enable Codex as an interactive client during normalization. So the new sync path existed but the update flow could decide not to use it.

2.6.17 fixes that by looking for conservative evidence that Codex is already part of the user's NEXO setup, such as managed bootstrap artifacts or an existing mcp_servers.nexo entry.

What the Patch Changes

Why the Operator Name Fix Matters

Without that fallback, managed bootstrap docs could render broken identity headings like # — Cognitive Co-Operator or You are , a cognitive co-operator.... The runtime still mostly worked, but the startup contract looked visibly wrong and made the managed bootstrap feel less trustworthy.

Now the fallback is explicit and safe: if no operator name is available, the bootstrap identity becomes NEXO.

What This Means for Existing Users

If you already had NEXO connected to Codex before the latest parity work, you should no longer need manual cleanup just to get the new managed global bootstrap/model sync. The update flow now recognizes that older state, repairs it, persists it, and then finishes the client sync correctly.

Install or Update

New install:

npx nexo-brain

Existing installation:

nexo update

Need to reapply shared-brain client wiring later?

nexo clients sync

Read the full release history in the changelog or contribute ideas and fixes on GitHub.