[FEATURE] Allow agents to programmatically set conversation title
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
When running multiple parallel Claude Code conversations, each session needs a distinct title (e.g., [DEV] WI#195 — parallel agent safety) for the user to identify active sessions.
Proposed Solution
dd a tool or API that lets the agent set the conversation title at the user's request (or as part of a documented workflow). This would improve parallel session management significantly.
Current workaround: Agent outputs [DEV] WI#<N> — description and user manually renames.
Alternative Solutions
Currently, the agent outputs a suggested title and the user must manually copy-paste it to rename the conversation.
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
- I run 3+ parallel Claude Code conversations on the same repo, each on its own feature branch tied to a work item (WI#)
- At branch creation, the agent outputs a suggested title like "[DEV] WI#195 — parallel agent safety" for me to identify the session
- I have to manually copy-paste this into the conversation title each time
- With this feature, the agent could call a tool like
setConversationTitle("[DEV] WI#195 — parallel agent safety")and it would just work - This would save time and reduce errors when managing multiple parallel sessions — I'd always know which conversation is working on which task without manual renaming
Additional Context
When running multiple Claude Code agents in parallel (3-5 conversations),
conversation titles are the only way to visually distinguish sessions.
Our workflow uses title conventions: [DEV] for active work, [SHPD] for
shipped. Without programmatic title setting, every session requires
manual renaming — easy to forget, leading to confusion about which
conversation is doing what.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗