Floating AI chat on macOS: every option in 2026
Updated July 2026 · Disclosure: this guide is published by the maker of Sticky for Claude, the table is factual anyway
The request sounds simple: "I want my AI assistant in a small window that stays on top while I work." On macOS it's surprisingly hard, and it becomes nearly impossible the moment you use true fullscreen (a fullscreen Space), because fullscreen apps get their own Space that normal windows can't join, whatever their window level. Here's what each option actually delivers.
The options, compared
| Option | Always on top | Survives true fullscreen | Notes | Price |
|---|---|---|---|---|
| Claude Desktop (official) | No | No | Full-featured home for Claude; always-on-top isn't a feature (it was filed as a bug when it happened accidentally). | Free with subscription |
| ChatGPT Desktop (official) | No | No | Companion window exists, but users have been asking for a floating mode on the OpenAI forum for years. | Free with subscription |
| Generic window pinners (Floaty-style) | Yes, on the desktop | No | Can pin a browser tab or app window above others, but pinned windows still vanish inside fullscreen Spaces, and most need extra permissions. | ~$5–20 |
| unitmux (open source) | Prompt box | Partially | A floating prompt relay for Claude Code/Codex running in tmux, clever and free, but it's an input box for tmux users, not a full chat/code window. | Free |
| Browser picture-in-picture hacks | Video only | Video only | PiP floats over fullscreen but only carries a video stream, so you can't type into it. Dead end for chat. | Free |
| Sticky for Claude | Yes | Yes | Uses Spotlight's window layer (joins all Spaces, shown with fullscreen windows, no screen-recording permission). Unlimited windows: Claude chat, full Claude Code per project, or a real terminal. Double-tap ⌘ to summon. | $29 one-time (7-day free trial) |
Why "always on top" usually breaks in fullscreen
Most tools raise a window's level (like "floating"). That works on the desktop, but macOS fullscreen apps live in their own Space, a window in your desktop Space is simply not there, whatever its level. Crossing that boundary requires the collection behaviors Apple designed for auxiliary overlays (canJoinAllSpaces + fullScreenAuxiliary), delivered through a non-activating panel so clicking the overlay never steals focus from the fullscreen app. That's the technique Spotlight uses, and the entire reason Sticky for Claude exists.
Which should you pick?
- You never use fullscreen: a generic pinner or the official desktop app plus Cmd-Tab is honestly fine.
- You live in tmux: try unitmux first, it's free.
- You live in fullscreen (IDE, Figma, writing apps) and use Claude: Sticky for Claude is, as far as we know, the only full Claude chat + Claude Code experience that floats above true fullscreen. Try the 7-day trial and see if it sticks.
The only one built for true fullscreen
7-day free trial · all features · no account, no card · macOS 14+, Apple Silicon
↓ Download Sticky for ClaudeFrequently asked
How do I keep Claude always on top on macOS?
The official Claude desktop app can't do it. Your options: a generic window pinner (works until you go fullscreen), or Sticky for Claude, whose windows use Spotlight's window layer and stay above everything including true fullscreen.
Does any of this need screen-recording or accessibility permissions?
Sticky for Claude's floating itself needs no special permission, the window flags are public AppKit APIs. (Only its optional double-⌘ gesture asks for Accessibility, since it listens for the ⌘ key system-wide.) Some pinner utilities do request screen recording; check before installing.
Is there a floating ChatGPT window for Mac?
Not an official one, the request has been open on OpenAI's forum for years. Sticky for Claude is Claude-specific by design (it drives the real Claude Code under the hood).
Deeper comparisons: vs Claude Desktop · vs Conductor · vs opcode