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.224 Home All releases olderv2.1.223 v2.1.225newer

Local messaging socket: where it lives, who can read it, and refusing to steal a live one

Use it now
Useful3 Signal4
Cross-Session Messaging Notable not in their notes

The messaging socket lives under XDG_RUNTIME_DIR with locked-down permissions and refuses to hijack a live one.

--messaging-socket-pathCLAUDE_CODE_MESSAGING_SOCKETXDG_RUNTIME_DIR
What

The local socket used for session-to-session messaging binds under $XDG_RUNTIME_DIR/cc-socks/<pid>.sock, with the directory created 0700 and the socket 0600, and its path exported as CLAUDE_CODE_MESSAGING_SOCKET. If you pass --messaging-socket-path pointing at a socket something is already listening on, startup refuses rather than hijacking it.

Details
  • Falls back to a /tmp path, or $PREFIX/tmp under Termux, when the primary path would exceed the 103 byte limit on socket paths.
  • Non-local paths are refused outright.
  • Input is line-delimited JSON; any line over 1 MiB is dropped.
Evidence

--messaging-socket-path points to a live socket:

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.224 →