MetaTrader5 Python initialize() returns -10005 in account-free offline tests on Windows and Wine

Hello everyone,

We are investigating initialize() behavior in an isolated terminal with no configured trading account and no network access.

Test versions:
- MetaTrader 5 terminal: build 6295
- MetaTrader5 Python package: 5.0.6231
- CPython: 3.14.10, Windows x64
- NumPy: 2.5.4
- Environments: native Windows and Wine 11.21 Staging on Ubuntu 24.04

Python, NumPy and MetaTrader5 import successfully in both environments. We specify the exact executable path, represented here by terminal_path:

ok = mt5.initialize(terminal_path, timeout=60000, portable=True)

No login, password or server arguments are supplied. No account, history or order queries are made.

Under Wine, we tested both an already-running terminal with its main window present and terminal startup initiated by initialize(). Both returned False, with error code -10005. Native Windows also returned -10005 when initialize() launched the terminal; its initial account-opening dialog was present. Elapsed times were approximately 60–68 seconds. Each Python test called shutdown() and exited with code 0. Terminals were subsequently closed normally.

Related evidence, not a demonstrated cause of our failure:
- https://www.mql5.com/en/forum/517620 : a user reported that initialize() failed on a fresh installation before account authentication, then succeeded after manually logging into a separate demo account.
- https://www.mql5.com/en/forum/517169 : another user reported a timeout despite an authenticated terminal, so authentication alone is not a universal explanation.
- https://www.mql5.com/en/articles/19946 describes initialize() as also waiting for an authenticated account connection. We regard this article as relevant context rather than definitive confirmation for these versions.

The initialize documentation says that omitting login uses the last trading account; we have not found an explicit guarantee of account-free offline initialization. The official package does provide a CPython 3.14 Windows x64 wheel, so we are not assuming that Python 3.14 is inherently unsupported.

Could you clarify:
1. Is successful initialize() supported on a fresh installation with no configured account and no network access, or is an authenticated broker connection required?
2. Can the initial account-opening dialog prevent IPC initialization?
3. Is there a supported way to test terminal–Python IPC separately from account authentication?
4. Are these terminal/package/Python versions compatible, and which sanitized diagnostics would distinguish IPC negotiation failure from waiting for an account connection?

Thank you.
Persistent mt5.initialize() IPC Timeout (-10005) on MT5 Build 6231 with Python 3.13 (64-bit)
Persistent mt5.initialize() IPC Timeout (-10005) on MT5 Build 6231 with Python 3.13 (64-bit)
  • 2026.10.05
  • www.mql5.com
Hello, I am developing a Python-based trading system using the official MetaTrader 5 Python package...