mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
Changes to NFO files are not respected #6793
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ZhangTianrong on GitHub (Mar 4, 2025).
Description of the bug
Since a few releases ago (I am sorry I cannot identify the exact version since when the issue started. I cannot find relevant things mentioned in the changelog either.), Jellyfin ceased to pick up changes made to local NFO files during a scan and instead will overwrite them with its internal metadata. This change of behavior has also been brought up in the forum confirming that it is not a issue specific to me.
Reproduction steps
The problem occurs whenever a user want to modify the metadata through the NFO files. Here I just want to describe my common practice disturbed by this behavior change:
The problems could be the metadata provider is perfect at every aspect but it doesn't consider a season to be a part of a series while I wanted it to be (Jellyfin will insist that a file in a folder called
Season 2belongs to season 1 or 0 due to the metadata it fetched); the external ids are wrongly parsed because the names are so similar between seasons so I want to manually set the ids to make sure the fetched metadata are correct; I like the summary in the original language from a metadata provider but I would also like to extending them by translating them in the way I like; an actor changes the stage name but I want to keep them the same across different media, etc. They are problems that will always pop up now and then and it's not the user, the media distributor or the metadata provider's fault. I am willing to edit them manually and that is going to be mass editing. The interface for metadata management in the WebUI, however, is never prepared for mass editing and as as result I have been relying on writing scripts to modify the NFO files directly. I was able to do so by just rescanning after the editing, but now, I have to move the files elsewhere, scan so Jellyfin clears the metadata of them, modify NFOs, reimport to get the changes to the metadata adopted.What is the current bug behavior?
Changes to NFO files are not respected and overwritten during scanning.
What is the expected correct behavior?
Jellyfin should always respect whatever content of the NFO files when it is used as the metadata store.
Jellyfin Server version
10.10.0+
Specify commit id
No response
Specify unstable release number
No response
Specify version number
No response
Specify the build version
10.10.6
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
No response
@felix920506 commented on GitHub (Mar 4, 2025):
Please disable the save nfo files option.
@ZhangTianrong commented on GitHub (Mar 4, 2025):
Then how are metadata from metadata providers going be stored into the files in the first place? In the example procedure I showed above, I want to be able to edit the metadata “collaboratively” with Jellyfin, it obtains the most of the metadata and I patch them to fit my needs.
@FrankJeager commented on GitHub (Mar 26, 2025):
I have the same issue. Can you explain ?
I want my metadata be saved in NFO files inside media folders and i also want the changes made to the NFO files be respected. How to do that ?
(
<lockdata>true</lockdata>in the NFO does nothing)@elDub1234 commented on GitHub (Jul 20, 2025):
I have the same issue. I wanted to have some specials play in their correct place in between seasons. Rather than have to go through every episode manually to update airsbefore_season, I had Jellyfin save to nfo then wrote a script to insert this tag after the aired tag (which is what Jellyfin does if you do update this manually). When I then rescanned the library Jellyfin is not updated with this data (whether the save to nfo is checked or not). (In fact if save to nfo is checked it overwrites my inserted value with 0).
The Jellyfin documentation says "It's currently not possible to disable .nfo metadata. Local metadata will always be fetched and has priority over remote metadata providers like TMDb."
This seems to me that Jellyfin should always read the data from the nfo, even when the options for tmdb etc are set, but it is not reading it whether these options are set or not.
@jellyfin-bot commented on GitHub (Nov 18, 2025):
This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.
If you have any questions you can use one of several ways to contact us.
@TimF0 commented on GitHub (Nov 18, 2025):
So, if I'm reading the comments correctly, the desired operation is:
1 & 2 are operating correctly, 3 & 4 aren't
I've always been a little confused on how the .nfo file and the database values can co-exist - I can see using one or the other but not both - except where, as mentioned in a comment above - you want an easy way to enter bulk updates...
@ZhangTianrong commented on GitHub (Nov 20, 2025):
Yes, you read me correctly. I don't think you can choose to use NFO only (I am stuck with 10.10.6 so correct me if I am wrong). There is always going to be this internal metadata database except that you can choose whether or not to save a copy of NFO to disk. I would love to stick with NFOs but I cannot and that probably is not a very efficient approach to manage all the metadata either so maintaining a database is necessary. All I was asking is to allow users to overwrite the database with NFO once in a while and yes my primary reason for doing so it to perform bulk updates which I think is not that rare of a demand. Jellyfin is already capable of picking up metadata from NFO and propagate them to the database anyway except that it only happens when a new media is added to the library so I have to move the media away, scan, and then move the media back to trigger that behavior in a clumsy way.
@byangmath commented on GitHub (Jan 8, 2026):
This problem has really driven me crazy. The data I originally imported from the nfo file was correct, but later Jellyfin would change the nfo file back to the incorrect version. Even if I use TMM to update the nfo file, it will still be reset. The version of Jellyfin is 10.11.5.