Edit Icon does not apply the selected icon and color in the Agents Window sidebar

Describe the Bug

Hi Cursor team!

After a recent update, custom icons for my chats stopped appearing in the Agents Window sidebar. I used the colors and icons to recognize conversations at a glance. It was a cosmetic, visual feature that I really liked. A lot, actually! :upside_down_face::disappointed_face:

The Edit Icon command is still in the context menu, and the picker opens normally. I can select a color and an icon, but when I return to the list, the indicator to the left of the chat title is still a small gray dot. I’ve tried different icons, colors, and combinations, always with the same result.

The list seems to have developed a rather firm preference for gray.

Steps to Reproduce

  1. Open the Agents Window.
  2. In the sidebar, find a chat under Repositories → No Repo.
  3. Right-click the chat and select Edit Icon.
  4. Choose a color and an icon, then return to the list.
  5. Check whether the selected icon and color appear to the left of the chat title.

Expected Behavior

Expected: the chat row displays the custom icon in the selected color.

Actual: the gray dot remains, with neither the selected icon nor its color appearing. This happened with every combination I tried.

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Cursor: 3.24.4
Commit: de531a68a13727d211a2888fd2ffa21a912298c0
Build timestamp: 2026-10-06T21:42:58.234Z
OS: Windows 11 Pro, build 26300, 64-bit
Affected interface: Agents Window sidebar

Additional Information

I’ve attached two images to make the issue easier to follow: the first combines the context menu and the picker; the second shows the result in the sidebar. I added the magenta rectangles to highlight the chat indicators. The screenshots have been enlarged, with captions added outside the interface; their original UI content has been preserved.

I noticed the change after the update and suspect a regression, but I haven’t identified the last version where this worked. I also haven’t established whether the selection fails to save or is saved but isn’t displayed in the sidebar. The underlying cause is still unclear.

Can you reproduce this behavior? If there’s already a known issue or a workaround while a fix is in progress, I’d appreciate a pointer so I can follow along. If a regression is confirmed, it would be useful to cover this flow in regression tests: select an icon and color, check that the chat row updates, and verify that the selection persists after reopening the app.

Please fix this as soon as possible. I’d really like to have this feature back.

Thank you!

Hey @gabrie003, thanks for the report and the screenshots!

I was able to confirm this on our side. In 3.24, a custom icon picked for a local chat in the Agents Window is not kept, so the row falls back to the gray dot. I’ve flagged it to the team.

Chats that run in the cloud are not affected, so Edit Icon still works on those in the meantime. For local chats there is no workaround yet, and once a fix ships you may need to pick your icons again for chats you customized before the update.

Thank you @gabrie003 for bringing up this bug on our behalf.

@kevinn While we’re on the topic, I’d like to request a feature.
In the icon picker, can we be shown the names of the icons when we hover over them?
It is difficult to search or filter the icons when we don’t know their names.

Here to +1 the issue since this feature was a small but highly effective (and flexible) means of organising/labelling my many chats. It is an important part of my workflow.

Fixing this promptly would restore my high levels of trust in the cursor platform. (This feels like customer data loss currently!)

Many thanks in advance!

+1 to this as well. Commenting here so I can track updates to the thread.

I use icons as visual indicators in my workflow, so this is an important feature to me.

Thanks!

Hey any idea when this will be fixed? Its actually surprising how much the colors helped me out. Maybe also add some more colors for us if you have to edit the same area? Much love <3

Was about to open a bug report for the same, i’ll just paste my intended report below rather than a new thread:

# Agent session icons disappeared after updating to 3.24.12, and “Edit icon” now deletes them

## Summary

After updating Cursor, none of my agent sessions show their custom icon or color in the sidebar, although the data is still in local storage. Opening “Edit icon” on a session shows the default color with no icon selected. Picking a new icon and color does nothing in the UI. Worse, saving **removes** the existing stored icon from the database.

## Environment

- Cursor 3.24.12 (commit `37b865941ccb31e2fc90c685157534efca87f960`), stable channel

- Previous version: 3.23.23 (icons worked; auto-updated around 13 Oct 2026)

- macOS 15.7.9, Apple Silicon (arm64)

## Steps to reproduce

1. Before the update, set custom icons and colors on several agent sessions via “Edit icon”.

2. Update to 3.24.12.

3. Open the agents sidebar.

4. Open “Edit icon” on a session that had an icon, choose a different icon and color, and save.

## Expected

- Existing icons and colors still show after the update.

- “Edit icon” opens with the current icon and color selected.

- Saving a new choice applies it and persists it.

## Actual

- No session shows an icon or color in the sidebar.

- “Edit icon” opens with the default color and no icon selected.

- Saving a new choice (I picked figma/cyan) doesn’t change the UI. Reopening “Edit icon” still shows default/none.

- The save **deletes** the session’s existing `projectAppearance` from storage, and the new value is never written.

## Evidence from local storage

In `~/Library/Application Support/Cursor/User/globalStorage/state.vscdb`, after the update:

- 49 sessions still had `projectAppearance` set, for example `{“icon”:“hammer”,“colorId”:“purple”}`. It is present in both the `composerHeaders` row (`value` JSON) and the matching `cursorDiskKV` `composerData:` record. So the data survived the update; the UI just doesn’t render it.

- I snapshotted one session (`7a87be25-a892-4e15-ac27-3fe44f4d9a6a`, hammer/purple) before and after saving figma/cyan in “Edit icon”. The only changes related to appearance were in both the header JSON and `composerData`:

- `projectAppearance` was **removed**.

- `isProject: false` was also removed.

- Nothing containing figma or cyan was written anywhere in global or workspace storage.

This suggests that in 3.24.12 the appearance read/write path no longer uses `projectAppearance` (or `isProject` now gates it), and existing values weren’t migrated. The save then writes an empty appearance over the old one.

## Impact

I use session icons to flag sessions to come back to: recurring task shapes worth improving, and sessions with learnings to fold back into agent skills. Losing them hides that signal across dozens of sessions. Because “Edit icon” currently erases the remaining stored values, I can’t safely re-tag anything until this is fixed.

I’ve exported the 49 remaining `{composerId, name, projectAppearance}` entries, so I can restore them once the UI reads them again. A migration that keeps existing `projectAppearance` values would be ideal.

There is some concern about data loss. While the fix in in flight don’t edit the icons yourself as it will clear them in the cursor db/metadata.

In the meanwhile you can give this prompt to your agent to backup your icon/color data so that when the fix is shipped you can reapply them to your agent sessions rather than trying to remember them all and doing it manually.

I asked my agent to create this prompt for the people in this forum thread based on what it did for me.

Please back up my Cursor agent session icons (the icon + color set via "Edit icon" in the agents sidebar) to a JSON file so I can reapply them after Cursor fixes a bug where they no longer display. Cursor 3.24.x doesn't render these icons, and using "Edit icon" on a session deletes the stored value. The data still exists in local storage; I want a safe copy of it.

Hard rules:
- Treat Cursor's database as READ-ONLY. Never write to, vacuum, or otherwise modify state.vscdb (or its -wal/-shm files). Open it read-only (sqlite3 -readonly, or Python sqlite3.connect("file:<path>?mode=ro", uri=True)).
- Don't delete or move any Cursor files.

Where the database is:
- macOS: ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb
- Windows: %APPDATA%\Cursor\User\globalStorage\state.vscdb
- Linux: ~/.config/Cursor/User/globalStorage/state.vscdb
It can be several GB; queries take a few seconds. If the sqlite3 CLI isn't installed, use Python's built-in sqlite3 module.

Where the icon data lives (each value looks like {"icon":"wrench","colorId":"yellow"}):
1. Table `composerHeaders` (may not exist in older versions): the `value` column is JSON with `$.name` and `$.projectAppearance`; the session id is `composerId`.
   SELECT composerId, json_extract(value,'$.name'), json_extract(value,'$.projectAppearance')
   FROM composerHeaders WHERE json_extract(value,'$.projectAppearance') IS NOT NULL;
2. Table `cursorDiskKV`: keys like `composerData:<composerId>` hold JSON with the same `name` and `projectAppearance` fields.
   SELECT substr(key,14), json_extract(value,'$.name'), json_extract(value,'$.projectAppearance')
   FROM cursorDiskKV WHERE key LIKE 'composerData:%' AND value LIKE '%"projectAppearance"%'
   AND json_valid(value) AND json_extract(value,'$.projectAppearance') IS NOT NULL;

What to do:
- Run both queries (skip the first if the table doesn't exist). Merge by composerId, keeping both sources' values and flagging any session where they disagree.
- Write the result to ~/cursor-session-icons-backup.json as an array of
  {"composerId": "...", "name": "...", "projectAppearance": {"icon": "...", "colorId": "..."}, "source": ["composerHeaders","composerData"]}
  If that file already exists, write to a timestamped filename instead of overwriting it.
- Also print the Cursor version (Help > About, or the app's product.json) and the total count of sessions backed up.
- Finally, tell me the count, the output path, and a short sample of entries. Remind me not to use "Edit icon" on these sessions until Cursor ships a fix, since saving currently erases the stored icon.

Optional extra safety: offer to make a full file copy of state.vscdb (plus -wal and -shm if present), but only after I've fully quit Cursor, and warn me about its size first.

Any update on this, it was great QoL and is quite a regression?

+1 here. I use the icons as a status indicator/progress note for my agent chats and losing it has been a challenge. Commenting here so hopefully I can get a notification when a fix is pushed.

Hi Cursor team,

It has now been nine days since I reported this issue on October 7. You confirmed the bug and escalated it to the team that same day, but we still have no update on the fix or an estimated release date.

The replies here make it clear that icons and colors are part of several users’ daily workflows. They help us identify conversations, track progress, and find important sessions. Losing this feature is disrupting established ways of working.

@Levente_Toth’s findings also raise an additional concern: according to the tests he shared, trying to edit an icon can erase the customization data that is still stored locally. This deserves a response from the team, along with clear guidance on what users should do while the issue remains unresolved.

I understand that fixes need investigation and testing, but nine days without a concrete update on an acknowledged regression is frustrating.

What is the current status of the fix? Is there an estimated release date? Will existing icon and color customizations be preserved or recoverable?

Thank you, @kevinn, for confirming the issue initially. We now need a progress update and an expected timeframe for getting this feature working again.

@Colin @Kody_Fisher, could you help get an update from the team handling this regression, including clarification on the potential loss of saved customizations?

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

All of the chat icons/colors that I had set in the agents window were the default grey dot. Only some chats allowed me to update the icon/color of the chat, most chats didn’t allow this.

This happened after I upgraded from 3.23.23-1791166813 to 3.25.9-1792103067

The screenshot I attached is what it is usually supposed to look like. When I upgrade none of those color icons were there (except for the projects icons, those were still there)

I reverted back to the previous version, and the colors/icons work now. i will upgrade when this bug is fixed.

Steps to Reproduce

On the previous version of 3.23.23-1791166813 go to the agents window and update the various chat’s icons/colors. Then upgrade Cursor to 3.25.9-1792103067, and pull up the agents window. All of the icons/colors previously set will now be the default grey dot

Expected Behavior

The chats are supposed to have a color/icon.

Screenshots / Screen Recordings

Operating System

Linux

Version Information

3.25.9-1792103067

Does this stop you from using Cursor

No - Cursor works, but with this issue

Please give a timeline for the bugfix. I work with multiple local and remote devices and colored icons are the only way to keep track without renaming the chats with some kind of codes…

You know i just learnt that I could use title trick like:
[require followup] original title …

LOL!

Still happening on 3.27.6 (macOS). I looked through the shipped code and I think I found where it breaks.

In workbench.glass.main.js, it looked like local chats stopped carrying the icon field in 3.24:

  • Local sidebar rows are built without projectAppearance, so every local chat falls back to the gray dot.
  • syncFromHandle removes projectAppearance (and isProject) from a local chat whenever it loads. So Edit Icon saves the new icon and then that clears it right back out. Cloud chats go through a different path, which would explain why they still work.

For anyone holding off on Edit Icon: working in a chat seems to strip it too. In my local storage, every chat I’ve worked in since the update lost the icon from its main record, and the ones I haven’t touched still have it. The sidebar index still has a copy for the stripped ones, so I think they’re recoverable.

Happy to share more details if that helps.