diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0ad8e212d71..068c1176a7c 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@
## [Windows] Unreleased
+- Devin: use Devin's official transparent hexagon mark for the provider icon in Settings and the CLI dashboard, instead of the settings-gear badge and the letter fallback (upstream #4458).
- Kimi (China): use the current Kimi Desktop session from its Local Storage (`%APPDATA%\kimi-desktop`) for web usage and monthly membership enrichment, and check that session again before each request, so a signed-out, replaced, or expired Desktop token is never sent or recovered from an older record (upstream #4416, #3536).
- Codex CLI: add opt-in `cost --identified-only` request subtotals across local and SSH (`--remote`) histories, deduplicating strong request identities and keeping partial results without estimating a combined price, plus `--group-by project` reports that show the partial-history notice even when no projects are listed (upstream #4447, #4472).
- OpenCode Go: reuse unchanged local history scans (keyed by `opencode.db` and its `-wal` sidecar size and modification time, at most one 4 MiB payload kept), and in Auto overlay Console quota from a stored or automatically discovered browser session before falling back to the local estimate; cookie source Off never reads a browser (upstream #4410, #4445).
diff --git a/apps/desktop-tauri/src/components/providers/icons/ProviderIcon-devin.svg b/apps/desktop-tauri/src/components/providers/icons/ProviderIcon-devin.svg
new file mode 100644
index 00000000000..dc740bc20ca
--- /dev/null
+++ b/apps/desktop-tauri/src/components/providers/icons/ProviderIcon-devin.svg
@@ -0,0 +1,3 @@
+
diff --git a/apps/desktop-tauri/src/components/providers/providerIcons.test.ts b/apps/desktop-tauri/src/components/providers/providerIcons.test.ts
index c1478549a68..1c8ecffc72d 100644
--- a/apps/desktop-tauri/src/components/providers/providerIcons.test.ts
+++ b/apps/desktop-tauri/src/components/providers/providerIcons.test.ts
@@ -109,6 +109,14 @@ describe("provider icon registry", () => {
expect(svg).not.toContain('fill="#000"');
});
+ it("ships the official Devin hexagon mark as a currentColor template", () => {
+ const entry = PROVIDER_ICON_REGISTRY.devin;
+ expect(entry.svgPath).toContain('viewBox="0 0 128 128"');
+ expect(entry.svgPath).toContain('fill="currentColor"');
+ expect(entry.svgPath).not.toContain(" {
expect(PROVIDER_ICON_REGISTRY).not.toHaveProperty("crof");
});
diff --git a/apps/desktop-tauri/src/components/providers/providerIcons.ts b/apps/desktop-tauri/src/components/providers/providerIcons.ts
index 1df8e40ba21..f19dc7f41c0 100644
--- a/apps/desktop-tauri/src/components/providers/providerIcons.ts
+++ b/apps/desktop-tauri/src/components/providers/providerIcons.ts
@@ -22,6 +22,7 @@ import crossmodel from "./icons/ProviderIcon-crossmodel.svg?raw";
import cursor from "./icons/ProviderIcon-cursor.svg?raw";
import deepgram from "./icons/ProviderIcon-deepgram.svg?raw";
import deepinfra from "./icons/ProviderIcon-deepinfra.svg?raw";
+import devin from "./icons/ProviderIcon-devin.svg?raw";
import devpass from "./icons/ProviderIcon-devpass.svg?raw";
import fireworks from "./icons/ProviderIcon-fireworks.svg?raw";
import aiand from "./icons/ProviderIcon-aiand.svg?raw";
@@ -135,6 +136,7 @@ const RAW: Record = {
cursor: tint(cursor),
deepgram: tint(deepgram),
deepinfra: tint(deepinfra),
+ devin: tint(devin),
devpass: tint(devpass),
fireworks: tint(fireworks),
aiand: tint(aiand),
@@ -311,7 +313,7 @@ export const PROVIDER_ICON_REGISTRY: Record = {
chutes: { id: "chutes", brandColor: "#3184ff", fallbackLetter: "C" },
litellm: { id: "litellm", brandColor: "#4c89f0", fallbackLetter: "L" },
poe: { id: "poe", brandColor: "#5d5cde", fallbackLetter: "P" },
- devin: { id: "devin", brandColor: "#317cff", fallbackLetter: "D" },
+ devin: { id: "devin", brandColor: "#317cff", fallbackLetter: "D", svgPath: RAW.devin },
zed: { id: "zed", brandColor: "#084eff", fallbackLetter: "Z" },
qwencloud: { id: "qwencloud", brandColor: "#615CED", fallbackLetter: "Q" },
notion: { id: "notion", brandColor: "#337EA9", fallbackLetter: "N", svgPath: RAW.notion },
diff --git a/rust/src/cli/serve/dashboard/icons/ProviderIcon-devin.svg b/rust/src/cli/serve/dashboard/icons/ProviderIcon-devin.svg
index e2b1cd5f678..dc740bc20ca 100644
--- a/rust/src/cli/serve/dashboard/icons/ProviderIcon-devin.svg
+++ b/rust/src/cli/serve/dashboard/icons/ProviderIcon-devin.svg
@@ -1,3 +1,3 @@
-