You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OAuth binding row in the launch preview: API Key accounts get an OAuth binding row right above the force-refresh-token row, styled like the other rows, that shows the current binding and lets you bind or change it, plus an authorization-error badge and a Re-authorize action when the bound account needs it. The description states that after binding, launching is identical to a normal account and every OAuth capability is available (remote compaction, browser control, and more), while conversations still run on the current API Key provider. The model provider launch preview offers the same row and shares one binding dialog with the account overview.
Fixed
DeepSeek model metadata now matches the official declaration exactly: in official-direct and desktop-injection modes the client used to display capabilities borrowed from GPT models as if they belonged to DeepSeek (a fast tier and plan gating that do not exist), and the multi-agent capability and minimum client version differed from what DeepSeek declares. Instance catalogs now use the complete official models.json entries.
Built-in web search is disabled and conflicting settings are cleaned up when switching to DeepSeek: previously the client could still issue web-search requests that the upstream does not support, and leftover reasoning-effort, compaction-prompt and service-tier settings in config.toml were forwarded to the upstream and could fail. Switching now disables the built-in web search per the official setup and temporarily removes those conflicting keys, restoring the original values on switch-away.
Fixed requests being rejected after switching a cross-provider thread to an official account: when a thread alternates between DeepSeek and an official GPT account, reasoning items produced by the third party in its history made the official backend reject the request with an input[i].content validation error (array_above_max_length), breaking both normal turns and automatic compaction. Before forwarding to an official account the gateway now clears that field and drops reasoning items that only carry third-party reasoning text with no reusable reasoning state.
Fixed old threads failing after switching from the DeepSeek gateway to a plain account: a thread used on a third-party provider keeps reasoning items with visible thinking text in its history, while an official direct account requires those items to be empty, so the whole request (normal turns and automatic compaction alike) was rejected after switching. Switching and launching now clean those history items up front, with a backup written first, and only for plain accounts that talk to the official backend (gateway-bound accounts keep the request-level cleanup).