Commands and flags
The full reference for qdeck arguments, flags, and subcommands.
For: developers.
Synopsis
qdeck [<target>] [--dry-run] [--yes] [--verbose] [--new-window] [--install-cli] [--uninstall-cli]
qdeck mcp install [<client>...]
qdeck mcp uninstall [<client>...]
qdeck mcp statusArguments
<target>
Optional. Path to scan, database URL, or SQLite file.
| Form | Behavior |
|---|---|
| Omitted | Scan the current directory |
. or any folder path | Scan that folder for an ORM config |
postgres://..., postgresql://..., mysql://..., mariadb://..., sqlite://... | Use the URL directly, skip detection |
something.db, something.sqlite, something.sqlite3 | Open the SQLite file directly |
Examples:
qdeck # scan current directory
qdeck ./apps/api # scan a subfolder
qdeck postgres://u:p@h:5432/db # direct URL
qdeck ./data.sqlite # SQLite fileFlags
--dry-run
Show what would be detected without sending anything to the app. Useful in scripts or to check what qdeck sees before committing.
qdeck --dry-run-y, --yes
Skip the confirmation prompt. The connection opens straight away.
qdeck --yesCombine with a CI hook to launch a connected QueryDeck after a git pull:
git pull && qdeck --yes-v, --verbose
Show the full detection trace: which detectors ran, which files were inspected, which env vars were resolved.
qdeck --verboseIf detection misbehaves, run with --verbose --dry-run and attach the output to your bug report.
--new-window
Force a new QueryDeck window even if the app is already running with a window open. Without this flag, qdeck reuses an existing window when possible.
qdeck --new-window--install-cli
Create the /usr/local/bin/qdeck symlink that points to the binary inside the app bundle. Run once after installing QueryDeck.
qdeck --install-cliYou can also install from Settings → Tools in the app, which has the same effect.
--uninstall-cli
Remove the symlink. Useful if you're upgrading QueryDeck or moving the app.
qdeck --uninstall-cliSubcommand: mcp
The mcp subcommand manages MCP server installation for AI editors. See MCP install for the long form. The reference is:
qdeck mcp install [<client>...]
Install the MCP server config in one or more AI editor clients. Without arguments, installs into every detected client.
qdeck mcp install # install in all detected clients
qdeck mcp install claude # only Claude Desktop
qdeck mcp install claude-code cursor # specific listSupported clients: claude (Claude Desktop), claude-code, cursor, windsurf. See MCP install for full list and config paths.
qdeck mcp uninstall [<client>...]
Remove the MCP server config from one or more clients.
qdeck mcp uninstall claude
qdeck mcp uninstall # remove from all clientsqdeck mcp status
Show the install state of the MCP binary and every detected client.
qdeck mcp statusOutput:
Binary: /usr/local/bin/querydeck-mcp
App: running, socket ready
Clients:
Claude Desktop: configured ✓
Claude Code: configured ✓
Cursor: installed (not configured)
Windsurf: not installedGlobal behavior
Confirmation prompt
By default, qdeck shows what it detected and asks you to confirm before opening QueryDeck. Press Y or Enter to confirm, N to abort.
The detection summary includes the ORM, the database URL with the password redacted, the config file path, and the environment classification (local/staging/production).
To skip the prompt entirely, use --yes.
The app socket
qdeck communicates with the QueryDeck app via a Unix socket at ~/Library/Application Support/QueryDeck/cli.sock. The app starts listening on the socket the first time it launches.
If the app isn't running, qdeck will launch it for you. The launch takes about 1 second on Apple Silicon.
If the socket is stuck (rare), force-quit QueryDeck and try again.
Exit codes
| Code | Meaning |
|---|---|
0 | Success |
1 | Unknown error |
2 | No database config found |
3 | App not installed or not reachable |
4 | User declined the confirmation prompt |
5 | License blocks the CLI (trial expired) |