anomalyco / anomalyco/opencode
Project name/icon edits save to disk but never display
@Brendonovich is already working on this.
Since Aug 31, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
Bug: Project name/icon edits save to disk but never display
UI reads project settings from a different storage key than it writes to.
Environment
- OpenCode version: 1.18.25
- Electron: 42.3.3
- OS: macOS 26.6.2 (build 25G83)
- Platform: macOS (Apple)
Summary
Editing a project's name or icon color in the UI and clicking Save appears to
do nothing — the dialog closes but the sidebar/home list shows no change. Reloading the
window (Cmd+R) and fully restarting the app do not help. However, the edited values
are correctly written to disk. The root cause appears to be that project settings are
written under one storage key but read under a different key for the same workspace.
Steps to reproduce
- Open a project (e.g. one located at
/Users/<user>/Documents/OpenCode/<ProjectA>). - Edit the project: set a name (e.g. "My Test Name") and change the icon color (e.g. green).
- Click Save.
- Observe the sidebar/home project list.
Expected
The project shows the new name and icon color.
Actual
The dialog closes, but the project's displayed name and icon color are unchanged. Reload
and full restart do not surface the change.
Evidence that the save works but the read doesn't
The Electron user-data dir (~/Library/Application Support/ai.opencode.desktop/) stores
per-workspace state in opencode.workspace.*.dat. After editing, the value is present and
correct:
opencode.workspace.-Users-<user>.<hashA>.dat:
{
"workspace:project": "{\"value\":{\"icon\":{\"color\":\"green\"},\"name\":\"My Test Name\",\"commands\":{}}}",
"workspace:vcs": "{\"value\":{\"branch\":\"main\",\"default_branch\":null}}",
"workspace:model-selection": "{\"session\":{\"ses_<sessionId>\":{...}}}"
}
The same workspace also has a second state file keyed with a different scheme that has
no workspace:project entry:
opencode.workspace.<base64prefix>.<hashB>.dat (the prefix is base64 of /Users/...):
{
"workspace:comments": "{\"comments\":{}}",
"session:ses_<sessionId1>:comments": "{\"comments\":{}}",
"session:ses_<sessionId2>:comments": "{\"comments\":{}}"
}
So the same workspace is represented under two different key formats:
- sanitized-path style:
opencode.workspace.-Users-<user>.<hash>.dat(this is where the edit is saved) - base64-path style:
opencode.workspace.<base64prefix>.<hash>.dat(no project settings)
This strongly suggests the write path and the display/read path resolve the workspace key
differently, so the reader never sees the saved workspace:project value and falls back to
defaults.
Additional observations
- Icon color edits are also confirmed to write to disk (e.g. pink -> purple, cyan -> mint
across edits), but likewise don't refresh in the UI. - A single Save was observed to update the
workspace:projectvalue in more than one
workspace.datfile at once, which may be related to the keying/identity confusion.
Impact
Project name and icon customization is effectively unusable — changes never appear, even
though they persist.
Notes
Not caused by corrupted state: this was verified after cleaning up an unrelated stale
project entry; the behavior reproduces on clean, valid workspace files.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.