I tried to recreate the error by deleting the pokeapi folder that it had previous told me it needed. I figured that since adding the pokeapi folder fixed the issue, deleting it would make the issue reappear and then I could screenshot the error. However after removing the folder and repeating what I had done previously, the issue did not occure... So I guess if the error, or any other error, comes up in the future, I'll send them your way then. But for now, everything does appear to work as intended as far as I can tell? Very weird that it'd request that I install pokeapi though since you say PKVault does not depend on it. Is it possible you use some kind of library that may pull from pokeapi without you knowing it? Causing it to depend on it?
Just curious, just so that I understand everything correctly, when a mon has a "!" on them, it says its "invalid", what does this mean exactly? Does this mean this mon is any risk for concern, like game save corruption, or similar game breaking concerns? Or does it simply mean the mon is not considered "legal" and would cause issues if transferred to any of the mainline games that are live, or something like Pokemon home?
Also, you say that PKVault is compatible with all generations, does this include the recent Pokemon Z-A?
Oh and assuming the "!" only means the mon is not "legal" but remain fine offline, an option to toggle the visibility of that marker would be cool. For those that have no intent to transfer to live games and only play offline, because at that point the "legality" or "validity" of that mon really don't matter.