# \> Let agents set their own chat title/status programmatically (e.g. \`dev 🔄 active\`)

**URL:** <https://forum.cursor.com/t/let-agents-set-their-own-chat-title-status-programmatically-e-g-dev-active/166385>\
**Category:** Feature Requests\
**Tags:** multitask, agents-window, chat\
**Created:** [July 22, 2026, 3:14pm UTC](https://forum.cursor.com/t/let-agents-set-their-own-chat-title-status-programmatically-e-g-dev-active/166385 "2026-07-22T15:14:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Oleksii\_Yanov](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/oleksii_yanov/32/123995_2.png) [@Oleksii\_Yanov](https://forum.cursor.com/u/Oleksii_Yanov)\
**Post date:** [July 22, 2026, 3:14pm UTC](https://forum.cursor.com/t/let-agents-set-their-own-chat-title-status-programmatically-e-g-dev-active/166385/1 "2026-07-22T15:14:57Z")

</div>

### Feature request for product/service

Cursor IDE

### Describe the request

I run many agent chats in parallel (multiple worktrees / conversations). I can’t tell at a glance which one is actively working, which is waiting for my input, and which is blocked — nor which role each plays (dev / PM / QA / reviewer). I have to open each chat to know its state.  
**Request:** let an agent set and update a short status label for its OWN conversation, so the chat list / Agents window reflects live state. For example:  
dev 🔄 active — candidate api  
pm ⏳ wait — sprint planning  
qa ✅ done — cv upload tests  
auditor 🚫 blocked — permission migration  
**Why current options fail (I investigated with a custom extension):**

- Titles are stored in state.vscdb → cursorDiskKV → composerData:.name, but editing the live DB is unsafe and doesn’t refresh the UI.
- Internal commands (composer.updateTitle, composer.updateStatus, composer.renameChat) reject programmatic calls with “Canceled”; renameChat opens a blocking input box.
- workbench.action.devGetComposerDataForTesting is gated behind --enable-smoke-test-driver, so an extension can’t even read the current title.  
So there is currently no supported programmatic path for an agent to annotate its own conversation.  
**Proposed API (any one would solve it):**

1. MCP/agent tool: cursor\_set\_chat\_status({ title?, status?: “active” | “waiting” | “blocked” | “done” })
2. Turn/stop hook output field: title? / status?
3. Allow-listed command cursor.agent.setCurrentChatStatus(status, title?), safe to call while the composer is running.  
**Impact:** turns the Agents window into a real dashboard (who is active / waiting / blocked) for parallel-agent workflows, instead of opening each chat one by one.  
Related request: [Color code chats in agent window](https://forum.cursor.com/t/color-code-chats-in-agent-window/158886)

---

<div class="post-metadata">

**Author:** ![deanrie](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/deanrie/32/1263_2.png) [@deanrie](https://forum.cursor.com/u/deanrie)\
**Post date:** [July 26, 2026, 4:24pm UTC](https://forum.cursor.com/t/let-agents-set-their-own-chat-title-status-programmatically-e-g-dev-active/166385/5 "2026-07-26T16:24:19Z")

</div>

Hey, thanks for the detailed write-up. It’s clear you’ve already dug deep into state.vscdb and internal commands.

I’ll split the request into two parts:

Title. Part of this already works today. In the Agents window, you can just ask the agent to rename its chat right in the prompt, like “rename this chat to `dev - candidate api`”, and it will do it. The caveat is that this is reactive, only on an explicit request, not ongoing auto updates of status. It also works in the Agents window, not the classic IDE sidebar, so there isn’t a programmatic path via an extension like the one you were looking for.

Structured status (active / waiting / blocked / done). This part, a separate settable status field that would turn the Agents window into a live dashboard, doesn’t exist right now. There’s no MCP tool for it, no hook output, and no command. This is the main new part of your request.

This request has come up a few times already, so I’m leaving links here so votes and discussion don’t get split:

- [Add the ability for an agent to rename its own session](https://forum.cursor.com/t/add-the-ability-for-an-agent-to-rename-its-own-session/165410)
- [Give Cursor AI access to change chat title](https://forum.cursor.com/t/give-cursor-ai-access-to-change-chat-title/161166)
- [Expose programmatic chat renaming for agents](https://forum.cursor.com/t/expose-programmatic-chat-renaming-for-agents/154152)
- [Programmatic Chat Title / Rename via Hooks](https://forum.cursor.com/t/programmatic-chat-title-rename-via-hooks/158831)

I can’t share a timeline yet, but the idea is clear and it’s been noted.

---

<div class="post-metadata">

**Author:** ![jsolly](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/jsolly/32/33752_2.png) [@jsolly](https://forum.cursor.com/u/jsolly)\
**Post date:** [September 23, 2026, 11:25am UTC](https://forum.cursor.com/t/let-agents-set-their-own-chat-title-status-programmatically-e-g-dev-active/166385/6 "2026-09-23T11:25:07Z")

</div>

Thanks for tracking structured chat/agent status.

Adding a related ask on top of operational states (active / waiting / blocked / done):

Please also support a **semantic work phase** on each chat/agent, visible in the Agents list and open-chat header, e.g.:

**Brainstorming → Implementing → Shipping / Reviewing**

(Or similar labels.)

Why this is different from live run status: two chats can both be idle/done while one is still in design and another is in PR polish. Phase answers “what stage of work is this thread in?” not only “is the model running?”

Related but not the same:

- [Live Status Indicators on Chat Tab Titles](https://forum.cursor.com/t/live-status-indicators-on-chat-tab-titles/131301) (run/wait/finish indicators)
- [Brainstorming Mode](https://forum.cursor.com/t/brainstorming-mode/160860) (new mode, not a phase badge on existing chats)
- [Color the agent chat background by status (running / needs input / done)](https://forum.cursor.com/t/color-the-agent-chat-background-by-status-running-needs-input-done/168083) (runtime tint)

Prefer auto-inference from context with a manual override. Happy to upvote / refine labels.

---

<div class="post-metadata">

**Author:** ![Eugene\_Lensky](https://avatars.discourse-cdn.com/v4/letter/e/9dc877/32.png) [@Eugene\_Lensky](https://forum.cursor.com/u/Eugene_Lensky)\
**Post date:** [October 7, 2026, 10:41am UTC](https://forum.cursor.com/t/let-agents-set-their-own-chat-title-status-programmatically-e-g-dev-active/166385/7 "2026-10-07T10:41:25Z")

</div>

On the status half, the Agents Window covers “waiting on me” today: set Group by to Status in the sidebar’s customize menu and you get a Needs Attention section. For your own extension I’d use hooks rather than state.vscdb, which is internal and undocumented. There’s just no “waiting on approval” event yet (thread 166947 asks for it). I went the hooks route for SessionDeck, which shows each chat as working, idle or finished in a sidebar. It has no role labels and can’t see the waiting state either. Disclosure: it’s mine, and paid past 3 sessions. [sessiondeck.dev](https://sessiondeck.dev/?utm_source=cursor_forum&utm_medium=comment&utm_campaign=launch&utm_content=t166385)
