CmdQ Docs 한국어

CmdQ

macOS · Developer tool

One queue instead of
a pile of claude windows

No more keeping a terminal open per project and flipping between them to see what's done. Queue up Claude Code tasks across your projects. Different projects run side by side, tasks in the same project run in order, and anything that hits the usage limit picks up in the same session after the reset.

Requires macOS 12 or later and the Claude Code CLI, installed and logged in. CmdQ runs the official CLI and never calls Claude on its own.

Why CmdQ

Your Claude Code work keeps moving when you're not at the keyboard.

I built this after trying to clear a backlog across a few projects with a claude terminal open for each. The more windows I had, the more I lost track of which ones were done and which were waiting on me. So I put it all in one queue.

This is the real app. A task that hits a usage limit waits for the reset, then continues in the same session. The clip also covers chains and interactive terminals. (About 1 minute)

① Several projects at once

Before
One window per project, and you keep checking which one is done.
With CmdQ
Projects run side by side, and each project's tasks run in order. Link a follow-up as a chain and it runs when the first task is done.

② Usage-limit downtime

Before
Work stops at the limit, and you come back later to type the command again.
With CmdQ
The task moves to Waiting for reset and continues in the same session after the reset.

③ To-dos in your head

Before
You keep the next command in mind or on a sticky note.
With CmdQ
Park it in To Do and promote it to the Auto queue when it's ready.

Claude Code's own extensions, such as hooks and plugins, work inside a running session. Restarting a session that stopped at a limit, ordering work across projects, and showing remaining usage and progress in the menu bar all happen outside the session. That is the part CmdQ handles. It works alongside those extensions and doesn't replace them.

Get started in 3 minutes

Already installed the Claude Code CLI and logged in? Skip to step 2.

1

Install the Claude Code CLI and log in

Use one of the first three commands and check that claude --version prints a version number. Then run claude once and log in with your Claude account. Without a login, queued tasks don't run and usage isn't shown.

curl -fsSL https://claude.ai/install.sh | bash
brew install --cask claude-code
npm install -g @anthropic-ai/claude-code
claude --version
claude
2

Install CmdQ and open it

Move CmdQ from the DMG to Applications and open it. On first launch you'll see this notice. Nothing runs until you click Agree and start.

Queued tasks run Claude Code with --dangerously-skip-permissions. Claude Code will read, write, and delete files and run commands in the target folder without asking you first. Review what you queue, keep your work under version control, and use this app only on folders you are willing to let it change. You are responsible for the results of the tasks you run.

3

Add your first task

Click + Folder to open a project tab and type a command. Enter adds it to To Do, and ⌘Enter adds it to the auto queue. Type / to pick one of your skills.

How it works

Auto queue and To Do

The auto queue runs from the top down: one task at a time per project, up to three projects at once by default. To Do holds work that never runs on its own until you promote it.

Path, Session, Interactive

Path starts a new session in a project folder. Session continues an existing conversation. Interactive opens a terminal where you talk to Claude directly.

Chains

Drag a task under another to chain it. The child runs in the parent's session after the parent finishes, and doesn't run if the parent fails.

When you hit a limit

Running tasks and terminals switch to Waiting for reset and continue in the same session when the limit resets. An interactive terminal opened without a task resumes as a background terminal. The weekly limit works the same way.

Chains: details →

Limits: details →

Reading the screen

Item status
StatusMeaningWhat happens next
QueuedWaiting its turnStarts when the task ahead of it in the same path finishes
RunningClaude Code is working on itChanges to Done or Failed
Waiting for resetPaused at the usage limit (not a failure)Continues in the same session after the reset
DoneFinished normallyIts chained children run next
FailedEnded with an errorIts chained children don't run

Menu bar

The window header and the menu bar icon show 5-hour window and Weekly limit usage and the time to Next reset. Closing the window keeps CmdQ running in the menu bar. Choose Quit from the menu to stop it.

On the icon, a red dot means unread notifications, yellow means a task is waiting for the reset, and green means something is running.

Controls

Drag a task to change its order, or drag it to the right to chain it under the task above. Hover over any card button to see its name.

Common card buttons
ButtonWhat it does
▶Run now, promote a To Do task to the auto queue, or re-run a failed task
⏸Stop the run and move the task back to To Do
💬View the response
⌘Run interactively in the app's terminal
☆Add the session to bookmarks
🗑Delete the task right away, along with its chained children

Details →

Attachments

Attach files, links, and notes with the 📎 button or by dropping files on the window. Attachments belong to a session and every command in it can use them. Put [첨부] (the marker is Korean in every language) in a command to pass them to claude when it runs, or type # in the command box to pick specific ones.

Details →

Interactive terminal

When a task needs back-and-forth, click ⌘ on a card or choose Interactive as the target to open a terminal in the app. Run in background keeps it going after you close it, and ⇧⌘T lists the terminals still running. You get a notification when a terminal is waiting for input. Click the session label in the terminal header to copy its resume command.

Details →

Bookmarks

Click ☆ to pin a session you want to return to, and open the list with ⇧⌘B. A bookmark stays after you delete the original task, so you can reopen the session in a terminal at any time.

Details →

Settings

Open Settings with ⌘,. These are the ones you're most likely to change. Other settings are described on the Settings screen.

Common settings
SettingDescription
LanguageFollow System · 한국어 · English
ThemeDark (default) · Light
Terminal window widthDefault (up to 1000px) · Full width
Desktop notificationsNotifies you when a task finishes, hits a limit, fails, or waits for input
claude executableIf empty, CmdQ looks for ~/.local/bin/claude, then searches PATH
Auto-queue concurrent runsHow many projects the auto queue runs at once. Default 3
Concurrent runs per pathAutomatic plus manual runs in one project. Default 2. Use 1 if your tasks edit files
Start at loginOpens CmdQ when you log in so the auto queue keeps going

Shortcuts

Default shortcuts
ActionDefault
Add project⌘O
Close current tab⌘W
Activate left tab · Activate right tab⌥⌘← · ⌥⌘→
Select path · Select session · Select interactive⌃1 · ⌃2 · ⌃3
Show all⇧⌘A
Settings⌘,
Bookmarks⇧⌘B
Terminals⇧⌘T

You can reassign these in the Shortcuts group in Settings.

Settings: details →

Shortcuts: details →

Troubleshooting

Symptoms and fixes
SymptomFix
CmdQ says it can't find the CLIRun which claude in Terminal and enter that path in claude executable in Settings
A command can't find a tool such as nodeQuit CmdQ and add the tool's folder to claude.extra_paths in ~/Library/Application Support/com.doitasap.cmdq/config.toml
A task is stuck at “Waiting · the session is in use”Another terminal or task is using that session. Close it or wait for it to finish
Session history shows Session file not foundClaude Code deletes old sessions after its retention period (30 days by default). Use View the response to read CmdQ's log
macOS says the app is “damaged” or can't verify the developerRelease builds are signed and notarized. Download the app again from GitHub Releases
The interactive terminal goes blankPress ⇧⌘D to save a diagnostic file and attach it to an issue. It contains terminal output, so review it before sharing

Details →

How the app works

To comply with Anthropic's third-party policy, this section describes how CmdQ works.

What the app does

  • Runs the official Claude Code CLI installed on your computer
  • Schedules and orders tasks across your projects
  • Checks for new versions, downloading release information only
  • Only if you choose Connect when asked on first launch, points statusLine in ~/.claude/settings.json to a wrapper that reads usage (your existing statusline display stays; Later leaves the file alone)

What the app doesn't do

  • Access, store, or send credentials (OAuth tokens, API keys)
  • Send usage history, task content, or any user data anywhere
Authentication, network traffic, and Claude calls are all handled by the official Claude Code CLI. CmdQ only decides when and in what order to run it.

Privacy and supported platforms

No data is collected

Everything stays in ~/Library/Application Support/com.doitasap.cmdq/. Nothing is sent off your Mac or shared with third parties. See the Privacy Policy (Korean) for details.

Supported platforms

macOS 12 or later. For Windows or Linux support, let us know in a GitHub issue.