Summary
--ui=true --port=9749 parses, persists to ~/.cache/codebase-memory-mcp/config.json, but the embedded HTTP graph UI never binds the port. No ui.serving log is ever emitted. UI is unreachable.
Environment
- Binary:
codebase-memory-mcp 0.6.1 (CLI --version)
serverInfo.version over MCP: 0.10.0 (mismatch with CLI version — possible release-tag drift)
- File:
Mach-O 64-bit executable arm64, 240.8 MB
- Install path:
/Users/nick/.local/bin/codebase-memory-mcp
- macOS 26.4.1 (Darwin 25.4.0 arm64), Apple Silicon
update -y reports "Already up to date (0.6.1)"
Reproduction
codebase-memory-mcp config set ui_enabled true
codebase-memory-mcp config set ui_port 9749
cat ~/.cache/codebase-memory-mcp/config.json
# {"ui_enabled": true, "ui_port": 9749}
tail -f /dev/null | codebase-memory-mcp --ui=true --port=9749 2>err.log &
sleep 3
lsof -iTCP:9749 -sTCP:LISTEN # empty
cat err.log
# level=info msg=mem.init budget_mb=18432 total_ram_mb=36864
No process listens on 9749 (or any other port). No child process forked. Only stderr line is mem.init.
What I tried
--ui=true --port=9749 (flag form)
--ui true --port 9749 (space-separated)
--ui alone
- Persisted config + no flags
- TTY via
script -q /dev/null …
- After full MCP handshake +
tools/call list_projects (returns data correctly — 3 indexed projects, so DB layer is fine)
CBM_DIAGNOSTICS=1 (only adds diagnostics.start log, no UI log)
Display bug (secondary)
config set ui_enabled true echoes ui_enabled = true and writes the JSON, but config list shows only auto_index / auto_index_limit. The ui_* keys are persisted but hidden from list.
Strings in binary suggesting UI is wired
ui_enabled
ui_port
ui.config.saved
ui.config.corrupt
ui.config.write_fail
ui.no_assets
ui.unavailable
ui.serving
ui.index.start
ui.index.fork
ui.index.done
ui.http.mcp_fail
/api/layout*
/api/index
/api/index-status
/api/project*
/api/browse*
/api/adr*
/api/project-health*
/api/processes
/api/logs*
/api/process-kill
/index.html
/assets/*
http://127.0.0.1:%d
axum / hyper
So the code path exists; it just never runs in the 0.6.1 release binary.
Hypothesis
UI startup branch is gated behind a check that fails silently in the published macOS arm64 build (missing embedded assets? feature flag not enabled at compile time? early return before bind?). The absence of ui.no_assets / ui.unavailable / ui.serving in stderr suggests UI init isn't even reached.
Ask
- Confirm whether
--ui is supposed to work in 0.6.1 macOS arm64 release, or if it's a main-only feature.
- If shipped: add a stderr log at the UI init entrypoint (success or failure) so users can tell why it's silent.
- Fix
config list to display ui_enabled / ui_port.
- Reconcile CLI
--version (0.6.1) with MCP serverInfo.version (0.10.0).
Summary
--ui=true --port=9749parses, persists to~/.cache/codebase-memory-mcp/config.json, but the embedded HTTP graph UI never binds the port. Noui.servinglog is ever emitted. UI is unreachable.Environment
codebase-memory-mcp 0.6.1(CLI--version)serverInfo.versionover MCP:0.10.0(mismatch with CLI version — possible release-tag drift)Mach-O 64-bit executable arm64, 240.8 MB/Users/nick/.local/bin/codebase-memory-mcpupdate -yreports "Already up to date (0.6.1)"Reproduction
No process listens on 9749 (or any other port). No child process forked. Only stderr line is
mem.init.What I tried
--ui=true --port=9749(flag form)--ui true --port 9749(space-separated)--uialonescript -q /dev/null …tools/call list_projects(returns data correctly — 3 indexed projects, so DB layer is fine)CBM_DIAGNOSTICS=1(only addsdiagnostics.startlog, no UI log)Display bug (secondary)
config set ui_enabled trueechoesui_enabled = trueand writes the JSON, butconfig listshows onlyauto_index/auto_index_limit. Theui_*keys are persisted but hidden fromlist.Strings in binary suggesting UI is wired
So the code path exists; it just never runs in the 0.6.1 release binary.
Hypothesis
UI startup branch is gated behind a check that fails silently in the published macOS arm64 build (missing embedded assets? feature flag not enabled at compile time? early return before bind?). The absence of
ui.no_assets/ui.unavailable/ui.servingin stderr suggests UI init isn't even reached.Ask
--uiis supposed to work in 0.6.1 macOS arm64 release, or if it's amain-only feature.config listto displayui_enabled/ui_port.--version(0.6.1) with MCPserverInfo.version(0.10.0).