[FEATURE] Pin/bookmark messages within a conversation

Resolved 💬 4 comments Opened Mar 10, 2026 by lucharo Closed Apr 15, 2026

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:

  1. Be visually distinguishable (e.g., a pin icon or highlight)
  2. Be quickly accessible via a /pins command that lists all pinned messages
  3. 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:

  1. I'm debugging a complex pipeline failure in a long Claude Code session
  2. Early in the conversation, Claude identifies the root cause — I /pin that message
  3. We go through 50+ messages of iterating on the fix, testing, and adjusting
  4. Context compaction kicks in and earlier messages are compressed
  5. I run /pins to quickly review the root cause message without scrolling or losing it to compaction
  6. 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.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗