"Hello, I'm trying to connect to a free Neo4j Aura instance from my local Windows 11 machine using the official Python driver, but I consistently get neo4j.exceptions.ServiceUnavailable: Unable to retrieve routing information.
I have already tried the following:
- Confirmed my Aura instance is active and running.
- Double- and triple-checked my connection URI, username, and password in my
.envfile. They are correct. - Run
Test-NetConnection -ComputerName <your-db-address> -Port 7687in PowerShell, and it returnsTcpTestSucceeded : True. This shows there is no basic firewall or network block. - Tried simplifying the driver call to its most basic form:
GraphDatabase.driver(uri, auth=(user, password)). - I am not using a VPN or any corporate proxy.
Here is the full traceback from my Python script:
C:\Users\jenks\my_test_project.venv\Scripts\python.exe C:\Users\jenks\PycharmProjects\skillforge-core\db_connection_test.py
--- Database Interaction Script Started ---
Step 1: 'skills' table check complete.
Step 2: 'Docker' skill already exists.
--- Fetching all skills from database ---
- ID: cd695836-5935-4aff-b943-71f0380b7c0f
Name: Docker
Description: Containerization technology for creating isolated application environments.
Step 3: Select operation complete.
Attempting to connect to Neo4j...
URI: neo4j+s://50cba505.databases.neo4j.io
Connection failed: Unable to retrieve routing information
2025-06-27 09:45:14,760 - neo4j.pool - ERROR - Unable to retrieve routing information
Traceback (most recent call last):
File "C:\Users\jenks\PycharmProjects\skillforge-core\db_connection_test.py", line 100, in main
driver.verify_connectivity()
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\driver.py", line 1082, in verify_connectivity
self._get_server_info(session_config)
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\driver.py", line 1297, in _get_server_info
return session._get_server_info()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\work\session.py", line 183, in _get_server_info
self._connect(READ_ACCESS, liveness_check_timeout=0)
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\work\session.py", line 136, in _connect
super()._connect(
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\work\workspace.py", line 186, in _connect
target_db = self._get_routing_target_database(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\work\workspace.py", line 260, in _get_routing_target_database
self._pool.update_routing_table(
File "C:\Users\jenks\my_test_project.venv\Lib\site-packages\neo4j_sync\io_pool.py", line 1011, in update_routing_table
raise ServiceUnavailable("Unable to retrieve routing information")
neo4j.exceptions.ServiceUnavailable: Unable to retrieve routing information
Process finished with exit code 0
I seem to be able to make a basic TCP connection, but the driver's protocol handshake is failing. Has anyone seen this specific behavior on Windows 11? Is there a known issue with SSL/TLS certificate stores or something similar that I should be looking at?
Thank you!