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