Hidden calls Haiku #7367

Open
opened 2026-02-16 18:06:57 -05:00 by yindo · 7 comments
Owner

Originally created by @jnarvaezp on GitHub (Jan 23, 2026).

Originally assigned to: @rekram1-node on GitHub.

Description

While using OpenCode with OpenRouter, I explicitly configured the model to MiniMax M2.1. However, the usage logs clearly show that multiple requests are being executed and billed against Claude Haiku 4.5, even though that model was never selected.

This behavior occurs silently, without any warning, visible configuration, or explicit fallback setting enabled.

Evidence

App: OpenCode
Expected model: MiniMax M2.1
Actual models used: MiniMax M2.1
Claude Haiku 4.5 (unexpected)
Billing impact: Tokens are consumed and charged for Claude Haiku 4.5
Finish types observed:
stop
tool_calls

Thank you very much for your help and guidance.
I appreciate any clarification on whether this behavior is normal or related to a missing configuration on my side.

Plugins

No response

OpenCode version

1.1.34

Steps to reproduce

No response

Screenshot and/or share link

Image

Operating System

linux ubuntu 24.04

Terminal

Ghossty

Originally created by @jnarvaezp on GitHub (Jan 23, 2026). Originally assigned to: @rekram1-node on GitHub. ### Description While using OpenCode with OpenRouter, I explicitly configured the model to MiniMax M2.1. However, the usage logs clearly show that multiple requests are being executed and billed against Claude Haiku 4.5, even though that model was never selected. This behavior occurs silently, without any warning, visible configuration, or explicit fallback setting enabled. **Evidence** **App:** OpenCode **Expected model:** MiniMax M2.1 **Actual models used:** MiniMax M2.1 Claude Haiku 4.5 (unexpected) **Billing impact:** Tokens are consumed and charged for Claude Haiku 4.5 Finish types observed: **stop tool_calls** Thank you very much for your help and guidance. I appreciate any clarification on whether this behavior is normal or related to a missing configuration on my side. ### Plugins _No response_ ### OpenCode version 1.1.34 ### Steps to reproduce _No response_ ### Screenshot and/or share link <img width="1110" height="1074" alt="Image" src="https://github.com/user-attachments/assets/45930812-fc16-4224-92f4-c2924a15335a" /> ### Operating System linux ubuntu 24.04 ### Terminal Ghossty
yindo added the bug label 2026-02-16 18:06:57 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 23, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #4579: Openrouter unwated requests to Claude Haiku 4.5. - Same problem: unauthorized Claude Haiku calls appearing in OpenRouter usage despite different model selection
  • #7211: The selected model is not taken into account - Model selection being ignored and defaulting to different model
  • #2644: A model that was not selected is called - Another instance of unauthorized calls to Claude Haiku when other models were selected
  • #3724: Attempting to use Claude Sonnet 4.5 gives "Bad Request". Recent usage shows Haiku being used. - Similar billing issue where Haiku is being charged instead of selected model

All these issues point to a potential underlying bug where Claude Haiku is being called as an unexpected fallback or default when other models are explicitly selected, particularly with OpenRouter provider.

Feel free to ignore if your specific case differs from these.

@github-actions[bot] commented on GitHub (Jan 23, 2026): This issue might be a duplicate of existing issues. Please check: - #4579: Openrouter unwated requests to Claude Haiku 4.5. - Same problem: unauthorized Claude Haiku calls appearing in OpenRouter usage despite different model selection - #7211: The selected model is not taken into account - Model selection being ignored and defaulting to different model - #2644: A model that was not selected is called - Another instance of unauthorized calls to Claude Haiku when other models were selected - #3724: Attempting to use Claude Sonnet 4.5 gives "Bad Request". Recent usage shows Haiku being used. - Similar billing issue where Haiku is being charged instead of selected model All these issues point to a potential underlying bug where Claude Haiku is being called as an unexpected fallback or default when other models are explicitly selected, particularly with OpenRouter provider. Feel free to ignore if your specific case differs from these.
Author
Owner

@justfortheloveof commented on GitHub (Jan 23, 2026):

In your configuration, set small_model to a model of your choice.
https://opencode.ai/docs/config/#models

@justfortheloveof commented on GitHub (Jan 23, 2026): In your configuration, set `small_model` to a model of your choice. https://opencode.ai/docs/config/#models
Author
Owner

@adam-ah commented on GitHub (Jan 25, 2026):

@justfortheloveof , a workaround Isn't a solution

There has been multiple reports of this bug.

The fundamental problem is that OpenCode makes assumptions about what users want to do, defaulting to models for background tasks without explicit user consent or clear UI indication.

See also https://github.com/anomalyco/opencode/issues/4579

@adam-ah commented on GitHub (Jan 25, 2026): @justfortheloveof , **a workaround Isn't a solution** There has been multiple reports of this bug. The fundamental problem is that OpenCode makes assumptions about what users want to do, defaulting to models for background tasks without explicit user consent or clear UI indication. See also https://github.com/anomalyco/opencode/issues/4579
Author
Owner

@justfortheloveof commented on GitHub (Jan 25, 2026):

@justfortheloveof , a workaround Isn't a solution

I'm not implying you're wrong nor that config is the solution, but rather pointing it out for awareness as it can be useful for those who aren't aware, while there is no released solution (I actually dislike the AI titles and have disabled them completely).

I do agree that it's a problem that opencode can silently use paid models without user consent.

@justfortheloveof commented on GitHub (Jan 25, 2026): > [@justfortheloveof](https://github.com/justfortheloveof) , **a workaround Isn't a solution** I'm not implying you're wrong nor that config is the solution, but rather pointing it out for awareness as it can be useful for those who aren't aware, while there is no released solution (I actually dislike the AI titles and have disabled them completely). I do agree that it's a problem that opencode can silently use paid models without user consent.
Author
Owner

@rekram1-node commented on GitHub (Jan 25, 2026):

yeah this comes from the title generation requests, it should use cheapest models instead

@rekram1-node commented on GitHub (Jan 25, 2026): yeah this comes from the title generation requests, it should use cheapest models instead
Author
Owner

@adam-ah commented on GitHub (Jan 25, 2026):

Thanks for acknowledging this @rekram1-node. The core issue is OpenCode making assumptions without user consent.

Instead of making further assumptions and defaulting to any model (even cheap ones), title summaries should be an optional feature with explicit configuration:

  • Optional checkbox for "Enable AI-generated titles"
  • Separate model selector if enabled (suggest cost-effective defaults)
  • Transparent UI showing what's being used

This respects user choice, prevents billing surprises, and allows customization. Would you be open to a PR implementing this approach?

@adam-ah commented on GitHub (Jan 25, 2026): Thanks for acknowledging this @rekram1-node. The core issue is OpenCode making assumptions without user consent. Instead of making further assumptions and defaulting to any model (even cheap ones), title summaries should be an optional feature with explicit configuration: - Optional checkbox for "Enable AI-generated titles" - Separate model selector if enabled (suggest cost-effective defaults) - Transparent UI showing what's being used This respects user choice, prevents billing surprises, and allows customization. Would you be open to a PR implementing this approach?
Author
Owner

@TheHamkerCat commented on GitHub (Jan 30, 2026):

Every time you send a message in OpenCode, this feature sends your message to Anthropic (correct me if I'm wrong, i just checked in httpproxy and this is the case),

This is pretty bad for privacy for some people, if they don't want to keylog their data to anthropic (everyone had different choices), Not to mention the cost

OC should disable this by default

@TheHamkerCat commented on GitHub (Jan 30, 2026): Every time you send a message in OpenCode, this feature sends your message to Anthropic (correct me if I'm wrong, i just checked in httpproxy and this is the case), This is pretty bad for privacy for some people, if they don't want to keylog their data to anthropic (everyone had different choices), Not to mention the cost OC should disable this by default
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#7367