Repository navigation
install.sh aborts when agent harness tool config is a symlink instead of update the config #2671
Description
Version
codebase-memory-mcp 0.12.1
Platform
macOS (Intel)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
Current:
install.sh downloads, verifies, and installs the binary fine, then fails during agent configuration if any harness config file is a symlink.
In my case /Users/sanath/Library/Application Support/Zed/settings.json is a symlink (dotfiles checkout pattern), and the Zed step fails:
error: agent_config agent=Zed op=mcp_install path=/Users/sanath/Library/Application Support/Zed/settings.json (target: regular file, 379 bytes)
That single failure aborts the whole activation:
error: one or more agent configurations failed; the published/current executable was kept, and PATH/index cleanup was not attempted
error: activation stopped after one or more agent configuration or cleanup operations failed; the published/current executable was kept, and configuration changes that completed may remain. Please restart your coding-agent sessions after resolving the errors above.
Expected:
a user-owned symlink should either be followed (like a normal config file — this is the common ln -s ~/dotfiles/... pattern) or skipped with a warning for that one agent. It should not fail the entire install, keep the old executable, skip PATH/index cleanup, and leave other agents' configs partially applied.
Secondary diagnostics issue: the path is a symlink (mcp: ... is a symlink per local ls -l), but the error detail says (target: regular file, 379 bytes). That hides the actual refusal reason and makes triage hard. Compare src/cli/cli.c:describe_agent_config_target() + src/cli/config_edit_path.c:edit_path_classify() — the fail-closed symlink policy and the cbm_path_info_utf8() (lstat-based, src/foundation/compat_fs.c) reporting seem to disagree here.
Reproduction
- Code: N/A — installer bug, no repo to index. Config precondition:
ls -l "/Users/sanath/Library/Application Support/Zed/settings.json"shows a symlink (e.g.settings.json -> ~/dotfiles/zed/settings.json, 379 bytes target). - Command:
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash - Result: binary verified (
Verified candidate: codebase-memory-mcp 0.12.1), agents detected, OpenCode/Antigravity/etc. configured, then Zedmcp_installerrors and the whole activation stops with the twoerror:lines above.
Expected: install succeeds; Zed entry is written through the symlink (or Zed is skipped with a warning and install still completes).
Workarounds tried: none yet — replacing the symlink with a regular file, or --clients=<list without zed> / --skip-config, would presumably bypass it but defeats dotfiles management.
Logs
codebase-memory-mcp installer
os: darwin
arch: amd64
target: /Users/sanath/.local/bin/codebase-memory-mcp
Downloading codebase-memory-mcp-darwin-amd64.tar.gz...
######################################################################## 100.0%
Checksum verified.
Extracting...
Fixing macOS code signing...
Verified candidate: codebase-memory-mcp 0.12.1
codebase-memory-mcp install 0.12.1
Found 1 existing index(es). Keeping them. After install, re-index to pick up this version's improvements:
/Users/sanath/.cache/codebase-memory-mcp/activity.db
xattr: /tmp/cbm-install-Sp6XB1/codebase-memory-mcp: No such xattr: com.apple.quarantine
/tmp/cbm-install-Sp6XB1/codebase-memory-mcp: replacing existing signature
codebase-memory-mcp 0.12.1
Stopping active CBM sessions and operations for install...
Installed binary -> /Users/sanath/.local/bin/codebase-memory-mcp
Detected agents: Claude-Code Codex Gemini-CLI Zed OpenCode Antigravity KiloCode VS-Code Cursor Cline Copilot-CLI Factory-Droid Goose Grok-Build Kimi Code CLI Amp Devin CLI / Local Pi Oh My Pi (omp)
Antigravity:
mcp: /Users/sanath/.gemini/config/mcp_config.json
instructions: /Users/sanath/.gemini/GEMINI.md
Zed:
error: agent_config agent=Zed op=mcp_install path=/Users/sanath/Library/Application Support/Zed/settings.json (target: regular file, 379 bytes)
mcp: /Users/sanath/Library/Application Support/Zed/settings.json
instructions: /Users/sanath/.config/zed/AGENTS.md
skill: /Users/sanath/.agents/skills/codebase-memory/SKILL.md (1 installed)
KiloCode:
mcp: /Users/sanath/.config/kilo/kilo.jsonc
instructions: /Users/sanath/.config/kilo/rules/codebase-memory-mcp.md
agent: /Users/sanath/.config/kilo/agents/codebase-memory-scout.md
agent: /Users/sanath/.config/kilo/agents/codebase-memory.md
agent: /Users/sanath/.config/kilo/agents/codebase-memory-auditor.md
Pi:
instructions: /Users/sanath/.pi/agent/AGENTS.md
skill: /Users/sanath/.pi/agent/skills/codebase-memory/SKILL.md (1 installed)
extension: /Users/sanath/.pi/agent/extensions/cbmem.ts
error: one or more agent configurations failed; the published/current executable was kept, and PATH/index cleanup was not attempted
error: activation stopped after one or more agent configuration or cleanup operations failed; the published/current executable was kept, and configuration changes that completed may remain. Please restart your coding-agent sessions after resolving the errors above.
Diagnostics trajectory (memory / performance / leak issues)
## Diagnostics trajectory (memory / performance / leak issues)
N/A — install-time config failure, not a memory/performance issue.
Project scale (if relevant)
N/A
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 Oct 19, 2026
Thank you for the detailed installer log and the dotfiles symlink example. The activation failure and the misleading target description are both clear in your report. How installation should handle a symlinked configuration needs a maintainer decision; I cannot recommend changing that policy or confirm a workaround without verification.