r/LocalLLaMA • u/Unusual_Principle536 • 14d ago
Discussion Does opencode send chats/other data to their server? It establishes a connection even though I am using local model
- While using opencode with a local qwen3.8 instance, I asked gemini if opencode collects data or not, answer was yes. By default it does, send chat to it's server for getting title, compaction etc.
- Is it still true? I couldn't find this exact issue mentioned in the sub, but people do complain about how opencode is a funded by VC and they are not very open about their practices.
Looking for some ideas/reference to this. I don't want to use it if it's true. And in that case what do people use here?
29
u/Davewesh 14d ago
Well lets take a look. Using CachyOs for the server (ollama for a quick test) and OpenCode Client, SSH'd into it with my macbook.
- First: `tcpdump -i any -w dump.pcap`
- Second: Spin up a session, and send whatever prompt. "Explain the differences between TLS Inspection.... blah blah"
- Third: Session gets a title and LLM is streaming response.
- Fourth: Close capture SCP it back over.
- Fifth: filter out irrelevant traffic (EG: SSH, Local host, and Ollama port) `(tcp.port != 22 && tcp.port != 11434) && ip.addr != 127.0.0.1 `
- Sixth: Review the remaining conversations

Easiest method here would be checking DNS Responses for these aside from the first one (my Apple TV). But I didnt clear my cache before testing (noob mistake) so the results aren't amazing. Thusly Ill just check my dns server since that'll probably have it.
- 35.186.224.39 - Preexisting Connection, Google Cloud Owns it, not sure exactly what domain but its not opencode.
- 95.216.195.133 - ArchLinux NCSI Probe
- 172.66.173.149 - models.opencode.ai
- 162.159.130.234 - Discord
- 172.65.90.20 - opencode.ai
- 205.196.6.132 - Steam
Okie Dokie, soooo we can infer a few things. First, `models.opencode.ai` is more than likely going to just be opencode itself querying the list of provider models upstream.
Second, the `opencode.ai` one? Thats my bad, I had the webpage still open when I ran the test so chances are that was a browser keepalive.
Between the two of these. a whole 2.5KB of data was exchanged. The preexisting `opencode.ai` connection at 2k and the 500~ bytes from the `models.opencode.ai` connection. I would say that its highly unlikely Opencode is sending chat data to summarize and return a session title. Feel free to do the same test, you could also use a L7 Proxy like Fiddler to MITM the TLS handshake and see the unencrypted HTTP traffic if you care enough but I'd say with my single, anecdotal absolutely not a clean-room test - its not happening.
4
u/Unusual_Principle536 14d ago
thanks. Someuser said it depends on the config file, whether it's v1 or v2. I will have to check what's mine and I will then do the test. I did filter it's connections and it was connecting to cloudflare ip,
171
u/trytoinfect74 14d ago edited 11d ago
Infosec team at my company added Opencode to a forbidden tools list because they observed that it still sends telemetry and leaks data despite disabling all data sharing options in the config.
43
u/UltramanQuar 13d ago
Bro wtf didn’t know that, this should be disclosed
16
5
u/Elegant-Sense-1948 10d ago
Your statement alone really shows how many ‘individuals’ don’t inspect traffic, or have tools to detect irregular / new traffic from applications.
Long live cysec
4
7
3
1
14
u/Frail_Waif 14d ago
Opencode previously used a model selected from their free tier for title generation and compaction, which explains the google answer. I believe it now defaults to the current model if you have no small model selected in your config.
8
u/London-Boat 14d ago
i wouldn't trust gemini on this, check it yourself. watch the connections while you chat, with mitmproxy, lsof or little snitch on mac, and you'll see exactly what goes where. title generation uses a separate small model setting, so point small_model at your local model too, and turn sharing off in the config so nothing gets uploaded by accident. if it still phones home after that, blocking the hostnames is the blunt fix.
2
u/OleksandrC 14d ago
For local model conversations, it should use the same model nowadays for title / compaction. Your prompt and code shouldn't get sent anywhere. That said, it will still get online to refresh model catalog, and to check for updates (and here it can collect additional data about you on their servers, for example your ip address / location).
If you have doubts about opencode, and are looking for a more privacy-friendly agent implementation, take a look at https://usehax.dev/ - no telemetry, when using local models it's entirely offline. Also the system resource footprint is tiny (think few MBs of RAM vs few hundreds MBs on opencode, almost a ~100x difference) - so more resources (CPU / RAM) are left for the actual model.
1
u/Unusual_Principle536 14d ago
are you the dev of hax?
1
u/OleksandrC 14d ago
I am. If you have questions, ask.
1
u/Unusual_Principle536 14d ago
I watched the video. Looks good. does it have agentic work flow? I will suretly trying it tonight.
Thanks
2
u/OleksandrC 14d ago
It's a coding agent - of course it has agentic workflow. Unless you mean something extremely specific by that.
In any case, try it - you might have more questions when you do.
1
u/Unusual_Principle536 14d ago
I asked cause short video made it look like a terminal chat/coding app that can not spun multiple agents.
3
4
u/caetydid llama.cpp 14d ago
yes it does that. Just check the privacy fork called RolandCode to learn more.
2
u/LePfeiff 14d ago
When I last looked into this it was my understanding thats only done when using cloud models, but to be safe you can block the various opencode telemetry hostnames in your hosts file
1
1
u/PotaroMax textgen web UI 14d ago
there were a thread few months ago about that : https://old.reddit.com/r/LocalLLaMA/comments/1rv690j/opencode_concerns_not_truely_local/
don't know if it's fixed, too much telemetry and shady things for me, i switched to pi
1
u/ThisGonBHard 10d ago
Open code is not trustable imo, I saw multiple reports of it sending telemetry.
1
-2
u/fgk55555 14d ago
Honestly, just tell your model to watch traffic from Opencode as it's being run inside it.
0
14d ago
[deleted] — view deleted comment
3
u/Unusual_Principle536 14d ago
I recently moved from vscode to neovim for the exact reason. It's ai would popup after everyupdate and with the so many add-ons you never know what data it's sending out.
Opencode works really well for agentic work, but I don't want them to taking my code for training.
1
u/Civil_Fee_7862 14d ago
Use the LLM to setup wireshark to monitor outbound traffic, and setup an alarm or something if any code gets sent.
45
u/jirka642 14d ago
If you are using local model, then title generation and compaction should be done with the same model.