Recently, I re-installed my Python and I just downloaded Stash app 0.31.0.
So, I didn’t have stashapi installed.
I just rememebered that and I installed it by using PyPI and this shows some errors.
I’m still finding out which plugin have which error and these are what I’ve found.
Error log 1
DEBU[2026-03-30 13:18:07] Plugin DupFileManager started: C:\Miniforge3\python.exe C:\Users\Fradhyle.stash\plugins\community\DupFileManager/DupFileManager.py
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] Traceback (most recent call last):
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] File “C:\Users\Fradhyle.stash\plugins\community\DupFileManager/DupFileManager.py”, line 15, in
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] from StashPluginHelper import StashPluginHelper
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] File “C:\Users\Fradhyle.stash\plugins\community\DupFileManager\StashPluginHelper.py”, line 18, in
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] from stashapi.stashapp import StashInterface
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] File “C:\Miniforge3\Lib\site-packages\stashapi\stashapp.py”, line 708
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] query = re.sub(r"…Tag", fragment, query)
ERRO[2026-03-30 13:18:08] [Plugin / DupFileManager] IndentationError: unexpected indent
DEBU[2026-03-30 13:18:08] Plugin DupFileManager finished
ERRO[2026-03-30 13:18:08] runPluginOperation: input: runPluginOperation exit status 1
DEBU[2026-03-30 13:18:08] runPluginOperation: {“args”:{“Target”:0,“mode”:“getLocalDupReportPath”},“plugin_id”:“DupFileManager”}
Error log 2
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] Traceback (most recent call last):
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] File “C:\Users\Fradhyle.stash\plugins\community\filemonitor/filemonitor.py”, line 57, in
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] stash = StashPluginHelper(
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] stash_url=parse_args.stash_url,
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] …<6 lines>…
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] apiKey=parse_args.apikey
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] )
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] File “C:\Users\Fradhyle.stash\plugins\community\filemonitor\StashPluginHelper.py”, line 250, in init
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] super().init(self.FRAGMENT_SERVER)
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] File “C:\Miniforge3\Lib\site-packages\stashapi\stashapp.py”, line 75, in init
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] self.plugin_path = Path(connection[“PluginDir”])
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] ^^^^
ERRO[2026-03-30 13:29:36] [Plugin / FileMonitor] NameError: name ‘Path’ is not defined. Did you mean: ‘math’?
DEBU[2026-03-30 13:29:36] Plugin FileMonitor finished
ERRO[2026-03-30 13:29:36] runPluginOperation: input: runPluginOperation exit status 1
DEBU[2026-03-30 13:29:36] runPluginOperation: {“args”:{“Target”:1,“mode”:“getFileMonitorRunningStatus”},“plugin_id”:“filemonitor”}
Error log 3
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] Traceback (most recent call last):
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Users\Fradhyle.stash\plugins\community\DupFileManager/DupFileManager.py”, line 212, in
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] if stash.renameTag(duplicateMarkForDeletionWithOutUnderscore, duplicateMarkForDeletion):
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Users\Fradhyle.stash\plugins\community\DupFileManager\StashPluginHelper.py”, line 729, in renameTag
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] tagMetadata = self.find_tags(q=oldTagName)
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Miniforge3\Lib\site-packages\stashapi\stashapp.py”, line 710, in find_tags
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] query = re.sub(r"…Tag", fragment, query)
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Miniforge3\Lib\re_init_.py”, line 208, in sub
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] return compile(pattern, flags).sub(repl, string, count)
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Miniforge3\Lib\re_init.py”, line 377, in _compile_template
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] return _sre.template(pattern, _parser.parse_template(repl, pattern))
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Miniforge3\Lib\re_parser.py”, line 1000, in parse_template
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] s = Tokenizer(source)
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] File “C:\Miniforge3\Lib\re_parser.py”, line 234, in init
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] string = str(string, ‘latin1’)
ERRO[2026-03-30 13:34:50] [Plugin / DupFileManager] TypeError: decoding to str: need a bytes-like object, NoneType found
DEBU[2026-03-30 13:34:50] Plugin DupFileManager finished
ERRO[2026-03-30 13:34:50] runPluginOperation: input: runPluginOperation exit status 1
DEBU[2026-03-30 13:34:50] runPluginOperation: {“args”:{“Target”:0,“mode”:“getLocalDupReportPath”},“plugin_id”:“DupFileManager”}
Solution of error log 1 and 2 for me was just simply fix what trace log said in stashapp.py
(Example: fix indentation if indentation is problem, import required library)
But I don’t know how to fix error log 3 and it seems like happens only to the user that using non-latin characters.
I can commit fixes on GitHub repo but I think instead of doing that by myself, I should notice developers.
So if you are okay, I will commit this to the repo and submit pull request if I have a permission to do that.