Questions about cl_quick
Short answers on what the Claude quick chat keeps and sends, what incognito means, how accounts and switching work, and the model, thinking, shortcut and voice controls. They come from cl_quick's own README and release notes. The first release isn't out yet; what it needs.
The basics
What is cl_quick?
A floating Claude chat for the Mac, on a shortcut. It is a menu bar app with no Dock icon. Press ⌥Space over any app and a chat bar opens; the first message turns it into a chat window that stays floating on every Space until Esc hides it. It never brings another app forward.
Does cl_quick use my own Claude Code sign-in?
Yes. Your own Claude Code answers, on the profile's account in use, and the chat counts against that account's limits. cl_quick runs one claude at a time: it is kept while a chat is open and ended after 15 minutes idle.
Is cl_quick free?
Yes, the app is free. It uses your own Claude Code sign-in, so every chat counts against that account's Claude plan limits.
Is cl_quick made by Anthropic?
No. cl_quick is an independent tool from n-uf. It is not affiliated with Anthropic. Claude is a trademark of Anthropic.
What does it need?
An Apple silicon Mac, macOS 13 or later and Claude Code, signed in. The first release isn't out yet; the Install page has the details.
Does it work with cl_audit?
cl_quick runs with or without cl_audit and shares nothing with it while running. It is the successor of cl_audit's quick chat: on its first run it copies cl_audit's old quick chat settings (the shortcut, model and thinking), if there are any.
Incognito, and what it keeps and sends
What does incognito mean in cl_quick?
Quick chats are incognito: nothing is saved on this Mac. Your messages still go to Anthropic under the profile's account. It is not Anthropic's own incognito mode.
A chat lives only in the running claude, which runs with --no-session-persistence, so it writes no transcript and a chat is never resumed.
When does a chat end?
After 15 minutes idle (window open or hidden), on New chat (⌘N), on another profile or account, if claude crashes or needs a sign-in, and when cl_quick quits. After 15 minutes idle the window says "This chat ended after 15 minutes idle. Nothing was saved.", and the next message starts a new chat. A chat never continues on another account.
What does cl_quick keep on my Mac?
Its own folder, ~/Library/Application Support/cl_quick/: its profiles (with the addresses and ids of their accounts, never tokens), settings, the limits last reported per account, the time of the last update check and the newest version seen (updates.json), and the work folders Claude Code runs in. Outside it: the login item, and any folder "A new account, in a new folder" made (a Claude Code folder, which Remove leaves).
Chats: nothing. Checked on a signed-in folder (Claude Code 2.1.318): no file names the chat's session id or work folder, and no folder for it appears under projects/. What any claude start still does, chat or not: it may refresh its feature-flag cache timestamp in the profile's .claude.json and take a backup copy of that file.
What does cl_quick send, and to whom?
Your messages go through Claude Code, to Anthropic under the profile's account. Claude Code runs with no tools, no MCP servers, no settings files and its own non-essential traffic (telemetry, error reports, update checks) off. It gets only an allowlisted part of the Mac's environment (who you are, the language, proxies and certificates); the rest of your shell's environment is left out. An image you paste or drop is scaled down in memory and sent in the same connection as the text; no file is made for it.
Apart from your messages, the one thing cl_quick sends is its own update check: about once a day it asks GitHub for cl_quick's latest release (api.github.com/repos/n-uf/cl_quick/releases/latest, anonymous, with the User-Agent "cl_quick"). It compares the version and, if a newer one exists, adds "Update available" to the menu bar menu, which opens the release's page. Nothing is downloaded or installed. Settings ▸ General ▸ Updates turns it off, and then no request is made.
Does cl_quick check for updates?
Yes, cl_quick's own update check, unless you turn it off. Updates in Settings ▸ General is on by default: about once a day cl_quick checks GitHub Releases, anonymously, and when a newer version exists the menu bar menu shows "Update available", which opens the release's page in your browser. The app downloads and installs nothing itself. It keeps the time of the last check and the newest version seen in updates.json. With Updates off, no request is made at all. Claude Code's own update checks stay off either way.
How do I remove everything cl_quick keeps?
The strip at the bottom of Settings ▸ General has Remove…, which asks "Move cl_quick's data to the Trash?" and then moves cl_quick's folder and any old quick chats to the Trash, turns the login item off and quits. Your Claude Code folders, their sign-ins and their other sessions stay.
Profiles and accounts
What is a profile?
A Claude Code folder cl_quick chats on: ~/.claude, a ~/.claude-* folder, or any folder set with CLAUDE_CONFIG_DIR. On its first run cl_quick takes every one it finds that is signed in, named after the folder (Main for ~/.claude, Work for ~/.claude-work). Two folders signed in to the same account make one profile, ~/.claude first.
Can one profile have more than one account?
Yes. A Claude Code folder holds one signed-in account at a time, so a profile remembers the accounts that have been signed in to its folder: the one signed in now is in use, the others are on standby. There are no helper folders: one profile, one folder.
How do I switch to another account?
Open the profile's page in Settings (its tile along the top). The account in use comes first, in a box with its address, its plan, an "In use" tag and its limits. Under it, each standby account is a row with two buttons, Switch… and Forget…; pressing Switch… signs in again in the same folder as that account.
cl_quick asks first ("Switch Main to p•••@example.com?"). The question says that Claude Code in Terminal and editors on that folder (for a folder other than ~/.claude, Claude Code pointed at it with CLAUDE_CONFIG_DIR) moves to the new account, sessions running now included, and that the Claude app keeps its own sign-in. It is not just the quick chat.
Then Claude Code's own sign-in (claude auth login --email …) opens in Terminal and finishes in your browser. The browser's claude.ai session decides which account actually signs in, so cl_quick checks the result: it looks at the folder's .claude.json every 2 seconds, for at most 10 minutes, until the account changes.
What do Forget…, Sign in again… and Add an account… do?
Forget… asks first, then drops a standby account from the profile's list. Nothing is signed out and no session is touched; the account comes back if it signs in on that folder again. Sign in again… appears only when the sign-in is broken (or the folder has no account signed in). Add an account… takes an address and signs in as it; the account in use then goes to standby.
A standby account shows no usage: one folder holds one sign-in, so its limits aren't known here.
What if the wrong account signs in, or nothing happens?
If another account signed in, the chat says so ("Signed in as m•••@example.com, not p•••@example.com") and offers to try again. After 10 minutes with no change cl_quick stops looking and says "No sign-in in 10 minutes.", in the chat and on the profile's page in Settings, with a way to try again and Dismiss (OK in Settings).
Does cl_quick see my password or token? Where are addresses shown?
It never sees a password or a token and never touches the Keychain. It reads only the addresses and ids in each folder's own .claude.json.
Settings shows account addresses in full. Prompts, dialogs and the chat's notices may mask them (p•••@example.com). In the chat an address appears in the profile menu only: each profile's row shows the address of its account in use (never a standby one's), blurred until the pointer is on it, with a copy button beside it.
How do I add a profile?
The + tile along the top of Settings adds a profile: a folder found on this Mac (Add, or Sign in… for one that isn't signed in), Choose a folder… (it must be a signed-in Claude Code folder), or "A new account, in a new folder", which takes a name, makes ~/.claude-<name> and opens Claude Code's own sign-in for it in Terminal.
Limits
Where do the 5-hour and weekly numbers come from?
From the chat's own Claude Code, using its own sign-in and never the Keychain: it starts as the bar opens, and is asked for the account's limits then, after each answer, and when the bar opens again (at most once a minute). That request (get_usage) sends no message to a model. After each answer Claude Code also reports them on its own, which stays as the fallback. The colours are green, amber from 50%, red from 80% and crimson from 95%.
Limits belong to the account. After a switch, the chat's new claude is asked for the new account's limits at once, and the new account's own numbers show, never the old account's. They are kept per account (its id in Claude Code's file), not per organization. A standby account shows no usage.
What does the header of the chat window show?
Once the bar has become a chat window, its header shows only the usage meters, "5h" and "wk", each with its bar, its share and, when there's room, when it resets. At the right is a darker capsule with + (new chat) and ✕ (hide). There is no profile name and no address in the header: the profile is in the row under the field.
What happens when a limit is full?
When a profile's 5-hour limit or week is full, the chat's notice names the window that is full ("Main's 5-hour limit is full, resets 23:20.") and offers the profile with the most room: Ask on Work sends your question there. If the profile has a standby account with room, it also offers Switch to p•••@example.com…: after the sign-in the chat starts a new chat on the same profile (a chat may not carry across accounts) and sends what you had typed, with a line saying "Main is on p•••@example.com now."
What if Claude Code isn't signed in, or stops mid-answer?
If a profile's Claude Code isn't signed in, the notice offers Sign in… (Claude Code's own sign-in, in Terminal) and Try again, which asks the question in a new chat. If Claude Code stops mid-answer, the window keeps what arrived and says the chat ended; Retry asks the last question in a new chat. Stop ends the answer where it is and the chat goes on.
Model, thinking, shortcut and voice
How do I pick the model and thinking?
Under the field, in one row: the profile (a key with a dot in the colour of its fuller limit, and its name), then the model (Haiku by default) and thinking (off by default) together in one outlined group, then a keys button, and at the end the mic and Send. A pick holds for that chat; a new chat goes back to the defaults, which Settings ▸ General sets.
The model is one of four families, Haiku, Sonnet, Opus and Fable, each the newest the account has, as Claude Code itself lists them. A family the account lacks isn't offered. Thinking is Off or the efforts the chosen model takes (Low, Medium, High, Extra, Max); a step it doesn't take moves to the nearest. A warm tint marks the costly steps: Fable, and thinking at Extra or Max.
Click a bar to pick it, or the right half of a control's label for the next value up and the left half for the one before, wrapping round past either end. The scroll wheel steps too, and so do ⌥⌘↑ and ⌥⌘↓ (thinking) and ⌥⌘→ and ⌥⌘← (model).
How do I change the shortcut?
Settings ▸ General ▸ Shortcut: ⌥Space by default, four other Space shortcuts, Other… for any key with ⌘, ⌃ or ⌥, or Off. It warns only about real clashes, with a way out (a button that picks a preset none of macOS's own shortcuts uses): a macOS shortcut that uses the key, as this Mac has them set (Spotlight, Finder's search, the input sources), or a key another app holds, when macOS refuses to register it ("taken by another app").
Other apps' shortcuts can't be read, and macOS lets two apps register the same key, so nothing else is guessed at: if the key also opens something else, pick another. It is registered the way macOS's own app shortcuts are, so there is no Accessibility permission to give.
Can I use my voice?
Yes. The mic button left of Send starts macOS Dictation into the field. cl_quick stays in the background: the panel takes the keyboard as it does for the shortcut, so Dictation types into the field and not into the app behind. ⌘D does the same as a click, on and off (also for a Dictation macOS's own shortcut started). A click again, sending, a new chat or hiding stops it. With Dictation off in macOS, the chat says once where to turn it on.
Can I paste or drop an image into the chat?
Yes. ⌘V with a screenshot or picture on the clipboard (⌃⇧⌘4 copies a screenshot), or with image files copied in Finder, attaches it; so does dropping image files, or a picture from a page, on the bar or the chat window. Each shows as a small thumbnail over the field with a ✕. Up to 5 go with a message, and a sixth is left out with a line saying so. An image alone is a message too, and text on the clipboard always pastes as text.
Images stay incognito. Each is scaled down in memory to 1568 px on its long side and sent in the same connection as the text, so no file is made for it, and the chat shows it only as a thumbnail until it ends. A file you drop is read, never copied.
Can I ask about text I selected in another app?
Yes. Select text anywhere, then right-click ▸ Services ▸ Ask cl_quick (also the app menu ▸ Services). The bar opens with the selection in the field as a quote, ready to edit and not sent, and your question goes under it. Text already in the field stays above the quote, and a selection over 20,000 characters is cut there, with a line saying so. A keyboard shortcut for it can be set in System Settings ▸ Keyboard ▸ Keyboard Shortcuts ▸ Services.
It needs no Accessibility permission, because macOS hands the selection over. Nothing about it is kept.
Which keys work in the chat?
Return sends, Shift-Return adds a line, Esc or ⌘W hides the chat, ⌘N starts a new chat and ⌘D turns Dictation on and off. The keys button in the row under the field opens a list of the shortcuts: the ⌥⌘ arrow keys, the label halves, Return, ⇧Return, ⌘N, ⌘D, Esc and ⌘W, and the shortcut that opens cl_quick. A click elsewhere or Esc closes it. Answers stream in as Markdown, and code blocks have Copy.
Can I move or resize the chat window?
Yes. The window resizes from its edges and corners, and moves from any empty area of it (the header, the gaps around and between answers). The field, the buttons and the controls never move it.