Record context
Note version, installed or portable mode, active profile, and original value.
Persistence diagnosis · evidence first
When an option returns to its old value, determine whether the UI never saved, Settings.json could not be written, another profile owns the value, or the setting saved but failed later on its way to Roblox.
candidate ≠ originalSaving to …LastWriteTimeLoaded successfully!01 / Symptom router
Choose the reproducible observation. “Saved but not applied” belongs to a later checkpoint.
Observed result
The value did not survive a fresh UI load. Preserve the file and log, then prove the write at the exact Base path.
Save request, Save complete, timestamp, IsReadOnly.
Do not reinstall or change the whole folder ACL.
02 / Controlled save
Choose an ordinary reversible option—not FastFlags, IXP, a profile operation, or a Roblox global value.
Settings.json named there.Note version, installed or portable mode, active profile, and original value.
Find Paths::Initialize in the latest log. A July 2026 1.4.9 log uses Local AppData; your running process log wins.
Keep Roblox closed and do not import or switch profiles.
Use the normal Save action. Current logs show separate managers for Settings, State, FastFlags, and global settings.
Look for JsonManager<Settings>::Save. Preserve the first exception if completion is absent.
Get-Item "$env:LOCALAPPDATA\Luczystrap\Settings.json" | Select-Object FullName, IsReadOnly, Length, LastWriteTimeReturn to the same profile. The candidate value must reload.
Save the original value and repeat the reload check.
03 / Log receipt
A nearby green line may belong to State, FastFlags, or the Roblox global editor.
[JsonManager<Settings>::Save] Saving to %UserProfile%\AppData\Local\Luczystrap\Settings.json...[JsonManager<Settings>::Save] Save complete!Failed to save · IOException or UnauthorizedAccessException · exact pathMeaning: request + commit proves the manager reported a file write. It does not prove profile selection, deployment, policy acceptance, or Roblox behavior.
04 / Result matrix
Stop at the first failed checkpoint; later symptoms are downstream.
| Evidence | Meaning | Next move |
|---|---|---|
| No Settings request | Save did not reach the Settings manager. | Repeat with one ordinary option and one running instance. |
| Request then failure | I/O or access boundary. | Use the full path in permissions help. |
| Complete; timestamp unchanged | Likely inspecting another root. | Use Base from the same process log. |
| IsReadOnly is True | Attribute conflicts with overwrite. | Back up, clear it on this file, and retest both directions. |
| Complete; value resets | Profile, other instance, later overwrite, or load fallback. | Use one instance/profile and inspect next load lines. |
| Value survives; Roblox unchanged | Persistence passed. | Use the checkpoint map. |
| Only FastFlags fail | Separate file and manager. | Inspect ClientAppSettings.json. |
| Only profile switch fails | Selection or profile scope. | Run the profile test. |
05 / File ownership
A success for one manager says nothing about the others.
Settings.jsonOrdinary launcher settings. This page tests this file.
Profiles.jsonPresets shipped in 1.4; field scope is not published.
Profile scope →ClientAppSettings.jsonA write does not make a non-allowlisted key accepted.
FastFlags help →GlobalBasicSettings_13.xmlGraphics quality and other global values are separate.
Graphics guide →06 / Narrow repairs
Every repair begins with a backup and ends with the same two-direction reload test.
Do not recurse through AppData.
Get-Acl.07 / Avoid
A destructive reset can hide the cause while removing custom state.
Back up exact files and logs first.
Inspect the named file and ACL.
Do not grant every launcher action more authority.
The app may overwrite manual changes from memory.
Use one reversible ordinary value.
Settings, profiles, flags, IXP, and global state differ.
08 / Escalation
Exact manager, path, timestamps, and first error let a maintainer act.
Redact: username, account IDs, tokens, private URLs, and unrelated paths.
Luczystrap version: Windows version: Installed or portable: Executable and Base path: Active profile: Setting and original → candidate: Save time: Save request / complete present: First exception: FullName / IsReadOnly / LastWriteTime: Candidate survived reopen: Original survived rollback: Other instances open: Redacted log attached:
09 / FAQ
A public July 2026 1.4.9 log shows installed mode at %LocalAppData%\Luczystrap\Settings.json. Confirm the Base path in your newest log.
Save one recognizable value, find the Settings manager request and completion, then reopen under the same profile.
It proves the named file write, not profile selection, staging, allowlist acceptance, or Roblox consumption.
Yes. Historical source overwrote the file and handled I/O or access failures. Inspect the attribute and exact error first.
Not first. Copy it and the latest logs because deletion removes evidence and current state.
No in the documented path. FastFlagManager writes a separate ClientAppSettings.json.
Yes. Confirm profile and one included setting. IXP is explicitly excluded from profiles.
Not by default. Preserve the exact error and repair only the affected object.
10 / Evidence
Current paths come from a 1.4.9 runtime log; write behavior is labelled historical.