# トラブルシューティング (/ja/docs/troubleshooting)

送信に失敗すると、レスポンスペインに**応答なし**と表示され、何が起きたかが平易な言葉で説明され、次に試すことが示されます。**再試行**でもう一度送信できます。元のエラーは**通信**ビューに残ります。該当するメッセージを以下から探してください。

<Shot id="troubleshooting-no-echo" alt="送信に失敗した状態。レスポンスペインに「応答なし」、「接続が拒否されました：localhost:9で待ち受けているものがありません」と表示され、再試行ボタンがある" />

## 接続 [#connecting]

<Accordions type="single">
<Accordion title="接続が拒否されました：…で待ち受けているものがありません">

サーバのマシンは応答しましたが、そのポートで接続を受け付けるプログラムがありません。

- サーバが動作していること、アドレスのポートが合っていることを確認します。`3000`で動くローカルサーバには、`localhost:8080`では届きません。
- 変数が展開された後のアドレスを確認します。`{{variable}}`のピルにポインタを置くと値が表示されます。ページヘッダーで、どの環境がアクティブかも確認してください。
- Dockerや仮想マシンの中のサーバは、そのポートをMacに公開する必要があります。

</Accordion>
<Accordion title="ホスト…が見つかりません">

名前がアドレスに解決されません。スペル、ネットワーク、VPNを確認してください。社内ネットワークの中にしか存在しないホストには、そのネットワークまたはVPNが必要です。

</Accordion>
<Accordion title="…から時間内に応答がありません / 時間内に…に接続できませんでした">

**…から時間内に応答がありません**は、接続はできたものの、レスポンスがリクエストのタイムアウトより長くかかったことを意味します。サーバが遅い場合は、リクエストの**設定**タブで**タイムアウト**を延ばしてください。**時間内に…に接続できませんでした**は、接続そのものが開かなかったことを意味します。ファイアウォール、VPN、停止しているサーバなどが考えられます。

</Accordion>
<Accordion title="…が、維持していた接続を応答前に閉じました">

Echolotは開いている接続を再利用します。リクエストが出た瞬間にサーバがその接続を閉じ、レスポンスが返りませんでした。

2回送信されても問題がないリクエスト（GETなどの安全な、または冪等なメソッド、あるいは`Idempotency-Key`ヘッダー付きのリクエスト）では、Echolotは自動的に新しい接続で1回再試行します。POSTなどそれ以外のリクエストでは、サーバがすでにリクエストを適用した可能性があるため、再試行しません。もう一度送信する前に確認してください。

</Accordion>
<Accordion title="…に接続できません / …が接続をリセットしました">

**接続できません**は、ネットワークにサーバへの経路がないことを意味します。Wi-Fi、ネットワーク、VPNを確認してください。**接続をリセットしました**は、サーバまたは途中の何かが接続を切ったことを意味します。多くの場合、ファイアウォールか、そのプロトコルを拒否するサーバです（たとえば、HTTPSのポートにプレーンなHTTPを送った場合）。

</Accordion>
<Accordion title="demo.echolot.devからの429 Too Many Requests">

[デモAPI](/docs/tutorials/demo-api)は共有されており、アドレスごとに1分あたり120リクエスト、大きい、遅い、ストリーミングのエンドポイント（エクスポート、`bytes`、`delay`、WebSocket、SSE）では1分あたり10リクエストに制限されています。`Retry-After`レスポンスヘッダーの秒数だけ待ってから、もう一度送信してください。多くの反復でデモに対してランナーを実行すると、すぐに上限に達します。反復の数を減らしてください。

</Accordion>
</Accordions>

## TLSと証明書 [#tls-and-certificates]

<Accordions type="single">
<Accordion title="…の証明書は信頼されていません">

サーバの証明書が、自己署名である、有効期限が切れている、またはMacが信頼する認証局によって署名されていません。メッセージにその理由が表示されます。

- 社内または開発用の認証局の場合は、チェックをオフにするのではなく、**ワークスペース設定 › 証明書**で、そのホスト用にCA証明書を追加してください。[リクエストの設定](/docs/requests/settings)を参照してください。
- 開発用サーバの場合に限り、リクエストの**設定**タブで**TLS証明書を検証**をオフにします。

</Accordion>
<Accordion title="…の証明書は別のホスト名のものです">

証明書は有効ですが、別のホストの名前になっています。証明書が作られたホスト名を使うか、サーバの証明書を修正してください。

</Accordion>
<Accordion title="…への安全な接続に失敗しました（TLSハンドシェイク）">

サーバとのTLSハンドシェイクに失敗しました。コロンの後のテキストは、TLSライブラリ自身が示す理由です。よくある原因は、サーバがクライアント証明書を求めていることです。**ワークスペース設定 › 証明書**で、そのホスト用に追加してください。

</Accordion>
<Accordion title="クライアント証明書ファイル…が存在しません / PEM証明書ではありません">

証明書の設定が、移動したファイルや、別の形式のファイルを指しています。**ワークスペース設定 › 証明書**でファイルを選び直してください。EcholotはPEM証明書を読み込みます。

</Accordion>
</Accordions>

## プロキシ [#proxies]

<Accordions type="single">
<Accordion title="リクエストが自分のプロキシを通らない、または通るべきでないプロキシを通る">

**設定 › ネットワーク › プロキシ**で決まります。

| 選択肢 | 意味 |
| --- | --- |
| **システム設定** | システム設定 › ネットワークのHTTP、HTTPS、SOCKSプロキシと、その例外。プロキシの自動構成（PAC）は使用されません。 |
| **なし** | すべてのリクエストが直接接続します。 |
| **手動** | 入力したHTTP、HTTPS、SOCKS5プロキシ。**ユーザー名**、**パスワード**（キーチェーンに保存）、プロキシを使わないホストの**直接接続するホスト**を指定します。 |

ワークスペースは、**ワークスペース設定 › プロキシ**で独自のプロキシを設定でき、それがアプリの設定より優先されます。会社でPACファイルを使っている場合は、そのプロキシを**手動**に入力してください。コマンドラインツールは、`HTTPS_PROXY`、`HTTP_PROXY`、`NO_PROXY`を読み取ります。

</Accordion>
<Accordion title="プロキシ…が資格情報を求めています（407）">

プロキシへのサインインが必要です。**設定 › ネットワーク**またはワークスペースのプロキシ設定で、プロキシに**ユーザー名**と**パスワード**を追加してください。

</Accordion>
<Accordion title="プロキシ…が…への接続を拒否しました / SOCKSプロキシ…が…に接続できませんでした">

プロキシは動作していますが、そのサーバには到達しない、または到達できません。プロキシのルールでブロックされているか、プロキシから見てサーバが停止しています。サーバがローカルや社内にある場合は、**直接接続するホスト**に追加してください。

</Accordion>
</Accordions>

## HTTP/3 [#http3]

<Accordions type="single">
<Accordion title="HTTP/3にはmacOS 27以降が必要です">

HTTP/3は、macOS 27以降で動作します。それより古いmacOSでは、リクエストの**設定**タブで**HTTP/2**または**自動**を選んでください。

</Accordion>
<Accordion title="HTTP/3はプロキシを通せません / カスタムCAファイルやクライアント証明書はまだ使えません">

Echolotは、プロキシ経由（ブラウザと同様に、システムのプロキシも含む）、カスタムCAファイル付き、クライアント証明書付きでは、HTTP/3を送信しません。そのリクエストには**HTTP/2**または**自動**を選んでください。**自動**では、サーバがHTTP/3を提供し、妨げるものがない場合にだけ、Echolotは自動的にHTTP/3に切り替え、QUIC接続が開かない場合はTCPにフォールバックします。

</Accordion>
</Accordions>

## MCPサーバ [#mcp-servers]

<Accordions type="single">
<Accordion title="ローカル（stdio）のMCPサーバが起動しない">

サーバのチェックで、**サーバの起動**が失敗と表示されます。

- **先に承認する。** Echolotは、MCPサーバページで**信頼して確認**を使って承認した後にだけ、ローカルサーバのコマンドを起動します。それまでは、呼び出しに`Echolot has not started the MCP server “…” before. Review its command on the MCP Servers page and trust it first.`と表示されます。コマンド、引数、環境が変更されると、再び確認されます。
- **コマンドが見つからない。** 対処方法として、`Check that “npx” is installed and on the PATH, or give its full path.`と表示されます。Echolotは、ログインシェルのPATHでサーバを起動するので、新しいターミナルウインドウで動作する`npx`、`uvx`、バージョンマネージャのシムは、Echolotでも動作します。シェルが対話的に行う何かの後でしか動作しないコマンドは、フルパスを指定してください（ターミナルで`which npx`と入力すると見つかります）。
- **起動してから止まる。** 同じコマンドをターミナルで実行すると、理由が分かります。サーバのエラー出力は、メッセージログにもあります。

[サーバを追加する](/docs/mcp-servers/adding-servers)を参照してください。

</Accordion>
<Accordion title="…はローカルプログラムとして動作するMCPサーバですが、Echolotはここではプログラムを起動できません">

Mac App Store版を使っています。この版では、Mac上でプログラムを起動できません。サーバはワークスペースに残ります。HTTPに対応しているサーバならHTTPで追加するか、コマンドラインツール（`echolot mcp check -- <command>`）で実行するか、ダイレクトダウンロード版を使ってください。[エディション](/docs/get-started/editions)を参照してください。

</Accordion>
<Accordion title="HTTPのMCPサーバが「認可」または「サーバに到達可能」で失敗する">

チェックの対処の行に、すべきことが表示されます。OAuthを求めるサーバでは**サインイン**、トークンを求めるサーバでは`Authorization`ヘッダー、404の場合は正しいパス（MCPのエンドポイントは`/mcp`であることが多い）です。

</Accordion>
</Accordions>

## ファイルとスクリプト [#files-and-scripts]

<Accordions type="single">
<Accordion title="Echolotには「…」を読み取る権限がありません">

Mac App Store版では、Echolotがワークスペースの外にあるファイルを読み取れるのは、あなたがそれを選んだ後だけです。これは、ファイルからストリーミングするボディ、フォームのパート、クライアント証明書、Echolotの外でパスが書かれた`.proto`ファイルで起こります。失敗したレスポンスの<strong>アクセスを許可…</strong>を選び、ファイルを選んで、もう一度送信してください。Echolotはそれを記憶します。

ダイレクトダウンロード版では、このメッセージは、ファイル自体のアクセス権で読み取れないことを意味します。

</Accordion>
<Accordion title="このMacでEcholotがまだ実行したことのないスクリプトを実行します">

リクエスト、そのフォルダ、またはワークスペースに、ほかから来たスクリプトがあります。読み込み、`git pull`、Echolotの外での編集のいずれかです。スクリプトは、信頼した後にだけ実行されます。<strong>スクリプトを確認…</strong>を選び、内容を読んで、信頼してください。[スクリプトとテスト](/docs/requests/scripts-and-tests)を参照してください。

</Accordion>
<Accordion title="リクエストを保存できませんでした">

Echolotはリクエストのファイルを書き込めませんでした。ディスクがいっぱい、フォルダが読み取り専用、またはワークスペースが移動した、などが考えられます。**再試行**でもう一度試します。**編集を続ける**は、編集内容をタブに残し、保存されるまでタブは開いたままになります。

</Accordion>
<Accordion title="このリクエストはディスク上で変更されました">

タブに未保存の編集があるあいだに、ほかのアプリまたはGitがファイルを変更しました。**ファイルの内容を使用**は、あなたの編集を破棄してファイルを読み込みます。**自分の変更を保持**は、あなたの編集を残してファイルに上書きします。

</Accordion>
<Accordion title="macOSがキーチェーンの項目へのアクセスを求める">

その項目は、別のEcholotのコピー、別のエディション、またはコマンドラインツールが作ったものです。macOSは項目ごとに1回確認します。**常に許可**を選んでください。

</Accordion>
</Accordions>

## アプリとコマンドラインツール [#the-app-and-the-command-line-tool]

<Accordions type="single">
<Accordion title="このベータ版は有効期限が切れました">

ダイレクトダウンロード版のリリース済みベータビルドは、リリースの30日後に、または開発者がビルドを終了した場合はそれより早く、期限が切れます。[echolot.dev](https://echolot.dev)から最新版をダウンロードして、古いものの上にインストールしてください。ワークスペースはそのまま開きます。このMacの日付がおかしいというアラートが出た場合は、時計が、Echolotがすでに確認した日付より1日以上遅れています。システム設定で日付と時刻を設定してください。[インストール](/docs/get-started/install#beta-builds-expire)を参照してください。

</Accordion>
<Accordion title="echolot: command not found">

コマンドラインツールが、まだPATHにありません。<strong>Echolot › コマンドラインツールをインストール…</strong>を選び、<strong>新しい</strong>ターミナルウインドウを開いてください（開いているウインドウは古いPATHのままです）。<strong>設定 › 一般 › コマンドラインツール</strong>には、リンクの場所が表示されます。警告が表示されている場合は、リンクが移動したEcholotのコピーを指しています。<strong>再インストール</strong>を選んでください。App Store版では、ツールを単独でインストールします。[コマンドラインツール](/docs/cli)を参照してください。

</Accordion>
<Accordion title="コマンドラインツールまたはCIでシークレットが空になる">

キーチェーンがない場合（Linux、CI、または`ECHOLOT_KEYCHAIN=0`）、ツールは、`ECHOLOT_SECRET_<NAME>`という名前の環境変数からシークレットを読み取ります。たとえば、シークレット変数`password`には`ECHOLOT_SECRET_PASSWORD`です。CIのシークレット設定で設定してください。[CI](/docs/cli/ci)を参照してください。

</Accordion>
<Accordion title="Echolotは…にストレージを作成できませんでした">

Echolotはストレージフォルダを作成できませんでした。多くの場合、空き容量またはアクセス権が足りないことが原因です。Echolotを再起動するまで、レスポンスは一時フォルダに保存されます。容量を空けるか、フォルダのアクセス権を修正して（**設定 › 情報 › レスポンスと履歴 › Finderに表示**で場所が分かります）、再起動してください。

</Accordion>
</Accordions>

## それでも解決しない場合 [#still-stuck]

**ヘルプ › バグを報告**は、EcholotとmacOSのバージョンを入力した状態で、GitHubに新しいIssueを開きます。Echolotがクラッシュした場合は、そのレポートを添付してください。**設定 › プライバシー › クラッシュレポートを収集**（デフォルトでオン）はレポートをこのMacに保存し、**Finderに表示**でそのフォルダが開きます。
