Android RetroArch playlist repair / 2026-08-03

Fix a RetroArch playlist after moving game files on Android

Repair stale `.lpl` content paths without changing labels, core associations, database identity, or lawful source files unnecessarily.

10 minute repair guideCurrent RetroArch JSON playlists on Android; storage visibility and document grants vary by package and Android version

Fix a RetroArch playlist after moving game files on Android

First prove that the moved authorized file opens directly with the intended core. Then back up the playlist and either rescan the new folder or edit only each JSON item's `path` using Android-style forward slashes. Preserve `label`, `core_path`, `core_name`, `crc32`, and `db_name` unless a separate test shows that field is wrong.

Do this in order

  1. 01

    Record the RetroArch package and version, core name and version, playlist file, old content path, and the new Android-accessible folder.

  2. 02

    Load the moved authorized file directly with Load Content and the intended core; if that fails, repair access or compatibility before touching the playlist.

  3. 03

    Exit RetroArch through its menu and copy the `.lpl` file to a reversible backup location.

  4. 04

    Choose one repair: rescan the new folder for database-managed entries, use Manual Scan for explicit entries, or edit only the JSON `path` values for a small known set.

  5. 05

    Use forward slashes on Android, keep valid JSON escaping, and leave label, core, CRC, and database fields unchanged unless independently disproved.

  6. 06

    Restart RetroArch and test one entry, its thumbnail identity, and its assigned core before applying the same change to the remaining list.

Decision and diagnostic table

ObservationLikely layerSafest next action
Direct load works; playlist failsStale playlist pathRepair or recreate the entry
Direct load cannot browse new folderAndroid access grantRestore folder access first
Entry opens with wrong coreCore associationTest direct load, then reset association
Thumbnail disappears after path repairLabel/database identityPreserve label and `db_name`; diagnose separately

A playlist entry is more than a filename

The JSON item can carry a content path, display label, core association, checksum or serial, and database name. Moving the file normally invalidates only the path. Rebuilding every field can create a second problem while hiding the original one.

Direct loading is the control experiment

If the new location cannot be browsed or the core cannot launch the file directly, editing `.lpl` text cannot solve the lower layer. Direct loading separates an Android grant or core problem from a stale index entry.

Rescan and surgical edit have different costs

A rescan is safer for a large database-matched library but may change ordering or custom entries. A backed-up path-only edit preserves those choices but requires valid JSON and exact Android paths. Use the smallest reversible action that matches the list you actually have.

First-party sources

Related guides