diff --git a/DIVERGENCES.md b/DIVERGENCES.md
index 3b2f5c2781..53ebda0cc6 100644
--- a/DIVERGENCES.md
+++ b/DIVERGENCES.md
@@ -20,6 +20,16 @@ future `packages/codev-*`) never conflict and are not tracked here.
| `packages/opencode/script/publish.ts` | `PUBLISH_NAME = "codev-code"` const; published-name→dir map; main pkg name + bin key; env-guarded exit before the Docker/AUR/Homebrew section | npm-only publishing under the fork's names (unscoped, public on npmjs); upstream's other channels target anomalyco infra. | Keep our names + early exit; take upstream's npm-section changes above the exit. |
| `packages/opencode/bin/opencode` | `base` prefix `opencode-` → `codev-code-` | Runtime platform-binary lookup must match the published names. | Keep our prefix. |
| `packages/opencode/script/postinstall.mjs` | `base` prefix `opencode-` → `codev-code-` | Install-time platform-binary fetch must match the published names. | Keep our prefix. |
+| `packages/tui/src/logo.ts` | Pixel glyphs "open"+"code" → "co"+"dev"; added hub-style `banner` (ANSI-Shadow CODEV) | Branded wordmark art; `banner` feeds the TUI home banner, CLI help, and presentation mode. | Keep our glyphs and banner. |
+| `packages/tui/src/component/logo.tsx` | Renders the hub-style CODEV `banner` in uniform bold cyan (#00cdcd) | Matches the codev hub CLI banner art and color. | Keep our version wholesale. |
+| `packages/tui/src/theme/assets/opencode.json` | `darkSecondary` → `#00cdcd` (banner cyan); `lightSecondary` → `#009999` (darker for light-bg contrast) | Brand accent: first agent ("Build") label + prompt border derive from `secondary`. | Keep our two color values; take upstream's other theme changes. |
+| `packages/opencode/src/cli/ui.ts` | `wordmark`/`logo()` render the hub-style CODEV banner (bold bright cyan on TTY) | Help banner matches the hub CLI banner. | Keep our wordmark + logo(); take upstream's surrounding changes. |
+| `packages/tui/src/util/presentation.ts` | Local logo copy replaced by the shared CODEV `banner` (cyan) | Presentation-mode wordmark was still upstream-branded. | Keep our wordmark(); take upstream's surrounding changes. |
+| `packages/app/index.html` | `
` → "CoDev Code" | Web UI tab title. | Keep our title. |
+| `packages/app/src/desktop-menu.ts`, `packages/app/src/components/windows-app-menu.tsx` | App-menu label "OpenCode" → "CoDev Code" | Visible menu branding. | Keep our labels. |
+| `packages/desktop/src/main/index.ts`, `packages/desktop/src/main/windows.ts` | APP_NAMES + window title → "CoDev Code" (Dev/Beta variants too) | Desktop app display name. | Keep our names. |
+| `packages/desktop/electron-builder.config.ts` | `productName` ×3 → "CoDev Code…"; artifactName → `codev-code-desktop-…`; protocol display name | Installer/product branding. appId (`ai.opencode.desktop`) and the `opencode://` deep-link scheme stay upstream — identity plumbing wired into main/index.ts and app deep-links; do not rename casually. | Keep our names; take upstream's other config. |
+| `packages/ui/src/assets/favicon/` (favicon-v3.svg, site.webmanifest, favicon-96x96-v3.png, apple-touch-icon-v3.png, web-app-manifest-192/512.png) | New codev mark: blocky "C" in #00cdcd (banner cyan) on dark; manifest name "CoDev Code"/"codev" | Web/desktop favicon + PWA branding (served via packages/app/public symlinks). | Keep our assets (binary: take ours wholesale). |
| `README.md` | Replaced with fork README | Fork identity, sync + divergence policy. | Keep ours entirely. |
| `README.*.md` (21 translations) | Deleted | Upstream marketing translations, irrelevant to the fork. | Keep deleted (`git rm` the upstream side of modify/delete conflicts). |
| `screenshot-uk.png` | Deleted | Orphaned README-translation asset; referenced by nothing. | Keep deleted. |
@@ -38,9 +48,13 @@ future `packages/codev-*`) never conflict and are not tracked here.
the upstream version the fork was built from; suffix like `-codev.1` for fork-only
re-releases). Docker/AUR/Homebrew/GitHub-release channels are upstream-only and
disabled. The binary inside platform packages is still named `opencode` (cosmetic).
-- **UI branding**: TUI logo (`UI.logo()`), desktop/web app names and assets — all still
- upstream-branded. Cosmetic; not worth the merge-conflict surface until the product ships
- beyond the team.
+- **UI branding**: TUI banner, default-theme accent, desktop/web app names, and favicon/PWA
+ assets are rebranded (see table). Still upstream-branded, deliberately: in-app i18n strings
+ mentioning "OpenCode" (~33 × 19 locale files — a merge-conflict farm; revisit with a
+ runtime display-name shim if it matters), `favicon-v3.ico` + `social-share.png` (binary
+ formats we can't author well — need design assets), desktop app ICONS (resources/icons —
+ need design assets), and the `ai.opencode.desktop` appId / `opencode://` scheme (identity
+ plumbing, like the OPENCODE_* env vars).
- **Internal names**: `@opencode-ai/*` package names, `OPENCODE_*` env vars, `~/.local/share/codev-code`
internals keep upstream naming on purpose. Renaming them would be a permanent
merge-conflict machine for names users never see. Do not "clean these up".
diff --git a/packages/app/index.html b/packages/app/index.html
index d71535182c..2709791e9f 100644
--- a/packages/app/index.html
+++ b/packages/app/index.html
@@ -6,7 +6,7 @@
name="viewport"
content="width=device-width, initial-scale=1, interactive-widget=resizes-content, viewport-fit=cover"
/>
- OpenCode
+ CoDev Code
diff --git a/packages/app/src/components/windows-app-menu.tsx b/packages/app/src/components/windows-app-menu.tsx
index 017ac4cf8d..3ad2930954 100644
--- a/packages/app/src/components/windows-app-menu.tsx
+++ b/packages/app/src/components/windows-app-menu.tsx
@@ -77,7 +77,7 @@ export function WindowsAppMenu(props: {