Settings and marketplace files are read once through the storage layer instead of twice.
What's wrong with this entry?
Marketplace file probes and start-up settings reads now go through the host storage backend instead of direct filesystem calls, each naming the storage space it wants, and fall back to ordinary file reads whenever the backend is absent, does not serve that space, or errors. A new start-up pass pre-reads managed-settings.json, its drop-in directory and the project and local settings layers, seeding parsed files and folder listings so the normal settings walk does not read them a second time. Every failure path is non-fatal, so the effect is fewer duplicate reads rather than any change in which settings win.
- Probing for, reading and checking the existence of local marketplace files uses the backend only when the v5 storage backend is present, otherwise the previous direct filesystem calls.
- Plugin cache locations ask for the
systemspace and workspace-relative marketplaces ask forworkspace. - Backend errors on marketplace reads are converted to ENOENT-shaped errors, the standard "no such file" shape, wherever a missing file is the intended meaning, and are logged as
failed to read a local marketplace file (v5 backend error). - The settings pre-read pass runs only if the backend declares it serves the relevant space; when it does not serve
systemthe managed-settings tier is skipped and the policy walk reads the host's files itself. - The settings store additionally caches directory listings, records which entries were primed rather than read, counts policy walks, and decides per candidate whether a pre-read may be installed, raced or deferred.
- If the host attests there is no operating-system policy folder but a managed settings file turns up anyway, that attestation is marked contradicted for the rest of the process.
- Setting
CLAUDE_CODE_MANAGED_SETTINGS_PATHshort-circuits the no-policy-folder branch. - Diagnostic lines tagged
settingsPrime:grew from 10 to 27.
failed to read a local marketplace file (v5 backend error), settingsPrime: start-up seed of the ${t} failed: ${p(s)}; the file reads serve, settingsPrime: the managed-settings file tier is not read ahead (the backend does not serve 'system'); the policy walk reads the host's files itself
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.229
Enterprise managed-mcp.json takes exclusive control of MCP servers
Both mention managed json
-
v2.1.227
Cloud gateway login URL is documented as admin-only
Both mention managed json
-
v2.1.242
Session spawn aborts on host-specific write paths committed to a repo
Both mention json