エラーメッセージ

Macで「curl: (6) Could not resolve host」と表示される

curlの終了コード6は、curlがホスト名のアドレスを取得できなかったことを意味します。curlのドキュメントには「The given remote host was not resolved.」とあります。

対象:現在のすべてのmacOSバージョンの、macOS付属のcurlとHomebrewのcurl。確認日:2026年10月29日

症状

  • ターミナルにcurl: (6) Could not resolve host: example.comと表示される。
  • curlを使うスクリプトやインストーラが終了コード6で止まる。
  • 同じアドレスがブラウザでは開く、またはブラウザでも失敗する。

考えられる原因

  • 入力ミスや空のホスト。スクリプトの変数が空になっていて、curlに間違った名前が渡ることがあります。
  • 接続がない、またはDNSがない。MacがDNSサーバに到達できません。
  • 独自のDNSを持つVPN。社内の名前は、VPNがオンのときだけ解決されます。
  • curlが使っていないプロキシ。プロキシ経由しか許可しないネットワークでは、curlにプロキシ設定が必要です。設定すると、名前の解決はプロキシに任されます。

確認方法

  1. 実際のコマンドを表示します。ホスト名が正しいことを確認します。

  2. macOSのリゾルバで名前を調べます。

    dscacheutil -q host -a name example.com
  3. パブリックDNSサーバに直接問い合わせます。ここでは答えが返るのに上のコマンドでは返らない場合、原因はDNS設定です。

    dig +short example.com @1.1.1.1
  4. curlが読み込むプロキシ変数を表示します。

    env | grep -i proxy
  5. 詳細表示付きでcurlを実行します。最初の数行に名前の検索結果が表示されます。

    curl -v https://example.com

解決方法

  1. macOSでの検索も失敗する場合は、DNSを直します。MacでDNSの名前解決ができないを参照してください。

  2. ネットワークでプロキシが必要な場合は、curlにプロキシを設定します。

    export https_proxy=http://proxy.example.com:8080
  3. 社内の名前の場合は、先にVPNに接続します。

  4. DNSキャッシュを消去してから、もう一度試します。MacでDNSキャッシュを消去するを参照してください。

Kilobatを使う場合

  1. Kilobatの接続ドクターは、ネットワーク、プロキシ、DNS、ルール、IPv4、IPv6、TLS、サーバとレイヤーごとに名前をテストし、失敗したレイヤーを特定します。

    kilobat why example.com
  2. 実行中のプロセスのプロキシ変数を使うには、プロセス名を付けて--appを追加します。

    kilobat why https://example.com --app process:curl
  3. これらのKilobatのチェックは無料です。AIエージェントはMCPを通じてdiagnose_connectionとdiagnose_networkで実行します。1つのサイトやAPIに接続できない原因を見つけるを参照してください。

よくある質問

ブラウザではつながるのにcurlではつながらないのはなぜですか?

ブラウザはシステムのプロキシや独自のDNSを使えます。curlはhttps_proxyなどのプロキシ変数を読み込みます。Macでプロキシ設定のせいでアプリが接続できないを参照してください。

出典

  • curl:libcurl error codes
  • curl(1)、EXIT CODES、macOS 27.2に付属のmanページ
  • dscacheutil(1)とdig(1)、macOS 27.2に付属のmanページ

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。