install.sh aborts when agent harness tool config is a symlink instead of update the config
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
Start with src/cli/cli.c and src/cli/config_edit_path.c, then inspect src/foundation/compat_fs.c to trace how symlink targets are classified and reported. Reproduce the install failure with a symlinked agent config and identify the tests covering configuration edits and installer activation. Done when the symlink behavior matches the expected follow-or-skip policy, diagnostics identify the symlink accurately, and the install does not abort other activation work.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 45.8k
- Fork
- 3.8k
- Merge trung bình
- 3 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 201
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DeusData/codebase-memory-mcp
-
Index worker segfaults on PlantUML edge messages: dg_puml_operand leaves *id uninitializedCó thể đã có người làm @nefayran đã nhận 1 ngày trước. Đang mởbug editor/integration stability/performance
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
DeusData/codebase-memory-mcp#2818 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
editor/integration parsing/quality
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
DeusData/codebase-memory-mcp#2286 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
install writes an unsupported `args` key into the Claude Code SubagentStart hook, so it never runsĐang mởbug editor/integration priority/high stability/performance ux/behavior
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DeusData/codebase-memory-mcp#2239 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug priority/high ux/behavior
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DeusData/codebase-memory-mcp#2232 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation editor/integration parsing/quality priority/normal
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
DeusData/codebase-memory-mcp#2169 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của DeusData/codebase-memory-mcp
Issue tương tự
-
Type: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
apache/nuttx-apps#3942 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add missing unit tests for IsAdmissionPolicyName and IsCertManagerResourceNameCó thể đã có người làm @a1h8 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
kubernetes-sigs/security-profiles-operator#3644 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 70/100
ly05010419/MacNativeGames#1340 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày