Learn how to pin important messages and manage persistent user memory to ensure the AI never forgets what matters.
Pinning lets you mark specific messages as critically important. Pinned messages are never compressed or summarized - their content is preserved verbatim in every AI request.
Move your cursor over any assistant or user message in the conversation. You'll see action icons appear on the right side.
Click the pin icon (📌) to pin the message. A small orange dot will appear next to the message header indicating it's pinned.
Click the context indicator to open the Summary Drawer. Your pinned messages appear in the "Pinned" section at the bottom.
Best Practices for Pinning
To unpin a message, you have two options:
Hover over the pinned message and click the pin icon again to toggle it off.
Open the Summary Drawer, find the pinned item, and click the X button to remove it.
Pinned items can be categorized to help organize context:
| Category | Use For |
|---|---|
| decision | Choices made during the conversation |
| requirement | Specifications and constraints |
| reference | Code, files, URLs, or other references |
| other | General important information |
Sometimes you want to exclude a message from context entirely. This is useful for:
To exclude a message, hover over it and click the eye-off icon (👁️🗨️). Excluded messages won't be included in the rolling summary extraction.
Exclusion Timing
Excluding a message only prevents it from being included in future compactions. If the message was already processed into the rolling summary, that information will remain until the next deep compaction.
While pinned memory is per-conversation, User Memory persists across all your conversations. It's perfect for information the AI should always know about you.
How you like things done - coding style, communication tone, format preferences.
Information about you, your project, tech stack, or company.
Rules to always follow - security requirements, forbidden patterns.
Domain-specific terms and their meanings in your context.
Access the Memory Manager from your workspace settings. It provides a tabbed interface for managing each memory type:
Click "Add Memory" in any tab. Enter a key (a short identifier like coding_style) and the content(the actual information to remember).
Hover over any memory item and click the edit icon to modify its content. Press Enter to save or Escape to cancel.
Click the trash icon to remove a memory item. This action is immediate and cannot be undone.
Use the search box to filter memories by key or content. The search works across all tabs simultaneously.
Here are some examples of effective user memories:
key: coding_style
content: I prefer functional programming patterns with TypeScript.
Use arrow functions and avoid classes when possible.
key: response_format
content: Keep responses concise. Use bullet points for lists.
Include code examples when explaining concepts.key: project_stack
content: Building a Next.js 14 app with TypeScript, Tailwind CSS,
Drizzle ORM, and PostgreSQL. Using shadcn/ui components.
key: team_context
content: Working on a B2B SaaS product for enterprise customers.
Must maintain SOC 2 compliance.key: security_rules
content: Never store passwords in plain text. Always use bcrypt
with salt rounds >= 12. Sanitize all user inputs.
key: code_patterns
content: Avoid using 'any' type in TypeScript. All API routes
must have proper error handling with try/catch.key: user_definition
content: A "user" in our system is a registered customer with
a verified email and active subscription.
key: workspace_definition
content: A "workspace" is a shared space where multiple team
members collaborate. Each workspace has its own billing.| Aspect | Pinning | User Memory |
|---|---|---|
| Scope | Single conversation | All conversations |
| Content Source | Existing message | Manually written |
| Best For | Specific decisions, code snippets | Preferences, persistent facts |
| Management | Inline or Summary Drawer | Memory Manager |
| Lifespan | Until unpinned | Until deleted |
Recommendation
Use pinning for context-specific important messages during a conversation. Use user memory for information you want the AI to know in every conversation, like your coding preferences or project constraints.