[FEATURE] [FEATURE] Rename Claude Code Tabs

Resolved 💬 2 comments Opened Feb 23, 2026 by y1141335509 Closed Feb 23, 2026

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

Tab's name is auto-named by the first question asked which can be very long.
I wonder if claude code would allow me to rename conversation tabs in VScode.

Proposed Solution

Proposed Solution

  1. Auto-generated intelligent titles (default behavior)

When a new conversation starts, after the first user message + assistant response, use the model to generate a short title (3-6 words) — similar to how Claude.ai and Cursor already do this. The title updates the WebviewPanel.title property and persists in the session metadata JSON (~/.claude/projects/*/sessions/).

  1. Manual rename via /rename slash command

/rename My Data Pipeline Work
This already exists in the CLI. The VSCode extension should honor the same command and immediately update the tab title by setting WebviewPanel.title.

  1. Right-click context menu on tab

Add a "Rename Session" entry to the tab's context menu (via vscode.window.registerCustomEditorProvider or menus contribution in package.json under editor/title/context). Clicking it opens a vscode.window.showInputBox() pre-filled with the current title.

  1. Persistence

Store the custom title in the existing session metadata (e.g. add a "title" field to the session JSON). On /resume or tab restore, read the stored title and set WebviewPanel.title accordingly.

Implementation sketch

// In the webview panel creation/management code:

// Auto-title after first exchange
async function autoGenerateTitle(conversation: Message[]): Promise<string> {
// Use a lightweight model call with a short prompt
const title = await generateTitle(conversation.slice(0, 2));
panel.title = Claude: ${title};
session.metadata.title = title;
await saveSessionMetadata(session);
return title;
}

// Manual rename via /rename command
function handleRenameCommand(args: string, panel: WebviewPanel, session: Session) {
const newTitle = args.trim();
panel.title = Claude: ${newTitle};
session.metadata.title = newTitle;
saveSessionMetadata(session);
}

// Right-click rename
vscode.commands.registerCommand('claude-code.renameSession', async () => {
const currentTitle = panel.title.replace('Claude: ', '');
const newTitle = await vscode.window.showInputBox({
prompt: 'Rename this Claude Code session',
value: currentTitle,
});
if (newTitle) {
panel.title = Claude: ${newTitle};
session.metadata.title = newTitle;
await saveSessionMetadata(session);
}
});
Priority order
/rename command — lowest effort, highest immediate value, already exists in CLI
Auto-generated titles — biggest UX improvement for most users
Right-click context menu — nice-to-have polish

Alternative Solutions

_No response_

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗