---
title: "Check the network before a big download in an agent · Kilobat Recipes"
url: "https://kilobat.app/guides/recipes/check-network-before-download"
description: "Let an AI agent check for a metered network, Low Data Mode, VPN, loss and battery before it downloads a model, image or dependencies on your Mac."
---

Recipe

# Check the network before a big download in an agent

An agent can ask Kilobat if now is a good time for a large transfer. Kilobat answers in about two seconds with one line of advice.

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

## In the app

1. Open the Wi-Fi menu. A metered network shows Connected · metered.
2. To change how Kilobat treats a network, set its Data cost to Automatic, Metered or Unmetered.

## With the CLI

1. Read the conditions as JSON.

   ```
   kilobat conditions --json
   ```

   Output `metered`, `osMetered`, `lowDataMode`, `vpn`, `internetLatencyMs`, `internetLossPercent`, `power` and one line of `advice`, for example “Good conditions: online, unmetered, on power.”
2. If the network is metered, ask the person first. A speed test then uses at most the budget you give.

   ```
   kilobat speedtest --budget-mb 10
   ```
3. Keep the Mac awake while the download runs.

   ```
   kilobat awake -- huggingface-cli download org/model
   ```

## 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 |
|---|---|
| `get_conditions` | Metered, Low Data Mode, VPN, latency, loss, battery and heat, with `advice`. |
| `get_updaters` | Whether updaters are paused on this network now. |
| `run_speedtest` `{"budget_mb": 10}` | Uses data. On a metered network, the agent must ask you first. |
| `keep_awake` `{"minutes": 60, "reason": "Downloading the model"}` | Stops idle sleep during the download. |

## Good to know

- `metered` is what Kilobat acts on. `osMetered` is what macOS says. `meteredSource` is `macOS` or `you`.
- A `null` latency means that the ping got no answer. It does not prove that the internet is down.
- The Kilobat agent skills tell agents to ask before large transfers on metered networks.

## Sources

- [Kilobat docs: AI agents and MCP](https://kilobat.app/docs#agents)
- [Kilobat skill: mac-agent-runs](https://github.com/seifip/kilobat-skills/tree/main/skills/mac-agent-runs)
- [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

- [Use Low Data Mode on a Mac](https://kilobat.app/guides/low-data-mode-mac): Low Data Mode tells macOS and apps to use less data on one Wi-Fi network.
- [Make a Mac treat a network as metered](https://kilobat.app/guides/metered-network-mac): macOS marks some connections as expensive, such as an iPhone Personal Hotspot.
- [Keep your Mac awake until a download finishes](https://kilobat.app/guides/recipes/keep-mac-awake-download): Kilobat keeps the Mac awake while transfers run.
- [Homebrew or npm downloads fail on a Mac](https://kilobat.app/guides/homebrew-npm-download-fails): Homebrew downloads with curl and Git.
