[#7] Windows MSIX virtualized-path detection #7

Closed
opened 2026-07-02 00:50:35 -04:00 by the_og · 0 comments
Owner

Problem

Multiple open anthropics/claude-code GitHub issues (#26073, #29100, #38830) report that on Windows MSIX installs, edits to the normal %APPDATA% config path are silently ignored because the running app reads from a virtualized path:

%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\

Users edit the file BCC points at, restart, and nothing changes — with no error. Uniquely frustrating failure mode.

Proposed solution

On Windows, detect an MSIX install by checking for %LOCALAPPDATA%\Packages\Claude_*. If found:

  • Either point discovery directly at the virtualized path, OR
  • If both paths exist, show an explicit warning that there are two candidate config files and only one is live.

Note: Cannot be tested locally on macOS. The detection logic should be unit-tested by mocking the filesystem; add a note to the PR that manual Windows verification is needed before merge.

Acceptance criteria

  • On an MSIX install, BCC edits the path Claude actually reads.
  • On a non-MSIX install, behavior is unchanged.
  • Detection logic has unit tests (filesystem-mocked, cross-platform runnable).
  • PR notes that Windows smoke-test is needed.

Relevant code

  • bcc_core.py::app_support_base (line 74)
  • bcc_core.py::discover_profiles (line 83)
## Problem Multiple open anthropics/claude-code GitHub issues (#26073, #29100, #38830) report that on Windows MSIX installs, edits to the normal `%APPDATA%` config path are silently ignored because the running app reads from a virtualized path: ``` %LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\ ``` Users edit the file BCC points at, restart, and nothing changes — with no error. Uniquely frustrating failure mode. ## Proposed solution On Windows, detect an MSIX install by checking for `%LOCALAPPDATA%\Packages\Claude_*`. If found: - Either point discovery directly at the virtualized path, OR - If both paths exist, show an explicit warning that there are two candidate config files and only one is live. **Note:** Cannot be tested locally on macOS. The detection logic should be unit-tested by mocking the filesystem; add a note to the PR that manual Windows verification is needed before merge. ## Acceptance criteria - On an MSIX install, BCC edits the path Claude actually reads. - On a non-MSIX install, behavior is unchanged. - Detection logic has unit tests (filesystem-mocked, cross-platform runnable). - PR notes that Windows smoke-test is needed. ## Relevant code - `bcc_core.py::app_support_base` (line 74) - `bcc_core.py::discover_profiles` (line 83)
the_og added the P1 label 2026-07-02 00:50:35 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: the_og/better-claude-config#7