Downloads (v2.1.3)
| Platform | Architecture | Download |
|---|---|---|
| Windows | x64 | Installer · Portable |
| Windows | arm64 | Installer · Portable |
| macOS | Apple silicon (arm64) | DMG · ZIP |
| macOS | Intel (x64) | DMG · ZIP |
| Linux | x64 | AppImage · DEB · RPM |
| Linux | arm64 | AppImage · DEB · RPM |
Release Notes
Cherry Studio 2.1.3 - New Features, Performance, and Reliability
✨ New Features
- [Remote] Device Connections: pair a compatible mobile client to import providers and use desktop Agents over an encrypted LAN connection, with reconnect recovery, execution failures, approvals and questions. Action required: legacy devices must pair again for the new identity-based protocol.
- [Document] Support self-hosted MinerU 4 document parsing while retaining compatibility with legacy Open MinerU servers.
- [Screenshot] Use system OCR on macOS and Windows to select and copy screenshot text without downloading a local model.
- [Models] Add Claude Opus 5.5 to API chat with updated model limits, pricing, reasoning controls, and web-tool eligibility.
- [Models] Add GPT-6 Sol and Luna catalog metadata, OpenAI web-search eligibility, and OpenAI Codex model entries.
- [Models] Add Grok 4.7 to the model catalog (xAI, OpenRouter, Vercel AI Gateway, OpenCode, Copilot) with the xhigh reasoning effort; Grok CLI now lists Grok 4.6, Grok 4.7 and Grok 4.7 Fast; Grok 4.6 gains the xhigh reasoning effort.
- [Models] Add Xiaomi MiMo V2.6 Flash, Pro and Pro-UltraSpeed to the model catalog for the MiMo, OpenRouter, Vercel AI Gateway and OpenCode providers, with the thinking on/off switch.
- [Skills] Adds protected automatic file saving and manual remote updates for Skills installed from exact supported paths.
- [Skills] Adds dedicated Skill detail pages, source labels, safer removal, and one-click launch into an Agent session.
- [Settings] Add an “Agent reply language” setting (default: follow the conversation language) with preset and custom values, plus a per-agent override with an effective-language preview, so users can pin the language agents reply in.
- [Shortcuts] On macOS, Command+W now closes the active tab instead of the window; closing the window moved to Command+Shift+W.
🐛 Bug Fixes
- [Settings] Restore scrolling the provider model list from outside the list and let group headings scroll with the page.
- [Settings] English search terms now find the V2 conversation style setting.
- [Settings] Automatically verify and enable providers after adding models, and prevent model-selection dialogs from jumping when large lists load.
- [Proxy] Fixed local services such as DeepSeek Harness failing to connect when IPv4 or IPv6 loopback requests were routed through a proxy.
- [Proxy] Fix model list synchronization failing behind a corporate proxy or with an intercepted TLS certificate, which previously failed even though the provider itself worked for chat.
- [Proxy] Fix proxy bypass rules written as bare IPv6 literals (
::1,fe80::1,2001:db8::1) never matching, and match IPv6 addresses by value so equivalent notations are recognized. - [Agent] Scheduled tasks can now be edited in place through the cron tool, with session-reuse controls and clearer name-conflict guidance.
- [Agent] The bundled Cherry tool guide now describes when the notify tool is available and how scheduled tasks get their notification recipients.
- [Agent] Fixed dsh-type Agent sessions failing on proxy-only networks by inheriting the configured proxy into the agent runtime process.
- [Agent] Keep multi-agent requests in one reply until all work finishes, with compact subtask lists and reliable nested-task navigation.
- [Agent] Fixed sent-message link chips and website hover previews opening separate tabs instead of using the Agent conversation's browser pane.
- [Chat] Improve the thinking panel height, scrolling, and text readability for long reasoning content.
- [Chat] Keep unsubmitted AskUserQuestion answers when switching conversations, so returning to a pending question resumes where the user left off.
- [Chat] Fixed token usage not being calculated or displayed for some models after message refresh.
- [Chat] Fixed chat messages failing to stay at the bottom after scrolling down with the mouse wheel or dragging the scrollbar.
- [Chat] Fixed Responses continuations that sent a UUID as an input item id and were rejected because the id must begin with rs or msg.
- [Chat] Fix migrated managed images that still point to an old data directory.
- [Skills] Fix skill ZIP import refusing a within-limit skill because the repository archive around it exceeded the old shared ceilings; skill packs may now hold up to 20,000 files.
- [Skills] Fixed ClawHub skill installation failing because the download size limit was undefined.
- [Skills] Skill installs from Claude Plugins and skills.sh now download only the skill's directory instead of the whole repository, and installing a larger skill from a GitHub link no longer times out.
- [Skills] Improve name readability in the two-column settings layout while preserving card size, and show full names and descriptions in tooltips.
- [Skills] Fix slash-command and Skills menus while editing messages and after cancelling edits.
- [Skills] Fixed CLI cards stuck on “Installing…” when no install was actually running; the status now reconciles against live operations instead of trusting leftover markers.
- [Screenshot] Fixed the screenshot toolbar being partly pushed off screen when the selection is near the left edge of a display.
- [File] Fixed workspace file trees stopping after a transient Windows file-lock watcher error.
- [File] Preserve directory state across brief page switches without keeping the page active.
- [AI] Fixed Gemini requests failing with unknown-field 400 errors when a tool schema contains propertyNames or additionalProperties keywords.
- [AI] Show clear HTTP 400 request-failure messages and preserve Claude Agent SDK HTTP status codes for accurate error classification.
- [AI] Explain HTTP 413 agent request failures and suggest reducing payload size before retrying.
- [Windows] Fixed a Windows startup crash when application control blocks the native shutdown handler.
- [Linux] Linux AppImages no longer require the system libfuse2 library.
- [Mini Apps] Fix the Add mini app dialog width so installation content remains within the dialog.
- [History] Chat and Agent history now use archive icons and labels that accurately describe their recoverable archive actions.
- [UI] Fixed tooltip content sometimes lingering pinned to the top-left corner after clicking a file path in agent sessions.
- [UI] Fixed tooltips lingering at the window's top-left corner after switching right-pane panels.
- [UI] Keep message, conversation, and clear actions accessible on devices without hover support, including Windows tablets with detached keyboards.
- [Error] Render error causes as text instead of HTML for safer display.
- [Citations] Citation panel sources now open in the sidebar browser on left click and in a separate application tab on middle click.
What's Changed
- fix(api-gateway): project native Anthropic effort onto resolved model vocabulary by @404-Page-Found in #20811
- feat(code-cli): add MiniMax Code CLI management by @angri450 in #20849
- feat(agent-session): edit and resend the last user message by @WhiteZeek in #20833
- chore(release): sync v2.1.2 metadata by @kangfenmao in #20895
- fix(history): align archive action icons and labels by @ousugo in #20890
- fix(error-detail): render error cause as text instead of HTML by @kovsu in #20883
- fix(api-gateway): include client ID in pairing response by @zhangjiadi225 in #20899
- fix(release-notes): clarify macOS download labels and order by @DeJeune in #20901
- fix(ui): make tooltip close deterministic and sweep closed remnants by @tommyzhang100504 in #20100
- fix(chat): preserve bottom following across native scroll gestures by @ousugo in #20914
- fix(e2e-regression): align CherryIN OAuth and workflow controls by @kangfenmao in #20898
- fix(ai-core): scope internal resolver plugins to the request by @kovsu in #20921
- perf(image-export): render SVG to canvas through a blob URL instead of base64 by @kovsu in #20919
- fix(power): tolerate blocked Windows shutdown addon by @kangfenmao in #20923
- ci(gitcode-sync): reuse local signed Windows artifacts by @DeJeune in #20905
- refactor(preload): type dataApi bridge with shared DataRequest/DataResponse by @kovsu in #20928
- fix(agent): honor configured Pi shell path by @Dante-dan in #20322
- fix(chat): resolve migrated managed image paths at render time by @404-Page-Found in #20803
- fix(citations): open sources in the sidebar browser by default by @ousugo in #20929
- feat(provider-registry): add Xiaomi MiMo V2.6 models by @DeJeune in #20927
- feat(agent-language): expose agent reply language in Settings UI by @404-Page-Found in #20438
- fix(skill-install): bound installed skill, not surrounding archive by @SiinXu in #20770
- fix(main-window): don't reload a destroyed webContents on render-process-gone by @LXD-8 in #20894
- fix(provider-setup): auto-verify models and stabilize dialog layout by @kangfenmao in #20926
- fix(mini-apps): prevent add dialog content overflow by @AtomsH4 in #20935
- feat(provider-registry): add Grok 4.7 and Grok CLI 4.6/4.7 models by @DeJeune in #20934
- fix(right-pane): drop tooltips anchored in panels hidden by panel switching by @NatsUIJM in #20879
- fix(settings-search): expose conversation style search terms by @ActiveSky in #20728
- test(chat-attachments): pin code/script/config upload support and document allowlist by @404-Page-Found in #20805
- feat(skill-management): add dedicated Skill pages and launch flow by @DeJeune in #19743
- feat(skill-management): add authoring and remote updates by @DeJeune in #19744
- fix(chat): improve thinking panel layout and readability by @404-Page-Found in #20924
- feat(shortcuts): close the active tab with Command+W by @NatsUIJM in #20690
- fix(ai-sdk): omit UUID ids from Responses continuation input by @gokay-ai in #20414
- Add 'video' for Qwen3.8-Flash-Next in models.json by @whao in #20936
- perf(message-renderer): isolate content from topic status updates by @SiinXu in #20185
- fix(release): show only English notes and global downloads by @kangfenmao in #20965
- fix: explain HTTP 413 agent request failures by @lorenzozanee in #20959
- feat(provider-registry): add Claude Opus 5.5 API support by @ousugo in #20956
- fix(billing-hook): normalize flat provider usage for token persistence by @404-Page-Found in #20958
- fix(file): recover directory trees after watcher errors by @Dante-dan in #20950
- feat(provider-registry): add GPT-6 Sol and Luna models by @ousugo in #20957
- fix(ai-sdk): strip propertyNames and additionalProperties for Gemini tools by @Bruce-Yii in #20955
- fix(agent-composer): restore slash and skill menus during message editing by @WhiteZeek in #20932
- fix(skill-install): bound git output from remote skill sources by @kovsu in #20973
- fix(agent-links): preserve conversation navigation for link cards by @ousugo in #20972
- fix(proxy): bypass localhost for Node requests by @kangfenmao in #20969
- fix(agent-session): unify subagent replies and task navigation by @kangfenmao in #20922
- fix(skill-install): fetch only the skill directory for marketplace installs by @kovsu in #20977
- fix(binary-manager): reconcile stale installing/removing against live mutations by @Bruce-Yii in #20970
- fix(appimage): remove system libfuse2 dependency by @DeJeune in #20980
- fix(screenshot): keep toolbar inside the display's left edge by @0xfullex in #20981
- fix(skills): improve two-column card readability by @ousugo in #20982
- fix(chat-actions): keep controls accessible without hover by @DeJeune in #20983
- fix(provider): list models over the Chromium network stack by @xianhongtao in #20906
- fix(claude-code): preserve API error status and classify HTTP 400 by @DeJeune in #20984
- fix(composer): keep unsubmitted AskUserQuestion answers across remounts by @NatsUIJM in #20785
- chore(system-ocr): bump native OCR packages to 1.2.0 by @DeJeune in #20985
- fix(skill-install): bound clawhub responses before buffering by @kovsu in #20975
- fix(skill-install): import archive download size limit by @DeJeune in #20988
- fix(dsh-runtime): inherit applied proxy env into the dsh child by @Bruce-Yii in #20946
- fix(i18n): translate two untranslated zh-cn backup error messages by @hemingliangasdfghjkl-workbuddy in #20986
- fix(chat-layout): isolate detached pane state by @NatsUIJM in #20828
- fix(directory-tree): retain mirrors across brief activity suspension by @DeJeune in #20367
- fix(agent-cron): support task updates and session reuse by @DeJeune in #20991
- docs(agent-notify): describe the trusted-recipient contract in the bundled tool guide by @lianshuang-photo in #20990
- feat(screenshot): use system OCR line bounds by @DeJeune in #20987
- fix(proxy): bypass IPv4 and IPv6 loopback for local services by @DeJeune in #21003
- chore(build-tooling): upgrade pnpm to 12.6.0 and Vite to 8.2.2 by @DeJeune in #20989
- feat(file-processing): support MinerU 4 self-hosted API by @DeJeune in #21004
- fix(proxy): match unbracketed IPv6 bypass rules as addresses by @c020627 in #21005
- docs(api-gateway): remote agent access design proposal by @DeJeune in #16567
- feat(remote-access): let paired devices use desktop Agents over an encrypted LAN channel by @zhangjiadi225 in #20717
- chore: version packages by @github-actions[bot] in #14493
- fix(package-release): remove changesets for ignored UI package by @DeJeune in #21008
- fix(provider-settings): restore unified model list scrolling by @DeJeune in #21011
New Contributors
- @angri450 made their first contribution in #20849
- @whao made their first contribution in #20936
- @Bruce-Yii made their first contribution in #20955
- @hemingliangasdfghjkl-workbuddy made their first contribution in #20986
Full Changelog: v2.1.2...v2.1.3