Windows Smart App Control blocks unsigned conda-forge DLLs (e.g. _ctypes.pyd) after a fresh install, then allows the same file later
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 42/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- documentation
Research direction
No code or test files are identified; the issue explicitly says it is informational, not a bug report against this feedstock. Read the issue’s observations and verify any proposed documentation location with the repository maintainers. Done means the troubleshooting information is placed in an appropriate, discoverable location without presenting the suspected Microsoft reputation behavior as confirmed.
Written by the indexing model from the issue text.
Description
Not a bug report against this feedstock. Posting so others who hit this error, and the tools they use to diagnose it, can find it. These are observations from one evening on two machines, not proof of how Microsoft's service works.
Symptom
VS Code Jupyter kernel hangs on "Connecting to kernel". Launching the kernel by hand shows the real error:
& "$env:USERPROFILE\miniforge3\envs\<env>\python.exe" -m ipykernel_launcher
ImportError: DLL load failed while importing _ctypes: An Application Control policy has blocked this file.
IPython and ipykernel import ctypes at start-up, so one blocked file kills every kernel. The same error has been reported for other modules, e.g. _overlapped in conda-forge/miniforge#846.
Setup
- Windows 11 Home, 25H2 (build 26200.9550) and 26H2 (build 26300.9550), Smart App Control on
- Miniforge3 26.7.2-0, installed via WinGet
- python 3.11.17 hb12b558_1_cpython, libffi 3.7.0 h3d046cb_1 (conda-forge)
- The python package was compiled 6 Oct 2026 (per sys.version); the env was created 7 Oct 2026
Confirming it is Smart App Control
Run PowerShell as administrator:
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-CodeIntegrity/Operational'; Id=3077} -MaxEvents 10 | Format-List TimeCreated, Message
Look for policy ID {0283ac0f-fff1-49ae-ada1-8a933130cad6}. CiTool -lp lists it as VerifiedAndReputableDesktop, the Smart App Control enforcement policy. The event also names the exact file blocked, which may differ from the module in the traceback.
What we saw
- Both machines had byte-identical files (SHA256 of DLLs_ctypes.pyd: 0B4AC174447A0B907392E7D6DF195DC682776F69F6FDB8B42FDECCBD416177B9). Both are unsigned (
Get-AuthenticodeSignaturereports NotSigned). - Machine A blocked _ctypes.pyd at 21:07 and 21:10. Smart App Control was turned off to keep working, then back on at about 21:54. The same unchanged file then loaded without a block.
- Machine B blocked libexpat.dll (used by pyexpat) at 20:14. The same unchanged file loaded at about 21:47, with Smart App Control on throughout.
- Defender cloud protection was on for both. No other App Control policy was enforced.
So the verdict on a given unchanged file went from "block" to "allow" within about 45 to 90 minutes on the same machine. Our reading: freshly built unsigned binaries have no reputation yet in Microsoft's cloud service, and the verdict updates later. Microsoft does not publish how or when this happens, so treat that as likely, not confirmed.
What to do
- Confirm with the event log command above.
- Wait and retry. In our case the block lifted within 45 to 90 minutes.
- Or turn Smart App Control off: Windows Security > App & browser control > Smart App Control. Since the April 2026 cumulative update (KB5083769) it can be turned back on without reinstalling Windows.
Smart App Control has no way to allow individual files. Defender exclusions do not affect it. Expect this to recur when conda or pip pulls freshly built packages.
- Dominant language
- Shell
- Stars
- 47
- Forks
- 114
- Avg merge
- 7d 6h
- Merged PRs (30d)
- 14
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from conda-forge/python-feedstock
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
conda-forge/python-feedstock#951 ·
Maintainers usually reply within 1 day
-
question
Difficulty 3/5 1-2 days Newbie friendliness 45/100
conda-forge/python-feedstock#948 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
conda-forge/python-feedstock#929 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
conda-forge/python-feedstock#903 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
conda-forge/python-feedstock#880 ·
Maintainers usually reply within 1 day
All issues in conda-forge/python-feedstock
Similar issues
-
Install software-properties-common before adding the Suricata PPAPossibly taken @himanishpuri claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Ergane-Foundation/vajra#55 · 2 comments ·
Maintainers usually reply within 2 days
-
[cifuzz] "Minimizing crashes reduces fuzzing time" is logged for every batch run, even with minimize-crashes offPossibly taken @martinfrancois claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 85/100
alunduil/alunduil-chezmoi#914 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
obra/superpowers#2505 ·
Maintainers usually reply within 3 days
-
cao-evolution cao-evolution:compiler-security
Difficulty 1/5 Under an hour Newbie friendliness 86/100
githubnext/gh-aw-cao#17586 ·
Maintainers usually reply within 1 day