Repository navigation
Description
Version
codebase-memory-mcp 0.10.8
Platform
Windows (x64)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
codebase-memory-mcp v0.10.8 cannot start when Codex Desktop's sandbox group has its normal Modify ACE on the Windows user profile directory.
Codex Desktop requires \CodexSandboxUsers to have write access under C:\Users<user> for sandbox operation. v0.10.8 creates its coordination endpoint below %LOCALAPPDATA%, walks the ACLs of every ancestor up to the profile root, classifies that sandbox group as untrusted, and aborts before CLI or MCP startup.
Expected: the latest release should work alongside Codex Desktop without requiring removal of the sandbox ACL from the entire user profile. A supported secure fix could provide a configurable production runtime/coordination parent with a private ancestor chain, or safely account for the Codex sandbox group in the Windows ACL model.
This appears to be the same underlying compatibility problem as #1650, but it still reproduces on v0.10.8 after that issue was closed as completed. Related: #1533 and #1529.
Reproduction
- On Windows 11 x64 with Codex Desktop installed, verify the local \CodexSandboxUsers group has Modify access on C:\Users<user>.
- With codebase-memory-mcp v0.9.0 in the same location/configuration, verify:
- config list succeeds
- CLI project listing succeeds
- raw stdio MCP initialize succeeds
- Replace only the executable with the official v0.10.8 Windows amd64 release binary (archive checksum verified against the published checksums.txt).
- Run:
codebase-memory-mcp.exe config list - The process fails before normal logging or MCP initialization.
The same failure occurs for CLI commands and stdio MCP startup.
The following do not resolve it:
- CBM_CACHE_DIR set to a private directory on another drive
- private installer staging directory
- hardened install directory writable only by the current user, SYSTEM, and Administrators
- elevated installer
Rolling the same installation/configuration back to v0.9.0 immediately restores CLI and MCP operation.
No project source code is needed to reproduce; failure occurs before any repository is opened.
Logs
codebase-memory-mcp: secure CLI coordination could not be created (endpoint):
C:\Users\<user>: DACL entry 0 grants mutation rights 0x00010152
to untrusted identity (other S-1-5-21-...-1003)
The reported SID resolves to:
<machine>\CodexSandboxUsers
The installer can also end with:
error: activation could not reserve exclusive access; no activation was committed.
error: this is NOT a running-session problem
Diagnostics trajectory (memory / performance / leak issues)
Project scale (if relevant)
No response
Confirmations
- I searched existing issues and this is not a duplicate.
- My reproduction uses shareable code (a dummy snippet or a public OSS repository), not proprietary code.
Activity
DeusData commentedon Sep 3, 2026
Thank you for the precise A/B report and for resolving the reported SID to
CodexSandboxUsers.Current
mainconfirms the compatibility boundary you describe:win_file_acl_secure()rejects a mutation-capable ACE when its SID is outside the trusted set, and there is no Codex sandbox-group exception. This is therefore a real Windows/Codex integration problem, not a generic startup report.Accepting an additional principal here changes the local coordination security model, so we need more time to review the safe rule rather than promise a broad exception. I have routed this as a high-priority security and integration issue. No more diagnostics are requested from you right now; thank you again for the clean reproduction.
XIYBHK commentedon Sep 5, 2026
Additional reproduction from the same Windows/Codex integration path.
Environment
C:\Users\<user>\cbm-bin\codebase-memory-mcp.exeReproduction
The official Codex-only dry run succeeds and reports the expected targets:
The real install fails before any Codex configuration is written:
The default target directory has cross-account Modify ACEs:
I then retried with an existing directory whose ACL grants Full Control only to the invoking user and inherited read access to the Codex sandbox group:
This passed candidate staging but still failed during activation reservation:
After both attempts,
C:\Users\<user>\.codex\config.tomlwas unchanged and still contained nocodebase-memory-mcpMCP server entry.Expected behavior
A Codex-only install should either complete using a supported private install/runtime location, or identify the exact rejecting path, SID, and ACL/coordination check. Changing the binary install directory did not make the activation path usable on this host.
This appears to extend the CodexSandboxUsers/profile ACL case in this issue from daemon startup to the official Codex installation flow.
iBen-creator commentedon Sep 10, 2026
Confirming this on v0.10.8 / Windows 11 Pro x64 (10.0.26200), with two details that may widen the scope slightly.
It is not only
CodexSandboxUsersOn this machine
C:\Users\<user>\AppDatacarries three distinct mutation grants, all of which inherit down into%LOCALAPPDATA%— the default rendezvous parent:S-1-15-3-3557520199-3666692283-…-3692855932(AppContainer / capability SID)AppData)<machine>\CodexSandboxUsersS-1-5-21-…(orphaned SID, no resolvable account)So even if the Codex sandbox group were special-cased, the AppContainer SID with
FullControland the orphanedS-1-5-21SID would each independently fail the ancestor walk. The profile rootC:\Users\<user>itself is clean here — everything problematic is introduced at theAppDatalevel. That seems to support the issue's suggested direction (a configurable runtime/coordination parent) over enumerating trusted groups, since the set of principals that legitimately hold write ACEs onAppDatais open-ended.The refusal note was not surfaced for the reservation failure
The user-visible output was only the generic message, with nothing above it:
$HOME/.cache/codebase-memory-mcpwas empty at that point (nothing had been written yet), so the requested diagnostic yields nothing either — which is the exact "check the errors above, and nothing was above" situation #1537/#1416 set out to remove. Neithercbm_activation_transaction_refusal_note()norcbm_daemon_ipc_validation_detail()produced text on this path.Worth noting the note plumbing does work for staging. When I ran the extracted binary from a directory that inherited
Authenticated Users: ModifyfromC:\, I got a precise, actionable message:That message named the principal and the directory. Hardening that staging directory to an owner-only protected DACL cleared it, and the failure then moved to the reservation step — where the detail went silent again. So the gap looks specific to the reservation/ancestor-walk path rather than to the refusal-note mechanism as a whole.
CBM_RUNTIME_DIRis a working workaroundFor anyone hitting this before a fix lands: pointing the rendezvous at an owner-private directory outside
AppDataresolves it completely.With that set,
install, the daemon, the CLI and the MCP server all start normally. It has to be present for every cbm process, so it is worth setting as a persistent user environment variable and adding to theenvblock of the MCP entry in the client config — the installer does not write one.Two things confirmed while narrowing this down, both matching the comments in
src/daemon/bootstrap.c:CBM_CACHE_DIRdoes not help — it moves the cache, never the rendezvous.C:\passes the ancestor walk once its own DACL is protected, even thoughC:\grantsAuthenticated Users: AppendData.Merge pull request #2139 from DeusData/fix/decision-b-win-sid-trust
DeusData commentedon Sep 12, 2026
Fixed on
mainby #2139 (merge commit1b067e3b042da824edb27bb173df41afb2d27beb).The
CodexSandboxUserssandbox group is still (correctly) not trusted, but the activation error now names the exact path and SID it rejected instead of failing opaquely, so the situation is diagnosable. Ships in v0.10.9.Thanks for staying on this through v0.10.8 — the actionable error message is a direct result of your reports.
fix(install): trust the local machine's built-in Administrator; name …
rtellez91 commentedon Sep 15, 2026
Thanks for sharing the workaround.
Is there an ETA for the release?
DeusData commentedon Sep 19, 2026
Thank you for following up, and apologies: our earlier closure was too broad. Commit 1b067e3 improved the diagnostic by naming the rejected path and SID; that does not by itself resolve the original Windows/Codex compatibility request. I am reopening this to keep that remaining problem visible.
The diagnostic improvement has now shipped in v0.11.0: https://github.com/DeusData/codebase-memory-mcp/releases/tag/v0.11.0. The earlier v0.10.9 forecast was superseded. We still need to review a supported solution that preserves the local coordination security boundary; we are not recommending broadly trusting extra accounts or weakening ACL checks. Thank you for the precise reports and for sharing the runtime-directory workaround.
fix(install): trust the local machine's built-in Administrator; name …
fix(install): trust the local machine's built-in Administrator; name …