Hacker News new | ask | show | jobs
by heavyset_go 93 days ago
It also sends all of your prompts to Grok's free tier by default, and the free tier trains on your submitted information, X AI can do whatever they want with that, including building ad profiles, etc.

You need to set an explicit "small model" in OpenCode to disable that.

6 comments

This. I work on projects that warrant a self hosted model to ensure nothing is leaked to the cloud. Imagine my surprise when I discovered that even though the only configured model is local, all my prompts are sent to the cloud to... generate a session title. Fortunately caught during testing phase.
If you're using software someone else wrote, you'd have to repeat this testing phase any time an update is installed, right?

(I do mean this as a general principle, but also it was pointed out elsewhere in the thread that this is a particularly "high velocity" project as far as unexpected changes go.)

I’m curious if there’s a reason you’re not just coding in a container without access to the internet, or some similar setup? If I was worried about things in my dev chain accessing any cloud service, I’d be worried about IDE plugins, libraries included in imports, etc. and probably not want internet access at all.
Having access to internet could be important for looking up docs and things like that.
Yeah — you can develop in a container that’s configured to only allow local access. Your machine is connected to the Internet as usual, so you can access any docs you want or whatever, but the actual execution environment running on your machine can’t. This is pretty easy to set up in Docker, for example. It’s also useful because you can have the same exact dev environment no matter what machine you’re on, OS you’re running, etc.
Ok wow.

I mean the default model being Grok, whatever - that everyone sets to their favorite.

But the hidden use of a different model is wow.

Documentation [1] says:

The small_model option configures a separate model for lightweight tasks like title generation. By default, OpenCode tries to use a cheaper model if one is available from your provider, otherwise it falls back to your main model.

I would expect that if you set a local model it would just use the same model. Or if for example you set GPT as main model, it would use something else from OpenAI. I see no mentions of Grok as default

[1] https://opencode.ai/docs/config/

i ran it through mitmproxy, i am using pinned version 1.2.20, 6 march 2026, set up with local chat completions.

on that version, it does not fall back to the main model. it silently calls opencode zen and uses gpt-5-nano, which is listed as having 30 day retention plus openai policy, which is plain text human review by openai AND 3rd party contractors.

i see they removed the title model on v1.2.23.

i was so annoyed i made an account here today

From the code, this does not seem to be true anymore. It falls back to the current model if no small model is identified with the current provider. https://github.com/anomalyco/opencode/blob/9b805e1cc4ba4a984...
It uses a model called "Big Pickle" by default which is an alias for minimax 2.5, as far as I've been able to tell.
Wait what. For real? I knew their security posture was bad, but this bad??
They're talking about before it's configured by the user. It defaults to 'free' models so that the user can ask a question immediately on startup. Once you configure a provider, the default models aren't used.
Wait what, so are you saying if I am on some other model, it still sends my prompts to Grok??