Anki 26.09.2 won't start — AttributeError: module 'charset_normalizer.md'

Environment: Anki 26.9.2, Windows x64, MSI install upgraded in place over an earlier 26.x.

Summary: After upgrading, Anki won’t start. The traceback ends in:

AttributeError: module 'charset_normalizer.md' has no attribute 'CharInfo'

It’s raised while requests is imported from aqt/__init__.py, so the app dies before Qt is initialized.

Fix

An old compiled module is shadowing the correct one. Deleting it resolves the crash — no reinstall or data changes needed. C:\Program Files requires an admin terminal (Win+X, then A):

Remove-Item -Force "C:\Program Files\Anki\app_packages\charset_normalizer\cd.cp313-win_amd64.pyd"

Then start Anki normally.

Alternative if you’d rather not use a terminal: uninstall, delete C:\Program Files\Anki, reinstall.

Note: delete only that one file. Everything else in the folder is correct.

Why it happens

Files from the previous version were left behind in app_packages during the upgrade, and Python prefers a compiled extension over bytecode. So the old cd.cp313-win_amd64.pyd was loaded instead of the cd.pyc that 26.9.2 ships.

26.9.2 bundles charset-normalizer 3.4.2, which defines no CharInfo anywhere. The leftover compiled cd expects that name to exist in md, so importing it fails immediately.

Evidence

On my install, app_packages contains several generations side by side: charset_normalizer 3.4.2 / 3.4.9 / 3.5.1, and aqt/anki 26.8.1 / 26.9 / 26.9.2. The stale cd.pyd is dated 2026-09-14, while everything 26.9.2 wrote is 2026-09-15.

Verified: with the file present the traceback reproduces exactly; after removing only that file, charset_normalizer (3.4.2) and requests both import cleanly.

Root cause

Two changes collided.

qt/tools/build_installer.py only gained dependency pinning (uv export --frozen passed as --constraints) in 26.09.1. Earlier releases resolved dependencies freshly at build time, so the installers shipped different versions:

Anki charset-normalizer in payload
26.8.1 3.4.9
26.9 3.5.1
26.9.1 3.4.2 (first pinned release)
26.9.2 3.4.2

uv.lock pins 3.4.2 in every tag back to 25.06b4, so 26.9.2 was a downgrade from 26.9’s 3.5.1.

3.4.9 and 3.5.1 ship a compiled cd extension and define CharInfo in md. 3.4.2 ships cd as pure Python and defines no CharInfo at all.

The installer then didn’t remove 26.9’s files, so 3.5.1’s compiled cd.pyd remained next to 3.4.2’s cd.pyc — and Python prefers the compiled extension. So 3.5.1’s cd loaded against 3.4.2’s md.

A fresh 26.9.2 install is fine, which is why this only hits people who upgraded in place from 26.8.x/26.9.

How the per-version mapping was determined: dist-info directory creation times (actual install time) line up to the second with each upgrade’s aqt/anki dist-infos — 8/6 = 26.8.1+3.4.9, 9/15 = 26.9+3.5.1, 9/16 = 26.9.2+3.4.2. File mtimes inside app_packages are the CI build machine’s, preserved through the MSI, which is also why the traceback shows D:\a\anki.

Fix options: remove the stale file on upgrade, or force app_packages to be replaced rather than written over.

Application quit abnormally!
Traceback (most recent call last):
File "", line 203, in _run_module_as_main
File "", line 88, in _run_code
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app/anki/main.py", line 21, in
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app/anki/app.py", line 6, in main
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/aqt/init.py", line 18, in
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/truststore/_api.py", line 53, in inject_into_ssl
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/requests/init.py", line 47, in
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/requests/exceptions.py", line 14, in
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/requests/compat.py", line 49, in
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/requests/compat.py", line 43, in _resolve_char_detection
File "/usr/local/share/anki/python/lib/python3.13/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/charset_normalizer/init.py", line 26, in
File "/home/runner/work/anki/anki/out/installer/build/anki/linux/zip/anki/app_packages/charset_normalizer/api.py", line 7, in
File "src/charset_normalizer/cd.pyx", line 1, in init charset_normalizer.cd
AttributeError: module 'charset_normalizer.md' has no attribute 'CharInfo'

Was able to get a different error by uninstalling and reinstalling, see my latest post for that error message

I’ve installed the new version of Anki 26.09.2 but I can’t open it.

It shows :

Traceback (most recent call last):
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app\anki_main_.py”, line 21, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app\anki\app.py”, line 6, in main
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\aqt_init_.py”, line 18, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\truststore_api.py”, line 53, in inject_into_ssl
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests_init_.py”, line 47, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\exceptions.py”, line 14, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\compat.py”, line 49, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\compat.py”, line 43, in resolve_char_detection
File "importlib_init
.py", line 88, in import_module
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\charset_normalizer_init_.py”, line 26, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\charset_normalizer\api.py”, line 7, in
File “src/charset_normalizer/cd.pyx”, line 1, in init charset_normalizer.cd
AttributeError: module ‘charset_normalizer.md’ has no attribute ‘CharInfo’

Could you help me to resolve this problem ?

Thanks a lot

@SolarBison27 @ateryl
I merged your posts here. See OP’s suggestion.

Thks ! It works now :wink:

Thank you. We’re looking into it.

When I installed the latest version of Anki 26.09.2, it won’s start with the following error logs on my Windows Laptop, Windows 11.

```
Traceback (most recent call last):
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app\anki_main_.py”, line 21, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app\anki\app.py”, line 6, in main
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\aqt_init_.py”, line 18, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\truststore_api.py”, line 53, in inject_into_ssl
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests_init_.py”, line 47, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\exceptions.py”, line 14, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\compat.py”, line 49, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\compat.py”, line 43, in resolve_char_detection
File "importlib_init
.py", line 88, in import_module
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\charset_normalizer_init_.py”, line 26, in
File “D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\charset_normalizer\api.py”, line 7, in
File “src/charset_normalizer/cd.pyx”, line 1, in init charset_normalizer.cd
AttributeError: module ‘charset_normalizer.md’ has no attribute ‘CharInfo’
```

I merged your post here. See OP’s suggestion.

Thank you and it works perfectly.

I can confirm this fix worked for me.

I upgraded Anki to 26.9.2 on Windows 11 and received the exact AttributeError: module 'charset_normalizer.md' has no attribute 'CharInfo' error shown above.

My installation was at %LOCALAPPDATA%\Programs\Anki.

I deleted:

app_packages\charset_normalizer\cd.cp313-win_amd64.pyd

and Anki immediately started normally afterward.

My existing collection and decks were completely intact, and I was able to sync successfully with AnkiWeb.

Thanks for documenting the workaround!

After I updated in place from 26.09, anki crashes on startup.

Traceback (most recent call last):
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app\anki\__main__.py", line 21, in <module>
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app\anki\app.py", line 6, in main
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\aqt\__init__.py", line 18, in <module>
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\truststore\_api.py", line 53, in inject_into_ssl
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\__init__.py", line 47, in <module>
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\exceptions.py", line 14, in <module>
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\compat.py", line 49, in <module>
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\requests\compat.py", line 43, in _resolve_char_detection
  File "importlib\__init__.py", line 88, in import_module
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\charset_normalizer\__init__.py", line 26, in <module>
  File "D:\a\anki\anki\out\installer\build\anki\windows\visualstudio\x64\Release\app_packages\charset_normalizer\api.py", line 7, in <module>
  File "src/charset_normalizer/cd.pyx", line 1, in init charset_normalizer.cd
AttributeError: module 'charset_normalizer.md' has no attribute 'CharInfo'

My Anki is on c:, no idea why the file paths paths point to d:.

This is a bug report. I don’t need help.

I uninstalled and reinstalled and now it works.

Followed the instructions of OP. I got it Anki to work. Thank you!

same here, so desperate.. i retried numerous numerous times from uninstalling, reinstalling, restarting, and repeating.. i’ve deleted every instance of anki off my laptop too!