---
title: "Find why one site or API won't connect · Kilobat Recipes"
url: "https://kilobat.app/guides/recipes/why-cant-it-connect"
description: "Check one website, API or host layer by layer from your Mac: network, VPN and proxy, DNS, Kilobat's rules, IPv4 and IPv6, TLS and the server's answer."
---

Recipe

# Find why one site or API won't connect

When the internet works but one address fails, Kilobat checks each layer in turn. It names the layer that failed and what to do next.

Free in the app and the CLI · Checked: 29 October 2026

## In the app

1. Open the dashboard and click the Health tab.
2. Find Why can’t it connect?.
3. Paste the exact address that fails into the field, for example `github.com` or a full URL.
4. Pick the app, if one app has the problem. Kilobat then checks its own proxy and open connections too.
5. Click Check. Read the layer that failed and the next step.

## With the CLI

1. Check one host.

   ```
   kilobat why api.example.com
   ```

   Output Each layer with ok, warning, failed or skipped, then a verdict and the next step. The command exits with 1 when a layer failed.
2. Check the exact URL that one app uses. The output hides query values.

   ```
   kilobat why https://example.com/file.zip --app com.example.App
   ```
3. Test through the proxy address that the app sets in its own settings.

   ```
   kilobat why https://huggingface.co --proxy http://127.0.0.1:7890
   ```
4. Tell Kilobat when the code runs in a container, a VM or on a remote machine.

   ```
   kilobat why db.internal --context container
   ```
5. Record when the app failed beside the time of the check.

   ```
   kilobat why api.example.com --failed-at 14:05
   ```

## Through MCP

Connect the MCP server once with `claude mcp add kilobat -- kilobat mcp`. For other clients, see [the docs](https://kilobat.app/docs#agents). Then an agent can call these tools. Tools that change settings tell the agent to ask you first.

| Tool and arguments | What it does |
|---|---|
| `diagnose_connection` `{"target": "https://api.example.com/v1/models", "app": "process:node"}` | Returns `verdict`, `next` and the `steps`, each with `layer`, `status` and `detail`. |

## Good to know

- The check runs inside Kilobat, not through `curl`. A strict Kilobat profile cannot block the check itself.
- It tests IPv4 and IPv6 separately. A broken IPv6 path gets its own verdict.
- A passing check means that this request works from this Mac over that path now. It cannot see a transfer that is already in progress.

## Questions

**What does --context provider do?**

Use it when a hosted service makes the request from its own servers. A private address such as `localhost` works from your Mac, but those servers cannot reach it.

## Sources

- [Kilobat docs: When something can't connect](https://kilobat.app/docs#why)
- [Kilobat skill: mac-network-troubleshooting](https://github.com/seifip/kilobat-skills/tree/main/skills/mac-network-troubleshooting)
- [Kilobat llms.txt: CLI and MCP reference](https://kilobat.app/llms.txt)

Sources checked on 29 October 2026. Man pages are the ones installed with macOS; open one with `man <name>` in Terminal.

## Related guides

- [A website works on your phone but not on your Mac](https://kilobat.app/guides/site-works-on-phone-not-mac): When a site opens on your phone but not on your Mac, the problem is usually on the Mac.
- [Proxy settings stop apps from connecting on a Mac](https://kilobat.app/guides/proxy-settings-breaking-apps): A proxy setting sends traffic through another server.
- [IPv6 problems on a Mac](https://kilobat.app/guides/ipv6-problems-mac): Most networks give a Mac both IPv4 and IPv6 addresses.
- [A container cannot reach localhost on the Mac](https://kilobat.app/guides/localhost-from-container): Each container has its own network stack.
