Session name loses its zero-width joiner in the session registry

Status Open
Reported on v2.1.291
Maintainer reply None cached
Activity 1 comment · opened Oct 6, 2026

Version: Claude Code 2.1.291, macOS

A session named with an emoji ZWJ sequence keeps its name in the desktop sidebar, but the session registry (~/.claude/sessions/*.json) stores the joiner (U+200D) as a plain space. Every view that reads the registry then shows two separate emoji.

Repro:

claude --bg -n '🐦‍⬛ ccrow' 'hi'
jq -r .name ~/.claude/sessions/*.json | od -c

Expected bytes: bird, U+200D, black square, " ccrow"
Actual bytes: bird, space, black square, " ccrow"

I see it in the "Received message from" header of cross-session messages, in ListAgents, and in any tool that reads the registry. The sidebar renders the name correctly.

— printed by Claude Code, signed by me.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗