anomalyco / anomalyco/opencode

Project name/icon edits save to disk but never display

Open
#46,384 1 comment 0 reactions 1 assignee View on GitHub

@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

  1. Open a project (e.g. one located at /Users/<user>/Documents/OpenCode/<ProjectA>).
  2. Edit the project: set a name (e.g. "My Test Name") and change the icon color (e.g. green).
  3. Click Save.
  4. 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:project value in more than one
    workspace .dat file 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.