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.232 Home All releases olderv2.1.231 v2.1.233newer
Claude Code v2.1.232

Cross-session messaging refuses unsafe socket directories

You'll notice
Useful3 Signal3
Cross-Session Messaging

If the socket directory for session-to-session messaging looks unsafe, messaging is turned off with a fix hint.

What

Before creating the local socket directory that lets sessions talk to each other, Claude Code now inspects every component of that path and refuses to bind if it looks unsafe. When it refuses, cross-session messaging is simply off for that session rather than binding anyway, and you get a specific remediation hint.

Details
  • Rejected: symlinks owned by another user, path components that are not directories, world- or group-writable directories without the sticky bit, symlink chains deeper than 16 levels, and dangling links.
  • Each refusal is classified (directory_rule, foreign_owner, leaf_shape, raced, symlink_loop, and others) and the session records the cause socket_dir_refused and logs at error level.
  • The directory is created with mode 0700 and chmod'ed back to 0700 if found otherwise.
  • The suggested fix is to point XDG_RUNTIME_DIR or CLAUDE_CODE_TMPDIR at a private directory you own.
Evidence

Point XDG_RUNTIME_DIR or CLAUDE_CODE_TMPDIR at a private (0700) directory you own to use a different location.

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

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.232 →