Fehlermeldungen

„curl: (6) Could not resolve host“ auf dem Mac

Exit-Code 6 von curl bedeutet, dass curl keine Adresse für den Hostnamen bekommen hat. Die curl-Dokumentation sagt: „The given remote host was not resolved.“

Gilt für: das mit macOS gelieferte curl und das curl von Homebrew, unter allen aktuellen macOS-Versionen.Geprüft: 29. Oktober 2026

Symptome

  • Das Terminal zeigt curl: (6) Could not resolve host: example.com.
  • Skripte und Installer, die curl nutzen, brechen mit Exit-Code 6 ab.
  • Dieselbe Adresse öffnet sich im Browser – oder scheitert dort ebenfalls.

Mögliche Ursachen

  • Ein Tippfehler oder ein leerer Host. Eine Variable in einem Skript kann leer sein, sodass curl einen falschen Namen bekommt.
  • Keine Verbindung oder kein DNS. Der Mac erreicht keinen DNS-Server.
  • Ein VPN mit eigenem DNS. Firmennamen lösen nur auf, solange das VPN aktiv ist.
  • Ein Proxy, den curl nicht nutzt. In Netzwerken, die nur Verbindungen über einen Proxy zulassen, braucht curl die Proxy-Einstellungen. Dann lässt es den Proxy den Namen auflösen.

So prüfst du es

  1. Gib den genauen Befehl aus. Prüfe, ob der Hostname stimmt.

  2. Löse den Namen über den Resolver von macOS auf.

    dscacheutil -q host -a name example.com
  3. Frag einen öffentlichen DNS-Server direkt. Eine Antwort hier, aber nicht oben, deutet auf deine DNS-Einstellungen hin.

    dig +short example.com @1.1.1.1
  4. Zeige die Proxy-Variablen an, die curl liest.

    env | grep -i proxy
  5. Führe curl mit Details aus. Die ersten Zeilen zeigen die Namensauflösung.

    curl -v https://example.com

So behebst du es

  1. Scheitert auch die Auflösung über macOS, repariere DNS. Siehe DNS löst auf dem Mac nicht auf.

  2. Braucht das Netzwerk einen Proxy, richte ihn für curl ein.

    export https_proxy=http://proxy.example.com:8080
  3. Verbinde für einen Firmennamen zuerst das VPN.

  4. Leere den DNS-Cache und versuche es erneut. Siehe DNS-Cache auf dem Mac leeren.

Mit Kilobat

  1. Die Verbindungsdiagnose von Kilobat testet den Namen Schicht für Schicht: Netzwerk, Proxy, DNS, Regeln, IPv4, IPv6, TLS und Server. Sie nennt die Schicht, die gescheitert ist.

    kilobat why example.com
  2. Um die Proxy-Variablen eines laufenden Prozesses zu nutzen, füge --app mit seinem Namen hinzu.

    kilobat why https://example.com --app process:curl
  3. Diese Kilobat-Prüfungen sind kostenlos. KI-Agenten führen sie über MCP mit diagnose_connection und diagnose_network aus. Siehe Herausfinden, warum eine Website oder API keine Verbindung bekommt.

Fragen

Warum funktioniert der Browser, curl aber nicht?

Der Browser kann den System-Proxy oder sein eigenes DNS nutzen. curl liest Proxy-Variablen wie https_proxy. Siehe Proxy-Einstellungen blockieren App-Verbindungen auf dem Mac.

Quellen

Quellen geprüft am 29. Oktober 2026. Die Manpages sind die mit macOS installierten; öffne eine mit man <name> im Terminal.