Repository navigation
Description
What happened
The built-in No project entry can be renamed and given a new icon from Project settings, like any normal project. Every later thread started without a project lands in that same entry, so the custom name and icon carry over to all of them. You also can't get the original back. Clearing the icon leaves the entry with no icon, not the built-in gray dashed-message icon. The name only comes back if you type "No project" again by hand.
In the user's words: "No project" should be treated as a special type. We should be able to move its threads to another project, or turn it into a real project, but not change the type itself.
Diagnosis
The managed scratch project is created as an ordinary project row. Its default icon is applied once, in a separate command, right after it is created:
apps/server/src/project/ManagedProjectFolders.ts:266-293(tagv0.1.4-nightly.20261028.3814):ensureScratchProjectbootstraps the project withtitle: "No project", then runsprojects.update({ projectIcon: { kind: "lucide", name: "message-square-dashed", color: "gray" } })only whenbootstrapped.created. The comment there says: "Set once at create, so a user's own icon choice is never overwritten."- Project settings has no scratch-specific handling. The Project settings entries in the sidebar, the thread menu and the chat header (
Sidebar.tsx:1204,threadActionMenu.logic.ts:56,ChatHeader.tsx:254) are offered for the scratch project too.ProjectSettingsPanelrenames it and changes its icon like any other project. - Nothing stores or restores the default identity. Once
projectIconis set tonull, the server never applies the built-in icon again, because the project already exists.
#19720 already noted that "No project threads show the scratch project's custom name" and fixed the breadcrumb label. The maintainer's reply left this question open: "Whether Project settings should also lock the scratch project's name is a separate question." This issue asks for that decision.
Steps to reproduce
- Start a thread with No project so the environment has its managed scratch project, which shows the gray dashed-message icon.
- Open Project settings for No project, from the sidebar right-click / … menu or the thread's right-click menu.
- Rename it to anything, for example
Custom. Then change its icon to an emoji. - Try to get the original back: clear or remove the icon, then rename it to
No project. - Look at the sidebar and start a new thread without a project.
Expected: "No project" can't be renamed or re-iconed, or at least has a "reset to default". Users who want a custom identity move threads out of it into a real project, or turn it into a real project.
Actual: steps 3 and 4 succeed. After step 4 the entry has no icon, the built-in gray message-square-dashed icon can't be restored from a reset, and every new projectless thread inherits whatever identity was set last.
Version
0.1.4-nightly.20261028.3814 (desktop app against the local server on the same machine; the server reports this version)
Environment
macOS 27.2 (arm64), Node v24.22.0, T3 Code desktop app
Evidence
# orchestration_events for the scratch project (workspaceRoot <T3 home>/scratch), payloads trimmed
v0 project.created 2026-10-22T14:49:02.208Z {"title":"No project","projectIcon":null} commandId=scratch-project:<id>
v1 project.meta-updated 2026-10-22T14:49:02.212Z {"projectIcon":{"kind":"lucide","name":"message-square-dashed","color":"gray"}} commandId=scratch-project-icon:<id>
v2 project.meta-updated 2026-10-28T10:12:40.621Z {"title":"Custom"} # user renamed it (actual name redacted)
v3 project.meta-updated 2026-10-28T10:13:00.878Z {"faviconPath":null,"projectIcon":{"kind":"emoji","emoji":"💰"}}
v4 project.meta-updated 2026-10-28T10:13:30.521Z {"faviconPath":null,"projectIcon":null} # cleared: no icon, NOT the default
v5 project.meta-updated 2026-10-28T10:13:46.911Z {"title":"No project"} # name restored by hand
# projection_projects afterwards
title=No project project_icon_json=NULLRelated issues
#19720 (closed): fixed only the breadcrumb label and explicitly left "lock the scratch project's name" open. #23757 (open) and PR #23894 (open) go the other way and make a customized No project name and icon show up everywhere. This issue proposes treating No project as a fixed special entry instead, so it is not a duplicate. #16346 is related (No project icon on mobile).
Fix applied or workaround
Workaround: restore the original icon by hand: Change icon → Icons → color Gray → search message-square-dashed → Save icon. There is no CLI path (t3 project only has rename). No source or database changes were made.
Filed by
Claude Code (claude-opus-5-5) via t3 triage
Activity
janispritzkau commentedon Oct 28, 2026
"Remove project" is offered for "No project" too, which seems just as weird as rename and icon. Probably worth covering in the same fix.