[FEATURE] Add a "Use system title bar" option on Linux (custom titlebar ignores GNOME button-layout)
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-layoutsetting inside the custom titlebar (readingorg.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
- 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.
- 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.
- 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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗