[FEATURE] Add a "Use system title bar" option on Linux (custom titlebar ignores GNOME button-layout)

Open 💬 1 comment Opened Jul 6, 2026 by erapetti

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

The Claude Desktop app for Linux (Beta) draws a custom (frameless) titlebar instead of using the native window decorations provided by the desktop environment. Inspecting the bundled app.asar confirms the main window is created with Electron's titleBarStyle: "hidden" / "hiddenInset".
As a consequence, the app ignores the user's window manager preferences. A concrete example: on GNOME, users can place the minimize/maximize/close buttons on the left side of the titlebar, either via GNOME Tweaks (Windows → Titlebar Buttons → Placement → Left) or directly through GSettings:
gsettings set org.gnome.desktop.wm.preferences button-layout 'close,maximize,minimize:'
All native GTK applications honor this setting. Claude Desktop always renders its window controls on the right, and there is currently no setting in the app to change this — I checked Settings and found no titlebar-related option, and there is no documented environment variable or flag for the official Linux build.
Beyond button placement, a custom titlebar also bypasses other compositor-managed behaviors users configure system-wide (titlebar theming, double-click/middle-click actions, etc.).

Proposed Solution

Add a "Use system title bar" option (e.g. under Settings → Appearance) that creates the main window with native/server-side decorations (frame: true), letting the desktop environment draw and manage the titlebar. This is a common option in Electron apps on Linux — for example, VS Code (window.titleBarStyle: native), Signal Desktop, and Element all offer it — precisely because Linux desktop environments vary widely in how they handle window decorations.

A restart-required toggle would be perfectly acceptable, since titleBarStyle/frame can only be set at BrowserWindow creation time.

Alternative Solutions

  • Replicating the GNOME button-layout setting inside the custom titlebar (reading org.gnome.desktop.wm.preferences). This would fix the button placement but only for GNOME, and wouldn't address other compositor-managed behaviors. A native titlebar option solves the general case with less per-desktop logic.
  • Environment variables or launch flags: none exist for the official Linux build, and Electron does not allow switching frame type at runtime.

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

  1. On my Ubuntu 24.04 GNOME desktop, I have configured window buttons (minimize/maximize/close) on the left side via GNOME Tweaks, and all

my applications follow that layout.

  1. When I switch to Claude Desktop, the buttons are on the right, breaking muscle memory: I repeatedly move the pointer to the wrong corner to minimize or close the window.
  2. With a "Use system title bar" option, the compositor would draw the titlebar and the buttons would appear where I configured them, consistent with every other app on my desktop.

Additional Context

<img width="1517" height="127" alt="Image" src="https://github.com/user-attachments/assets/89a2c192-ac71-4c2d-b76c-d0aa94126dca" />

Inspecting the bundled app.asar of the official Linux .deb confirms the window is created with Electron's titleBarStyle: "hidden" / "hiddenInset" (custom titlebar). There is no titlebar-related option in Settings, and no documented environment variable or flag for the official Linux build.

Similar Electron apps offering a native titlebar option on Linux: VS Code (window.titleBarStyle: "native"), Signal Desktop, Element.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗