DEV Community

Alex Mantello
Alex Mantello

Posted on

I built a Claude Code plugin that auto-names your conversations

Claude Code saves all conversations as random UUID filenames like c348d36f-8002-40ca-8523-17821d6a0bea.jsonl. After 100+ sessions,
finding an old conversation is impossible.

I searched npm and the Claude Code plugin marketplace - nothing existed to solve this.

## The solution

I built chat-namer, an open-source Claude Code plugin that:

  • Auto-names every conversation from the first user message via a Stop hook
  • Search all your chats by keyword
  • Resume any old conversation without memorizing UUIDs
  • Rename conversations with custom names
  • Works as a Claude Code plugin with slash commands or as a standalone CLI

## How it works

  1. Scans ~/.claude/projects/ for conversation .jsonl files
  2. Reads the first user message to generate a readable name
  3. Stores names in a separate chat-names.json file
  4. Never modifies conversation files - names are just metadata

## Install

As a Claude Code plugin:


bash
  git clone https://github.com/Jamaalx/claude-chat-namer.git
  claude --plugin-dir ./claude-chat-namer

  Or standalone via npm:
  npx claude-chat-namer

  Slash commands

  ┌────────────────────────────┬────────────────────────────────────────┐
  │          Command           │              Description               │
  ├────────────────────────────┼────────────────────────────────────────┤
  │ /chat-namer:list           │ List all conversations with names      │
  ├────────────────────────────┼────────────────────────────────────────┤
  │ /chat-namer:search <query> │ Search by keyword                      │
  ├────────────────────────────┼────────────────────────────────────────┤
  │ /chat-namer:resume <query> │ Find a chat and get the resume command │
  ├────────────────────────────┼────────────────────────────────────────┤
  │ /chat-namer:rename         │ Rename a conversation                  │
  ├────────────────────────────┼────────────────────────────────────────┤
  │ /chat-namer:auto-name      │ Auto-name all unnamed conversations    │
  └────────────────────────────┴────────────────────────────────────────┘

  Zero dependencies

  The entire plugin uses only Node.js built-ins: fs, path, os, readline. No npm install needed.

  Links

  - GitHub: https://github.com/Jamaalx/claude-chat-namer
  - npm: https://www.npmjs.com/package/claude-chat-namer

  First plugin of its kind. Published on npm and submitted to the official Anthropic plugin marketplace.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)