ClydeCLI

What leaves your machine

Every way ClydeCLI can send something over the network, what it sends, when, and how to stop it. Written from the code at v0.5.9 by searching for every network call. If you find one that is missing here, that is a bug in this document: please open an issue. tests/test_egress_doc.py fails when the code mentions a host that this file does not.

The short version. Your prompts, your files and your command output go to exactly one place: the model provider you chose (and nowhere, if that provider is a local one). Everything else below is small, named, and has an off switch.

1. Your model provider

This is the point of the tool, and it is the only place your content goes.

Sentthe system prompt (Clyde's instructions plus project context such as your CLAUDE.md, a README excerpt and git status), the conversation, and tool results, which includes the text of files the model read and the output of commands it ran
Goes tothe provider you connected: api.openai.com, api.anthropic.com, generativelanguage.googleapis.com, api.mistral.ai, api.deepseek.com, api.cerebras.ai, api.together.xyz, integrate.api.nvidia.com, openrouter.ai, open.bigmodel.cn, api.minimaxi.com, gen.pollinations.ai, api.cloudflare.com (Workers AI), or a custom endpoint you added. Model lists are fetched from the same provider, with your key
Local modelsOllama and oMLX are reached on your own machine, so nothing leaves it. (Ollama itself talks to ollama.com when you pull a model: that is Ollama's traffic, not Clyde's)
cardShuffle and councileach turn goes to whichever of your connected providers is dealt; council sends the same request to several of them
Secretskeys and .env files reach the model only after a yes (or an allow rule)
Turn it offconnect only a local model: then the model traffic never leaves your machine

2. On by default, with no file content

WhatGoes toSentWhenTurn it off
Update checkapi.github.com (newest commit and tags) and github.com (git ls-remote)nothing but your IP address and the user agent clyde-cliat the start of the terminal UI, in the background, at most once a dayCLYDE_NO_UPDATE_CHECK=1

The Worker keeps only daily totals: no event, no install id and no address is stored. Cloudflare sees your IP address at its edge, as with any web request; the Worker never reads it. See the privacy page.

3. Tools the model can call

ToolGoes toSentAsks first?Turn it off
WebSearchhtml.duckduckgo.comthe search query the model wroteYes, before every search, showing the whole query; "don't ask again" saves a WebSearch allow rule. (Before 0.5.10 it did not ask.) In clyde -p, which cannot ask, it is denied unless that rule exists or you pass --mode all_inanswer no, or add "WebSearch" to permissions.deny in ~/.clyde/settings.json
WebFetchthe URL the model chosethe request for that URL (a key can ride in a query string, so the whole URL is shown)Yes, before every URL; a WebFetch(domain:...) rule skips the question for that domainanswer no, or deny it the same way
MCP servers you configuredthe server's own address (remote ones)the model's tool calls and their results; sign-in goes to that server's auth serviceyou chose to add the serverremove it from your MCP settings. A local (stdio) server is just a process on your machine, and what it does on the network is its own
Bash and hookswherever the command or script goeswhatever it sendsBash asks for any command that is not read-onlydecline the command

4. Only after you say yes, or when you use the feature

WhatGoes toSentTurn it off
Cloud review of a weak local replythe cloud provider you connectedyour request and the local model's reply, after a yes once per sessionCLYDE_CLOUD_REVIEW=off, or answer no
SkillSpector's LLM reviewthe model you connectedthe skill, plugin or MCP tool list being reviewed, only for plugin installs, items its offline stage flagged, and /skills scan. The static scan is offlineCLYDE_SKILL_SCAN=off, or connect no model
Finding local modelsollama.com (search), huggingface.co (model lists, chat templates), and the leaderboards the vendored whichllm (src/vendor/whichllm) reads to rank them — artificialanalysis.ai, livebench.ai, raw.githubusercontent.com (Aider's leaderboard) and datasets-server.huggingface.co (Chatbot Arena data) — building a list in the background, about 5 minutessearch terms and model names; no contentdo not open the local-model search
Installing Ollamabrew, or ollama.com/install.sh, from the offer in the local-model flownothing of yoursanswer no to the offer
Installing oMLXgithub.com/jundot/omlx (its pinned source), PyPI and GitHub (its Python packages), and uv's Python 3.13 when the Mac has nonenothing of yoursanswer no to the offer
Downloading an MLX modelhuggingface.co, by oMLX's own downloaderthe model's namedo not pick an MLX model in /models local
clyde setupPyPI and GitHub (the optional Laya package, graphifyy) and huggingface.co (Laya's model, about 800 MB)nothing of yoursanswer no (Laya's model is never fetched without a yes: Clyde sets HF_HUB_OFFLINE=1)
clyde update, clyde plugin install <git url>GitHub, or the git address you gavenothing of yoursdo not run them
Running tasks against models (/eval, council)the providers you connectedthe task promptsdo not run them

Nothing downloads and runs without a yes

If you pick an MLX model and oMLX isn't installed, Clyde needs it. In the terminal UI it asks first ("Install it? [y/N]") and, on a yes, installs oMLX's pinned release from source into ~/.clyde/omlx (a git checkout, a Python 3.13 environment made by uv, and its Metal kernels when Xcode is there); nothing outside that folder changes. Where nobody can be asked (an editor over ACP, clyde -p, Bonnie) it never installs: it stops and says so.

Through a proxy

With a proxy set (/proxy, or HTTPS_PROXY in your environment), everything above goes through it, so the proxy sees which hosts Clyde talks to; with HTTPS it cannot read the content unless your network inspects TLS (the case a company certificate, /proxy ca, is for). Servers on this machine (Ollama, oMLX) never go through it.

5. What does not leave

  • Bonnie serves its page on 127.0.0.1 only, and the page loads nothing from outside (no fonts, scripts or images from the web).
  • The website (dea6cat.github.io/ClydeCLI) and the app collect no usage data and send no error reports.

Where to get a key or an installer, shown on screen or in a setup message: platform.openai.com, platform.claude.com, platform.deepseek.com, platform.minimax.io, console.mistral.ai, aistudio.google.com, dash.cloudflare.com, cloud.cerebras.ai, build.nvidia.com, enter.pollinations.ai, mcp.linear.app (an example in the MCP help), polyformproject.org (the licence text), www.apache.org (Apache-2.0 licence text in scanner headers), astral.sh (uv's install command, printed by the vendored whichllm's own run command), example.com and proxy.example.com (placeholders in help text), www.w3.org (the SVG namespace name the station page gives to the nodes it draws: an identifier, never fetched).

Edit this page on GitHub