Rename the current chat tab or any saved session with a descriptive name
Rename the current chat tab (VSCode extension) or any saved session file.
/session-rename EAGLES Framework # Rename CURRENT chat tab
/session-rename list # List all past conversations with indices
/session-rename --session 3 My Name # Rename conversation #3
.jsonl file in ~/.claude/projects/{project-slug}/~/.claude/projects/{project-slug}/sessions-index.jsonfirstPrompt field to the user's chosen name (this controls the tab title)Run this Python script via Bash to rename the current tab:
import os, json, glob
# Config
project_slug = 'c--rh-optimerp-sourcing-candidate-attraction' # Auto-detect from cwd
new_name = 'USER_PROVIDED_NAME'
# Find project dir
project_dir = os.path.expanduser(f'~/.claude/projects/{project_slug}')
index_path = os.path.join(project_dir, 'sessions-index.json')
# Find current session (most recently modified .jsonl)
jsonl_files = sorted(
glob.glob(os.path.join(project_dir, '*.jsonl')),
key=os.path.getmtime, reverse=True
)
current_id = os.path.basename(jsonl_files[0]).replace('.jsonl', '')
# Load or create index
if os.path.exists(index_path):
with open(index_path, 'r', encoding='utf-8') as f:
index = json.load(f)
else:
index = {'version': 1, 'entries': [], 'originalPath': os.getcwd()}
# Find or create entry
entry = next((e for e in index['entries'] if e.get('sessionId') == current_id), None)
if entry:
old_name = entry.get('firstPrompt', '(unnamed)')
entry['firstPrompt'] = new_name
else:
stat = os.stat(jsonl_files[0])
index['entries'].append({
'sessionId': current_id,
'fullPath': jsonl_files[0],
'fileMtime': int(stat.st_mtime * 1000),
'firstPrompt': new_name,
'messageCount': 100,
'gitBranch': 'hatim',
'projectPath': os.getcwd(),
'isSidechain': False
})
old_name = '(not in index)'
# Save
with open(index_path, 'w', encoding='utf-8') as f:
json.dump(index, f, indent=2)
print(f'Renamed: {old_name} -> {new_name}')
When invoked with list, read sessions-index.json and display all entries sorted by modification time:
[1] EAGLES Claude Framework v3.0 (78MB, Feb 17) <-- current
[2] Calculator with Ant Design (379MB, Feb 02)
[3] QCO Enhancement (95MB, Jan 30)
...
--session flag is given, always rename the CURRENT conversationfirstPrompt field in sessions-index.json is what controls the tab title in VSCode.md session file in ~/.claude/sessions/ if one exists for this sessionSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer
Tags:session, management, productivity