{"record":{"id":"f740488c011abdb5","repo":"HKUDS/nanobot","slug":"could-not-resolve-host","errorCode":null,"errorMessage":"Could not resolve {host}","messagePattern":"Could not resolve (.+?)","errorType":"exception","errorClass":"OSError","httpStatus":null,"severity":"error","filePath":"nanobot/channels/validation.py","lineNumber":382,"sourceCode":"        allow_loopback=allow_loopback,\n    )\n    if not ok:\n        raise ValueError(error)\n\n    context = ssl.create_default_context()\n    last_error: OSError | None = None\n    for target_ip in resolved_ips:\n        try:\n            with socket.create_connection((target_ip, port), timeout=_TIMEOUT_SECONDS) as sock:\n                if port in {465, 993, 995}:\n                    with context.wrap_socket(sock, server_hostname=host.strip(\"[]\")):\n                        return\n                return\n        except OSError as exc:\n            last_error = exc\n    if last_error is not None:\n        raise last_error\n    raise OSError(f\"Could not resolve {host}\")\n\n\n# Public helpers for channel-owned validators. Keeping response shaping here lets\n# each package own its platform checks without depending on WebUI implementation\n# modules.\ncheck = _check\nenabled = _enabled\nhttp_get = _http_get\nhttp_post = _http_post\nint_value = _int\nmessage_from_response = _message_from_response\nofficial_action = _official_action\npayload = _payload\nprobe_tcp = _probe_tcp\nrequired_checks = _required_checks\nstatus_from_checks = _status_from_checks\nstring_value = _str\ntruthy = _truthy","sourceCodeStart":364,"sourceCodeEnd":400,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/channels/validation.py#L364-L400","documentation":"Error \"Could not resolve {host}\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/channels/validation.py:382 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"42f37dc4c0e409eac7818a82d165c5f2757bc075","analyzedAt":"2026-08-26T00:18:52.276Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}