Problem Statement
Cherry Studio's Agent feature is hard-coded to use @anthropic-ai/claude-agent-sdk as the sole execution engine. This creates several issues:
-
No support for OpenAI-compatible models: Users who configure OpenAI-compatible providers (like custom self-hosted models) cannot use Agent mode, even though these models work perfectly in Chat mode. The error message is: Claude Code returned an error result: There's an issue with the selected model...
-
Privacy concerns: Claude Code is a closed-source commercial SDK that may collect user data. Users have no visibility into what data is being sent to Anthropic's servers, and no option to disable this telemetry.
-
No user choice: The Agent system does not allow users to opt-out of Claude Code or choose an alternative Agent engine. There's no "local-only" or "OpenAI-compatible" mode.
-
No graceful degradation: When Claude Code is unavailable (no API key, network issues, or model incompatibility), Agent mode completely fails instead of falling back to a simpler but functional alternative.
Context
I understand that:
However, these solutions all assume Claude Code remains the mandatory execution engine — they just add translation layers. This doesn't address:
- The fundamental lack of user choice
- Privacy concerns about sending all Agent traffic through a closed-source SDK
- The desire for a truly provider-agnostic Agent framework
Desired Solution
I would like Cherry Studio to:
-
Make Claude Code optional: Allow users to explicitly choose whether to enable Claude Code-based Agent mode. If disabled, Agent functionality should gracefully degrade or use an alternative engine.
-
Support OpenAI-compatible Agent engines: Either:
- Use a provider-agnostic Agent framework (like
ai-sdk's agent patterns) that supports both Anthropic and OpenAI tool-calling protocols
- Or provide a clear abstraction layer where users can plug in different Agent runtimes
-
Be transparent about data flow: Document what data Claude Code sends to external servers, and allow privacy-conscious users to opt-out.
-
Provide a local/privacy-first fallback: Even if limited, a local Agent engine (perhaps using simple ReAct patterns with any model) would be preferable to no Agent functionality at all for users who cannot or don't want to use Claude Code.
Alternative Workarounds
Currently, the only workaround is:
- Use Chat mode instead of Agent mode (loses tool orchestration, planning, and multi-turn capabilities)
- Run an external proxy like
cc-switch or cc-nim (fragile, adds complexity, not user-friendly)
Additional Context
This is not just a "feature request" — it's about user agency and privacy. Tightly coupling Agent mode to a single closed-source SDK:
- Excludes users who cannot access Anthropic's API (geographic, financial, or compliance reasons)
- Creates a single point of failure
- Prevents community contributions to the Agent runtime
- Goes against the open-source spirit of Cherry Studio
I'm happy to contribute to a more modular Agent architecture if the maintainers are open to this direction.
Problem Statement
Cherry Studio's Agent feature is hard-coded to use
@anthropic-ai/claude-agent-sdkas the sole execution engine. This creates several issues:No support for OpenAI-compatible models: Users who configure OpenAI-compatible providers (like custom self-hosted models) cannot use Agent mode, even though these models work perfectly in Chat mode. The error message is:
Claude Code returned an error result: There's an issue with the selected model...Privacy concerns: Claude Code is a closed-source commercial SDK that may collect user data. Users have no visibility into what data is being sent to Anthropic's servers, and no option to disable this telemetry.
No user choice: The Agent system does not allow users to opt-out of Claude Code or choose an alternative Agent engine. There's no "local-only" or "OpenAI-compatible" mode.
No graceful degradation: When Claude Code is unavailable (no API key, network issues, or model incompatibility), Agent mode completely fails instead of falling back to a simpler but functional alternative.
Context
I understand that:
However, these solutions all assume Claude Code remains the mandatory execution engine — they just add translation layers. This doesn't address:
Desired Solution
I would like Cherry Studio to:
Make Claude Code optional: Allow users to explicitly choose whether to enable Claude Code-based Agent mode. If disabled, Agent functionality should gracefully degrade or use an alternative engine.
Support OpenAI-compatible Agent engines: Either:
ai-sdk's agent patterns) that supports both Anthropic and OpenAI tool-calling protocolsBe transparent about data flow: Document what data Claude Code sends to external servers, and allow privacy-conscious users to opt-out.
Provide a local/privacy-first fallback: Even if limited, a local Agent engine (perhaps using simple ReAct patterns with any model) would be preferable to no Agent functionality at all for users who cannot or don't want to use Claude Code.
Alternative Workarounds
Currently, the only workaround is:
cc-switchorcc-nim(fragile, adds complexity, not user-friendly)Additional Context
This is not just a "feature request" — it's about user agency and privacy. Tightly coupling Agent mode to a single closed-source SDK:
I'm happy to contribute to a more modular Agent architecture if the maintainers are open to this direction.