diff --git a/apps/desktop/src/app/chat/composer/status-stack/coding-row.tsx b/apps/desktop/src/app/chat/composer/status-stack/coding-row.tsx
index 51325e3e8ab38..5b69b2938119f 100644
--- a/apps/desktop/src/app/chat/composer/status-stack/coding-row.tsx
+++ b/apps/desktop/src/app/chat/composer/status-stack/coding-row.tsx
@@ -220,6 +220,11 @@ export const CodingStatusRow = memo(function CodingStatusRow({
}
>
+ {/* PR number first, right against the leading git glyph — the chip
+ borrows that icon instead of carrying a second one of its own
+ (`showIcon={false}`), so the row reads glyph → #number → branch. */}
+ {pr &&
}
+
{/* Branch name — the other half of the review-pane target. `contents`
so the button lays out nothing of its own: the label stays the
same flex child it always was, and the hit area is the text. */}
@@ -229,8 +234,6 @@ export const CodingStatusRow = memo(function CodingStatusRow({
- {pr &&
}
-
{/* Worktree path + copy — plain muted text, not a chip. Always in the
flex so hover doesn't reflow the row; opacity alone reveals the
pair. The path sizes to its content (the `flex-1` lives on the
diff --git a/apps/desktop/src/app/chat/pr-tag.tsx b/apps/desktop/src/app/chat/pr-tag.tsx
index 723be8588293a..bf0a5c1c94b19 100644
--- a/apps/desktop/src/app/chat/pr-tag.tsx
+++ b/apps/desktop/src/app/chat/pr-tag.tsx
@@ -22,8 +22,18 @@ export function openPullRequest(pr: HermesBranchPullRequest): void {
/** The branch's PR as a row chip: state glyph plus number, tooltipped with the
* title, and a link to the PR on click. Identity like {@link ProfileTag} —
- * never a status dot. */
-export function PrTag({ className, pr }: { className?: string; pr: HermesBranchPullRequest }) {
+ * never a status dot. `showIcon={false}` drops the glyph for rows that already
+ * lead with a git icon the number can sit against (the composer's coding row),
+ * so the chip doesn't stack a second one beside it. */
+export function PrTag({
+ className,
+ pr,
+ showIcon = true
+}: {
+ className?: string
+ pr: HermesBranchPullRequest
+ showIcon?: boolean
+}) {
const style = PR_STYLE[pullRequestBucket(pr)] ?? PR_STYLE.open
return (
@@ -51,8 +61,9 @@ export function PrTag({ className, pr }: { className?: string; pr: HermesBranchP
onPointerDown={event => event.stopPropagation()}
type="button"
>
-
-
{pr.number}
+ {showIcon &&
}
+ {/* Without the glyph the number needs the `#` to still read as a PR. */}
+
{showIcon ? pr.number : `#${pr.number}`}
)