# fix\(web\): honor the scratch project name and icon · PR \#23894 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/23894)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: open

Source repository: Unavailable fork

Source branch: fix/scratch-project-identity

Target branch: main

Head commit: 060c24ead5d984beec33dd176c7e7abf1fca27eb

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/23894)

[Commits](https://git.cafe/pingdotgg/t3code/pull/23894/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/23894/diffs?format=markdown)

## Description

---

Renaming the built-in No project entry and choosing an icon saves correctly, but the chat breadcrumb, draft project trigger, and command palette's New thread in… menu still show hardcoded defaults. Use the saved title in those views and the existing `ProjectFavicon` renderer in the palette. Scratch groups retain the preferred environment's saved title instead of replacing it with No project. Fixes #23757.

This is a focused correction to existing project customization under CONTRIBUTING.md's obvious-bug exception. Scratch classification, grouping keys, environment selection, and thread creation paths are unchanged. There are no new settings or workflows.

## Verification

- Added a regression to the existing project-grouping tests. It failed before the fix with `expected 'No project' to be 'Scratchpad'` and passes afterward. It covers two differently named scratch homes, preferred-environment selection, saved icons, and continued grouping.
- Focused grouping/environment tests: 28 passed. Command palette logic and mobile home project-scope tests: 21 passed.
- `vp run check:changed` passed formatting, lint, Knip, affected typechecks, and adjacent tests. A follow-up lint run after removing an unused import reports only the existing Date purity warning.
- In T3's Browser panel on Linux Chromium, saved Scratchpad with a gray info icon through Settings, then checked the breadcrumb, draft project trigger, and New thread in… palette. The palette uses the saved info icon and title. Checked the draft at 1280×800 dark and 480×800 light; the narrow view has no horizontal overflow.
- Web and desktop share the changed views. Mobile consumes the shared grouping label change and its project-scope tests pass. Electron, native mobile, and a live multi-environment connection were not exercised; preferred-environment behavior is covered by the regression test. No provider turn was started.

## Screenshots

Both sides use the same saved Scratchpad name and info icon in isolated dev state. Before is `200dad3b39aa`; after is this patch.

| View | Before | After |
| --- | --- | --- |
| Draft and breadcrumb | ![Before: saved name ignored](https://github.com/shethshlok/t3code/releases/download/ui-fix-evidence-20261022/scratch-draft-before.png) | ![After: Scratchpad in the draft and breadcrumb](https://github.com/shethshlok/t3code/releases/download/ui-fix-evidence-20261022/scratch-draft-after.png) |
| New thread in… | ![Before: default name and chat icon](https://github.com/shethshlok/t3code/releases/download/ui-fix-evidence-20261022/scratch-palette-before.png) | ![After: saved Scratchpad name and info icon](https://github.com/shethshlok/t3code/releases/download/ui-fix-evidence-20261022/scratch-palette-after.png) |

[Saved project settings](https://github.com/shethshlok/t3code/releases/download/ui-fix-evidence-20261022/scratch-saved-settings.png).

Model: GPT-6.1-Sol. Harness: Codex through T3 Code.

