@Atomatth @BigWheel had another look at this today.
Using this simple python script …
from plexapi.server import PlexServer
def delete_logo(library, libtype=None):
for item in library.search('Gen V'):
item.deleteLogo()
item.lockLogo()
if __name__ == '__main__':
plex = PlexServer('http://192.168.1.3:32400')
for library in plex.library.sections():
if library.type == 'show':
delete_logo(library)
… I can confirm the logo is deleted and its locked. I can see this in the logs …
Dec 08, 2025 11:37:23.116 [139787043392312] INFO - Request: [192.168.1.3:44444 (Allowed Network (Subnet))] DELETE /library/metadata/17857/clearLogo (6 live) #1aad94 GZIP Signed-in
Dec 08, 2025 11:37:23.118 [139787043392312] DEBUG - [Req#1aad94] It took 0.000000 ms to retrieve 227 items.
Dec 08, 2025 11:37:23.119 [139787337202488] INFO - Completed: [192.168.1.3:44444] 200 DELETE /library/metadata/17857/clearLogo (6 live) #1aad94 GZIP 3ms 195 bytes (pipelined: 5)
Dec 08, 2025 11:37:23.119 [139787043392312] INFO - Request: [192.168.1.3:44444 (Allowed Network (Subnet))] PUT /library/sections/2/all?clearLogo.locked=1&id=17857&type=2 (6 live) #1aad95 GZIP Signed-in
Dec 08, 2025 11:37:23.120 [139787043392312] DEBUG - [Req#1aad95] Encoding user fields for ID 17857 as preface to save.
Dec 08, 2025 11:37:23.120 [139787043392312] DEBUG - [Req#1aad95] Updating metadata item (save) (Gen V) with ID 17857
Dec 08, 2025 11:37:23.121 [139787337202488] INFO - Completed: [192.168.1.3:44444] 200 PUT /library/sections/2/all?clearLogo.locked=1&id=17857&type=2 (6 live) #1aad95 GZIP 1ms 195 bytes (pipelined: 6)
Dec 08, 2025 11:37:23.200 [139787043392312] DEBUG - Request: [127.0.0.1:40878 (Loopback)] GET /library/sections/3/all?viewCount%3E=1&type=8&sort=lastViewedAt:desc&contentDirectoryID=3 (6 live) #1aad8f Page 0-98 GZIP Signed-in Token (MasterDokuro)
… which confirms the logo is deleted and the field itself is locked.
However, upon a metadata refresh this happens …
Dec 08, 2025 11:42:16.359 [139787017861944] DEBUG - [Req#1ab021] Loaded metadata for Gen V (ID 17857) in 49ms
Dec 08, 2025 11:42:16.359 [139787017861944] DEBUG - [Req#1ab021] Doing expensive tags write for 'Gen V' because something changed.
Dec 08, 2025 11:42:16.361 [139787017861944] DEBUG - [Req#1ab021] Local media already exists (metadata://posters/f99468bca9585059aee4b131d42238d115c49752)
Dec 08, 2025 11:42:16.361 [139787017861944] DEBUG - [Req#1ab021] Doing expensive tags write for 'Gen V' because something changed.
Dec 08, 2025 11:42:16.361 [139787017861944] DEBUG - [Req#1ab021] Local media already exists (metadata://art/47910408aaf0293f79b9ba1dec0c1c77771d3e11)
Dec 08, 2025 11:42:16.361 [139787017861944] DEBUG - [Req#1ab021] Doing expensive tags write for 'Gen V' because something changed.
Dec 08, 2025 11:42:16.362 [139787070794552] DEBUG - [Req#1ab021/UltraBlurProcessor] Generated for item 1379579 in 23 ms.
Dec 08, 2025 11:42:16.362 [139787017861944] DEBUG - [Req#1ab021] Local media already exists (metadata://clearLogos/tv.plex.agents.series_fdd44a3fba5c69c19869c220a4c16bec1c81a933)
Dec 08, 2025 11:42:16.362 [139787017861944] DEBUG - [Req#1ab021] Doing expensive tags write for 'Gen V' because something changed.
Dec 08, 2025 11:42:16.362 [139787070794552] DEBUG - [Req#1ab021] Calculated media file path for path [metadata://posters/tv.plex.agents.series_df02e8675bf58f73ada85a8fe8f4aa70fc012ea3]: ["/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Metadata/TV Shows/5/a028943ec15ba20fecb9d9af220b667d889f08c.bundle/Contents/_combined/posters/tv.plex.agents.series_df02e8675bf58f73ada85a8fe8f4aa70fc012ea3"]
Dec 08, 2025 11:42:16.363 [139787017861944] DEBUG - [Req#1ab021] Local media already exists (metadata://squareArt/tv.plex.agents.series_73d3ea59599c2620d978aa061ea938659ffdd63e)
Dec 08, 2025 11:42:16.364 [139787017861944] DEBUG - [Req#1ab021] There was a change for metadata item 17857 (Gen V), saving.
Dec 08, 2025 11:42:16.364 [139787017861944] DEBUG - [Req#1ab021] Updating metadata item (save) (Gen V) with ID 17857
Dec 08, 2025 11:42:16.364 [139787017861944] DEBUG - [Req#1ab021] Done with metadata update for 17857
… which Local media already exists (metadata://clearLogos/tv.plex.agents.series reloads the logo again. So, it appears the problem is with the scanner not respecting the lock on the logo when a logo is deleted.
This issue also happens for squareArt as well as logo.