Skip to main content


These are the flags/commands under buck2 cquery and their --help output:

buck cquery

Perform queries on the configured target graph

The configured target graph includes information about the configuration
(platforms) and transitions involved in building targets. In the
configured graph, `selects` are fully resolved. The same target may
appear in multiple different configurations (when printed, the
configuration is after the target in parentheses).

A user can specify a `--target-universe` flag to control how literals
are resolved. When provided, any literals will resolve to all
matching targets within the universe (which includes the targets
passed as the universe and all transitive deps of them). When not
provided, we implicitly set the universe to be rooted at every
target literal in the `cquery`.

Run `buck2 docs cquery` or
for more documentation about the functions available in cquery


Print all the attributes of a target

`buck2 cquery //java/com/example/app:amazing --output-all-attributes`

List the deps of a target (special characters in a target will
require quotes):

`buck2 cquery 'deps("//java/com/example/app:amazing+more")'`

Usage: buck2-release cquery [OPTIONS] <QUERY> [QUERY_ARGS]...

the query to evaluate

list of literals for a multi-query (one containing `%s` or `%Ss`)

-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

Output in JSON format

Output in Graphviz Dot format

Output in a more compact format than Graphviz Dot

--output-format <dot|dot_compact|json|starlark>
Output format (default: list).

dot - dot graph format.

dot_compact - compact alternative to dot format.

json - JSON format.

starlark - targets are printed like starlark code that would produce them.

[possible values: dot, json, dot_compact, starlark]

Show the providers of the query result instead of the attributes and labels

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

--modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command

[possible values: never, always, ondifferentstate]

Starlark Options:
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance

Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

Disable console interactions


Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Starlark Profiling Options:
--profile-mode <PROFILE_MODE>
Profile target loading.

When this option is enabled, Buck will profile every `BUCK` file loaded during the query
and merge the results into a single profile. The command may return cached profile data if
`BUCK` files were not invalidated.

[possible values: time-flame, heap-flame-allocated, heap-flame-retained,
heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,
typecheck, coverage]

--profile-output <PROFILE_OUTPUT>
Where to write profile output

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend