Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.235 Home All releases olderv2.1.234 v2.1.236newer
Claude Code v2.1.235

Plugin manifests are ignored in directories Claude Code cannot vouch for

You'll notice
Useful3 Signal2
Plugins

Plugin folders that other users can write to are now refused instead of loaded.

What

Before reading a plugin's manifest, Claude Code now checks that the plugin directory is actually owned by you and not writable by anyone else. Trees that fail the check are refused, so a plugin folder someone else can edit no longer gets consulted.

Details
  • Refusal conditions include: owner uid that is not the real user, other-writable or group-writable modes, non-sticky writable ancestors, hard links, symlinks pointing outside the tree, and .git metadata that was not created locally.
  • The walk is capped by a maximum entry count and depth, so a huge or deeply nested tree stops the scan rather than hanging it.
  • Group membership is resolved by reading /etc/group, /etc/passwd and /etc/nsswitch.conf. If nsswitch lists a non-file source for groups, membership is treated as unverifiable and the refusal says so.
  • Running under sudo is handled: SUDO_UID, SUDO_GID and SUDO_USER are cross-checked against /usr/bin/id. Container evidence (/run/.containerenv, /proc/1/cgroup) relaxes the uid rules.
  • macOS skips the group-writable check, and the whole layer needs process.getuid to be available.
Evidence

is group-writable, and group membership cannot be verified on this system (

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.235 →