[FEATURE] Terminal UI: Navigate and Annotate Response Blocks with Emoji Reactions
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
I often want the ability to easily express targeted, specific, and low-key feedback to Claude Code regarding a specific content block it produced. Emojis would be ideal for this ... they provide simple but powerful signals across aspects such as alignment, enthusiasm, understanding, confidence, etc.
Currently, there is no way to annotate any content in Claude Code, even for a simple emoji...😐. My proposal is to enable a simple, in-terminal annotation of emojis (a specific, curated set) to allow users to provide powerful feedback signals in an efficient, useful way. Such a system can capture more natural interactions with humans, including emotion, humor, surprise, etc. This would help Claude become more collaborative and empathetic over time.
Proposed Solution
Solution Overview
It would be useful to be able to navigate through Claude Code's terminal output and annotate specific responses or sections with emoji reactions — similar to how Slack or GitHub reactions work, but inline in the terminal session.
This enables low-key, targeted feedback to Claude with less friction and/or workflow disruption. It also provides better signals to Claude from it's human partners who are reading and understanding those responses.
Use cases
- Bookmarking: Mark a response to return to later (🔗📌✨)
- Organizing: Share a transcript with reactions as contextual indicators of taxonomy (📕📗📘📙📓)
- Guiding: Provide simple feedback cues to help guide the work and the outcome (🥇🥈🥉)
- Signaling: Share emojis to express a wide variety of signals between collaborators:
- Confirmation: Indicate that important content was read and acknowledged (✅☑️👀)
- Comprehension: Indicate levels of understanding, clarity, confusion, or insight (💎💡❔)
- Alignment: Express different levels of alignment, agreement, and trust (💯👍🔄)
- Happiness: Indicate varying levels of positivity, from happy to neutral to sad (😀😐😢)
- Enthusiasm: Different levels of enthusiasm, from starry-eyed to smirking to teeth gritting (😍😏😬)
- Performance: Recognizing performance, from gold-star to "let's hope it works" to fire (⭐🤞🔥)
- Recognition: From trophy to hive-fives to clapping, first bump, and handshake (🏆👏👊)
- Humor: Levels of humor, from crying with tears to giggling to not laughing (🤣😂😎)
- Absurdity: Different levels of absurdity, from clown to cowboy to perpetually innocent (🤡🤠😇)
- Surprise: Varying levels of surprise, from not surprise to extremely shocked (😶😲😱)
Scope:
- Now: Claude Code in the Terminal
- Later: _Eventually add support for other Claude apps_
Interaction Model
- Navigation: use keyboard (arrow keys or vim-style j/k) or mouse click to move focus between response blocks
- Reactions: attach one or more emoji to a focused block (e.g. via a shortcut that opens a picker, or by typing :emoji_name:)
- Persistence: reactions are saved to a local file (e.g. alongside the conversation transcript) so they survive the session
- Display: reacted blocks show a small inline emoji badge in the margin
- Navigation: Users navigate between highlighted content blocks quickly via Keyboard, Mouse, or Touch
- Selected Item: Selected items would be highlighted, perhaps using the
Esc-Escmode that already exists. - Enter "Annotation Mode": Users might press
Shift-Enteror+orShift-Pluson the block to activate "Annotation Mode" - Exit "Annotation Mode": Users can submit an emoji or press
EscorShift-Enteragain to exit "Annotation Mode" - Emoji Menu: In "Annotation Mode", an optimized dropdown menu is shown with the ability to pick an emoji or to remove it
- Emoji Selection: The most likely emoji responses are shown, along with scrolling with inline search to find the right emoji
- Submit Annotation: The user can press Enter, the mouse button, or a touchscreen to submit the annotation
- Remove Annotation: Users can navigate to any annotated item, enter "Annotation Mode", and choose Remove from the Menu
Content View with Emojis
- Viewing Annotations: The annotations are shown inline at the end of the content block
- Rewind Mode: The annotated emoji can be shown in various content modes, including Rewind, Detailed Transcript, etc.
- Detailed Transcript: Users can enter the detailed transcript mode and reveal emoji metadata when they toggle "All"
Responses to Emojis
Claude should respond to emoji annotations smartly, contextually, and appropriately. The time, modality, and intensity of
Claude's responses is highly contextual and situational. It should also include elements of rarity and randomness too --
this will help drive habit loops with "variable rewards" and compulsion loops with "achievements".
- Submission Indicator: All feedback is immediately acknowledge with a quick, habit-forming sound effect or animation
- Explicit Deferral: Deferred responses can be explicitly indicated within the terminal
- Configurable Response Behaviors: Like all things, the response approach can be configured
- Claude's Response Timing
- Never: Some responses might not be needed beyond the submission indicator.
- Later: Maintain current workflow -- defer the primary response until the end of a working session or a natural lull
- Soon: Respond appropriately to the content once the current dialog has completed (similar to Slack conversations)
- Now: Interrupt the workflow to address important feedback now (user doubts, frustrations, highly emotive praise, etc).
- Claude's Reaction Content
- No Response Needed (10%)
- Simple Reaction (25%)
- Respond with audio cue or tone specific to the emoji (like an arcade game bonus)
- Respond with another emoji
- Respond with animated Ascii Art expressions (ephemeral)
- Quick Response (35%)
- Respond with 1-4 quick-word response in parenthesis. Ex: "(Glad to help!)", "(Lol! Walk it Off!)", "(Sorry, my bad)"
- Respond with a 1 liner in parenthesis: "Thank you for your generous feedback -- I've enjoyed working with you too!"
- Memory Response (10%)
- Some feedback might warrant saving to memory - this creates a ceremony of 'respect for feedback'
- Interactive Response (20%)
- Respond based on the emoji with actions to address the feedback based on the emotion, intensity, and criticality
- Identify key topics impacted by the feedback and offer to explore them with the user to learn more
- Depending on the emoji, these sessions can be opportunities for:
- Healthy project checkpoints
- Building better camaraderie
- Listening with humility
- Teachable moments
- Celebrating shared success
- Claude's Response Intensity
- Minimal: Minimal emojis, excessive emojis, or abusive emojis can often be gently ignored.
- Low: Most emojis are quick, simple, and easy to react to with low intensity (like Slack)
- Medium: Some responses warrant emotions and more ceremony by Claude
- High: Highly-emotive emojis during key times can lead to "Crucial Conversations" with Claude
Alternative Solutions
The following are potential areas of optionality to help align this feature request:
Notes
- Even a minimal version (keyboard navigation + a few fixed emoji shortcuts) would be valuable
- Could pair well with the existing /export or transcript features if reactions were included in the output
- Annotation with emojis today, but this could be expanded later if needed...
- Tags, Categories, Stars (for better tracking)
- Threaded Replies and Conversations on items (debates, clarifications, questions, etc)
- Memes / Gifs / Stickers (for lots of fun)
- Claude could also add various annotations to human content and responses
- Navigation - use existing modes, add new modes, support keyboard only, etc.
- Emoji Selection - could be done by typing, like
:thumbsup:for 👍 - Voice Navigation and Annotation
- For simplicity and/or accessibility, this could be an option.
- Rarity - Claude's responses might be rare and/or have to be earned or unlocked
- The potential emojis might be controlled, with a Rare emoji being offered for use on occasion
- Richness - Optional and minimal sound effects are recommended for emoji submission (perhaps a click, note, ding, etc)
- Rare emojis might have brilliant sound or graphical effects (yes, even in the terminal)
- Animated Ascii art, inline image or video (sixel based), etc. could provide emotional cues to humans
- When crucial conversations are warranted, these are rich discussions that should be cherished)
- Response Timing
- Claude might adopt a Topics Backlog list and simply add certain topics to that list based on relevant emojis
- Claude can ask the user when these topics can be reviewed and clarified
- Personalization - Claude's behavior and communication style can be personalized for emoji responses too
Priority
Medium - Would be very helpful
Feature Category
Interactive Mode (TUI)
Use Case Example
_No response_
Additional Context
If this concept is adopted, then it should eventually become pervasive across all Claude experiences for obvious reasons:
- (Better UX Consistency, Enhanced Habit Loops, Bigger Learning Scale, Better Emotion Signals, etc.)
Consider the natural behavior of users in Slack, in Google Meet with emotions, and in social media. These kinds of signals are a powerful complement to what Claude Code receives today.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗