[FEATURE] Pin/bookmark messages within a conversation
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
In long Claude Code conversations, it's easy to lose track of important messages — key decisions, critical outputs, or instructions that you need to reference later. Context compaction makes this worse: once messages are compacted, they're gone from view entirely. There's no way to mark a message as "important" so it stays accessible.
This is especially painful when:
- Debugging sessions go deep and you need to recall an earlier finding
- You establish a plan early in the conversation and need to reference it later
- An important output (e.g., a command result, a key insight) gets buried under dozens of follow-up messages
Proposed Solution
Add a /pin command (or similar mechanism) that lets users mark specific messages as pinned/bookmarked within a conversation. Pinned messages would:
- Be visually distinguishable (e.g., a pin icon or highlight)
- Be quickly accessible via a
/pinscommand that lists all pinned messages - Ideally survive context compaction — pinned messages would be preserved as priority context when the conversation is compressed
Alternative Solutions
- Ctrl+F / terminal search: Works but clumsy, doesn't survive compaction, and requires remembering what to search for
- Asking Claude to summarize key points: Manual workaround, requires the user to remember to do it
- Starting fresh conversations with context: Loses the full thread and requires manual effort to extract the right context
- CLAUDE.md notes: Can store key info but is a separate file, not tied to conversation flow
Priority
Medium — it would meaningfully improve workflow for long sessions but has workarounds.
Feature Category
CLI commands and flags
Use Case Example
Example scenario:
- I'm debugging a complex pipeline failure in a long Claude Code session
- Early in the conversation, Claude identifies the root cause — I
/pinthat message - We go through 50+ messages of iterating on the fix, testing, and adjusting
- Context compaction kicks in and earlier messages are compressed
- I run
/pinsto quickly review the root cause message without scrolling or losing it to compaction - The pinned message is also preserved in full during compaction, so Claude still has that context available
Additional Context
Related but distinct from #25999 (persistent state across compaction). This is specifically about user-controlled message-level bookmarking, not automatic state persistence.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗