Memory files marked pinned would be injected into every conversation instead of waiting to be recalled.
Pinned-memory parsing and injection exist behind the memory index gate and are skipped when CLAUDE_COWORK_MEMORY_INDEX_CONTENT is set.
What's wrong with this entry?
Memory files can mark themselves pinned in frontmatter and are then injected as their own prompt section on every conversation rather than listed with ordinary memory files.
metadata.pinnedis parsed into apinnedStateof true, false or malformed; the most recently modified pinned files are selected up to a cap and read as a newAutoMemPinnedentry type.- Rendered as a dedicated section of
<pinned-memory path="…">blocks with control characters stripped from the path, and excluded from the ordinary memory-file editor list. - Telemetry:
memory_pinned_injectrecords injected counts, truncation, malformed pins and cap drops;tengu_memdir_pinned_injectedrecords counts plus truncated/malformed;tengu_memdir_pin_writefires on writes to memory files. - Lives in the cowork memory path, running only when the surrounding index gate passes and the
CLAUDE_COWORK_MEMORY_INDEX_CONTENTenv var is unset.
# Pinned memories (apply to every conversation), AutoMemPinned
Strings lifted out of the shipped bundle, so the claim above can be checked against them.