anthropics / anthropics/claude-code

`claude plugin enable|disable --scope project` rewrites .claude/settings.json and empties `footerLinksRegexes`

未关闭
#92,918 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:plugins bug has repro platform:macos
主要语言
Python
星标
145k
派生
23.1k
PR 合并指标
PR 指标待抓取

描述

**Version:** Claude Code 2.1.261, macOS (Darwin 27.0.0)

**What happens**

Running `claude plugin enable ` or `claude plugin disable ` with `--scope project` (or with no scope when the plugin is installed at project scope) rewrites the whole `.claude/settings.json`:

1. Keys are reordered (`statusLine`, `subagentStatusLine`, `enabledPlugins`, `footerLinksRegexes` move to the end).
2. `footerLinksRegexes` is replaced with an empty array `[]` every time, whatever it contained. Tested with `["graft/[\\w./-]+\\.md"]` and with the trivial `["graft/.*"]`; both come back as `[]`.
3. Unknown top-level keys survive (a probe key `"zzzProbe": 1` was kept), so this is specific to `footerLinksRegexes`, not a general schema strip.

**Expected**

Only `enabledPlugins` should change. Other keys and their order should be left as they were.

**Repro**

```sh
mkdir repro && cd repro && git init -q
mkdir .claude
cat > .claude/settings.json <<'EOF'
{
"footerLinksRegexes": ["graft/.*"],
"enabledPlugins": {}
}
EOF
claude plugin enable superpowers@claude-plugins-official --scope project
cat .claude/settings.json # footerLinksRegexes is now []
```

**Impact**

The `footerLinksRegexes` entry is written by the `@nanonets/graft` tool's `graft init` to make its footer links clickable. Any plugin toggle silently removes it in a checked-in file, so the breakage lands in the repo unnoticed unless someone diffs settings after a plugin command.

贡献指南

这个仓库没有索引到贡献指南

调研方向

Reproduce the loss using the provided commands and inspect .claude/settings.json before and after a project-scope plugin toggle. Trace the settings rewrite triggered by `claude plugin enable|disable --scope project`, focusing on why footerLinksRegexes becomes an empty array. Done means only enabledPlugins changes while footerLinksRegexes, unknown keys, and existing ordering remain intact.

由索引模型根据 Issue 内容生成。

评估

领域
cli
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
55/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。