Skip to content

Feature Request: Add Conversation Naming/Renaming Capability #2838

Closed as duplicate

Description

@rodbland2021

Description:

Feature Description

Enhance the existing /resume command by adding the ability to assign custom names to conversations, making them easier to identify beyond just the session summary.

Current Behavior

The /resume command currently shows:

  • Time since last activity
  • Time created
  • Number of messages
  • Auto-generated summary of the session

While helpful, the summaries are often truncated and may not clearly indicate the project or context.

Proposed Enhancement

Add custom naming to complement the existing summary:

Current Display:

Modified    Created     # Messages Summary
  1. 53s ago 3h ago 29 This session is being continued from a previo...
  2. 14h ago 14h ago 491 This session is being continuing from a previo...
  3. 14h ago 14h ago 197 This session is being continued from a previo...

Proposed Display with Names:

Modified    Created     # Messages Name                         Summary
  1. 53s ago 3h ago 29 YouTube Automation This session is being continued...
  2. 14h ago 14h ago 491 main.py refactoring This session is being continuing...
  3. 14h ago 14h ago 197 API Documentation This session is being continued...

Implementation Options

Option 1: Add a /rename command for current session

> /rename "YouTube Automation Project"
Session renamed to: YouTube Automation Project

Option 2: Add naming flag when starting

claude --name "API Documentation" "Help me document this API"

Option 3: Inline rename during /resume

> /resume
[Shows current list]
> /resume --rename 1 "YouTube Automation"

Benefits

1. Quick Project Identification: Custom names immediately identify the project context
2. Better Than Summaries Alone: Summaries are often generic ("This session is being continued...")
3. Maintains Existing Workflow: Enhances rather than replaces current functionality
4. Project Organization: Multiple conversations for the same project can share naming conventions

Use Case Example

As shown in the screenshot, many sessions have similar generic summaries. With custom names:
- Session 1: "YouTube Automation" instead of relying on truncated summary
- Session 2: "main.py refactor" clearly indicates the file being worked on
- Session 3: "API docs" immediately identifies documentation work

Additional Context

- The current /resume interface is already excellent - this would enhance it further
- Names should be optional - unnamed sessions would display as they currently do
- This feature exists in Cursor AI and significantly improves session management

This better reflects the actual current functionality and proposes a clear enhancement to the existing `/resume`
command interface!




![Image](https://github.com/user-attachments/assets/447890ba-e4f8-47d8-b155-3c8be0aca0f2)

Activity

  1. sygi commented on Jul 14, 2025

    @sygi

    Related to this, it'd be great if claude knew the id/summary/anything about the currently-running session

  2. shorea commented on Jul 30, 2025

    @shorea

    Would love this feature. To add to it, consider also exposing session names/summaries via some kind of --list-sessions/--list-conversations options. Being able to access this data via the CLI opens up some very powerful integrations with the shell like using fzf to fuzzy search sessions and quickly jump back to the project/conversation you want.

  3. shorea commented on Jul 31, 2025

    @shorea

    If anyone is interested I've implemented a poor mans solution of this by leveraging their explicit session ID feature and writing custom names to a file. Using fzf you can fuzzy search by session name for the current project/directory (ccr) or all projects/directories (ccra). ccn allows you to create a new session with a custom name

    ZSH

    SESSION_FILE="$HOME/.claude_sessions.csv"
    # Core function that handles fzf selection
    function _cc_select_session() {
      local input="$1"  # full CSV lines
      local prompt="$2"
    
      echo "$input" | awk -F, '{printf "%s\t%s,%s,%s\n", $2, $1, $2, $3}' | \
        fzf \
          --with-nth=1 \
          --delimiter=$'\t' \
          --preview='awk -F, "{print \"ID: \" \$1 \"\nName: \" \$2 \"\nCWD: \" \$3}" <<< {}' \
          --prompt="$prompt"
    }
    
    # Create new session
    function ccn() {
      local session_name="$*"
      if [[ -z "$session_name" ]]; then
        echo "Usage: ccn <session_name>"
        return 1
      fi
    
      local session_id
      session_id=$(uuidgen)
      local cwd
      cwd=$(pwd)
    
      echo "${session_id},${session_name},${cwd}" >> "$SESSION_FILE"
    
      claude --ide --session-id "$session_id"
    }
    
    # Resume session from current directory
    function ccr() {
      local cwd
      cwd=$(pwd)
    
      if [[ ! -f "$SESSION_FILE" ]]; then
        echo "No session file found at $SESSION_FILE"
        return 1
      fi
    
      local filtered
      filtered=$(grep ",${cwd}$" "$SESSION_FILE")
    
      if [[ -z "$filtered" ]]; then
        echo "No sessions found for this directory."
        return 1
      fi
    
      local selected
      selected=$(_cc_select_session "$filtered" "Session (cwd only)> ")
    
      if [[ -z "$selected" ]]; then
        echo "No session selected."
        return 1
      fi
    
      local session_id
      session_id=$(echo "$selected" | cut -f2 | cut -d',' -f1)
    
      claude --resume "$session_id"
    }
    
    # Resume session from all directories
    function ccra() {
      if [[ ! -f "$SESSION_FILE" ]]; then
        echo "No session file found at $SESSION_FILE"
        return 1
      fi
    
      local selected
      selected=$(_cc_select_session "$(cat "$SESSION_FILE")" "Search all sessions> ")
    
      if [[ -z "$selected" ]]; then
        echo "No session selected."
        return 1
      fi
    
      local session_id
      session_id=$(echo "$selected" | cut -f2 | cut -d',' -f1)
    
      claude --resume "$session_id"
    }
    
  4. vlsi commented on Aug 7, 2025

    @vlsi

    It would be great if the agent could update the conversation title as well. For instance, the instruction could be Rename the conversation to "Review $ticketId for project $projectName ..."

  5. github-actions commented on Aug 16, 2025

    @github-actions

    Found 3 possible duplicate issues:

    1. [Feature Request] Add --session-name and /session-name for custom session identification #2112
    2. Session Naming Feature Request: Add Persistent Named Session Support #3975
    3. [BUG] NEed an ability to rename the claude code sessions #3605

    This issue will be automatically closed as a duplicate in 3 days.

    • If your issue is a duplicate, please close it and 👍 the existing issue instead
    • To prevent auto-closure, add a comment or 👎 this comment

    🤖 Generated with Claude Code

  6. added
    duplicateThis issue or pull request already exists
    and removed
    enhancementNew feature or request
    on Aug 20, 2025
  7. github-actions commented on Aug 20, 2025

    @github-actions

    This issue has been automatically closed as a duplicate of #2112.

    If this is incorrect, please re-open this issue or create a new one.

    🤖 Generated with Claude Code

  8. github-actions commented on Aug 27, 2025

    @github-actions

    This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.

  9. locked as resolved and limited conversation to collaborators on Aug 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions