Luczystrap/Troubleshooting/Settings & Mods/ Not Saving

Persistence diagnosis · evidence first

Prove the write. Then fix the break.

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.

Do not delete the Luczystrap folder first. Test one reversible setting, record the save time, find the exact log pair, and reopen under the same profile.

01 / Symptom router

Which state actually failed?

Choose the reproducible observation. “Saved but not applied” belongs to a later checkpoint.

Observed result

Persistence checkpoint

Test the Settings.json write.

The value did not survive a fresh UI load. Preserve the file and log, then prove the write at the exact Base path.

First evidence

Save request, Save complete, timestamp, IsReadOnly.

Do not do yet

Do not reinstall or change the whole folder ACL.

Run the 15-minute test →

02 / Controlled save

Use one value as a tracer.

Choose an ordinary reversible option—not FastFlags, IXP, a profile operation, or a Roblox global value.

Preserve first: close Roblox, copy the newest log, and after closing Luczystrap copy the exact Settings.json named there.

Record context

Note version, installed or portable mode, active profile, and original value.

Confirm the Base path

Find Paths::Initialize in the latest log. A July 2026 1.4.9 log uses Local AppData; your running process log wins.

Change one recognizable option

Keep Roblox closed and do not import or switch profiles.

Save once and note the time

Use the normal Save action. Current logs show separate managers for Settings, State, FastFlags, and global settings.

Find the Settings save pair

Look for JsonManager<Settings>::Save. Preserve the first exception if completion is absent.

Read the file without editing

Get-Item "$env:LOCALAPPDATA\Luczystrap\Settings.json" | Select-Object FullName, IsReadOnly, Length, LastWriteTime

Close and reopen

Return to the same profile. The candidate value must reload.

Restore and prove rollback

Save the original value and repeat the reload check.

03 / Log receipt

Read the named manager.

A nearby green line may belong to State, FastFlags, or the Roblox global editor.

Expected Settings transactionSame timestamp window
REQUEST[JsonManager<Settings>::Save] Saving to %UserProfile%\AppData\Local\Luczystrap\Settings.json...
COMMIT[JsonManager<Settings>::Save] Save complete!
FAILUREFailed to save · IOException or UnauthorizedAccessException · exact path

Meaning: request + commit proves the manager reported a file write. It does not prove profile selection, deployment, policy acceptance, or Roblox behavior.

04 / Result matrix

Let the first mismatch choose the fix.

Stop at the first failed checkpoint; later symptoms are downstream.

EvidenceMeaningNext move
No Settings requestSave did not reach the Settings manager.Repeat with one ordinary option and one running instance.
Request then failureI/O or access boundary.Use the full path in permissions help.
Complete; timestamp unchangedLikely inspecting another root.Use Base from the same process log.
IsReadOnly is TrueAttribute conflicts with overwrite.Back up, clear it on this file, and retest both directions.
Complete; value resetsProfile, other instance, later overwrite, or load fallback.Use one instance/profile and inspect next load lines.
Value survives; Roblox unchangedPersistence passed.Use the checkpoint map.
Only FastFlags failSeparate file and manager.Inspect ClientAppSettings.json.
Only profile switch failsSelection or profile scope.Run the profile test.

05 / File ownership

Four files can create one complaint.

A success for one manager says nothing about the others.

Application

Settings manager

Settings.json

Ordinary launcher settings. This page tests this file.

Profiles

Profile manager

Profiles.json

Presets shipped in 1.4; field scope is not published.

Profile scope →
FastFlags

FastFlag manager

ClientAppSettings.json

A write does not make a non-allowlisted key accepted.

FastFlags help →
Roblox global

GBS editor

GlobalBasicSettings_13.xml

Graphics quality and other global values are separate.

Graphics guide →

06 / Narrow repairs

Change only the failed object.

Every repair begins with a backup and ends with the same two-direction reload test.

Read-only

Clear one attribute.

  1. Close Luczystrap and Roblox.
  2. Copy Settings.json.
  3. Clear Read-only in that file’s Properties.
  4. Retest candidate and rollback.

Do not recurse through AppData.

Access / I/O

Route the exact operation.

  1. Copy path and first exception.
  2. Check another process lock.
  3. Inspect the file with Get-Acl.
  4. Use CFA help only with a matching event.
Permissions help →
Different Base

Follow the running executable.

  1. Read Paths::Initialize.
  2. Confirm executable path.
  3. Inspect Settings under that Base.
  4. Stop editing stale copies.
Later overwrite

Test one instance.

  1. Close all Luczystrap windows/processes.
  2. Start the intended executable once.
  3. Use one profile and value.
  4. Compare save and load times.
Load / JSON error

Preserve current and backup.

  1. Copy the load exception.
  2. Do not edit while open.
  3. Preserve Settings.json and any .bak.
  4. Restore only a known-good copy.
Recovery help →
Wrong profile

Prove one value’s owner.

  1. Record active profile.
  2. Switch away and back.
  3. Verify name and value.
  4. Do not use IXP as the test.

07 / Avoid

Do not erase the evidence.

A destructive reset can hide the cause while removing custom state.

01

No whole-root deletion

Back up exact files and logs first.

02

No broad Full Control

Inspect the named file and ACL.

03

No default elevation

Do not grant every launcher action more authority.

04

No live JSON edits

The app may overwrite manual changes from memory.

05

No preset-pack test

Use one reversible ordinary value.

06

No file confusion

Settings, profiles, flags, IXP, and global state differ.

08 / Escalation

Report a complete write receipt.

Exact manager, path, timestamps, and first error let a maintainer act.

Redact: username, account IDs, tokens, private URLs, and unrelated paths.

Persistence report
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

Settings save questions

Where does Luczystrap save settings?

A public July 2026 1.4.9 log shows installed mode at %LocalAppData%\Luczystrap\Settings.json. Confirm the Base path in your newest log.

How do I prove a setting saved?

Save one recognizable value, find the Settings manager request and completion, then reopen under the same profile.

Why does Save complete not change Roblox?

It proves the named file write, not profile selection, staging, allowlist acceptance, or Roblox consumption.

Can Read-only stop saving?

Yes. Historical source overwrote the file and handled I/O or access failures. Inspect the attribute and exact error first.

Should I delete Settings.json?

Not first. Copy it and the latest logs because deletion removes evidence and current state.

Are FastFlags in Settings.json?

No in the documented path. FastFlagManager writes a separate ClientAppSettings.json.

Can a profile look like a save failure?

Yes. Confirm profile and one included setting. IXP is explicitly excluded from profiles.

Should I run as administrator?

Not by default. Preserve the exact error and repair only the affected object.