The messaging socket lives under XDG_RUNTIME_DIR with locked-down permissions and refuses to hijack a live one.
What's wrong with this entry?
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.
- Falls back to a
/tmppath, or$PREFIX/tmpunder 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.
--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.
-
v2.1.232
Clearer failures when the messaging socket path is unusable
Both mention socket path
-
v2.1.247
--messaging-socket-pathnow errors instead of silently doing nothingBoth mention socket path
-
v2.1.248
Peer address row in the info panel
Both mention socket cross