Skip to content

CLI Commands

Reference for the grog CLI.

-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
-h, --help help for grog
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog build - Loads the user configuration and executes build targets.
  • grog build-and-test - Loads the user configuration and executes build and test targets.
  • grog changes - Lists targets whose inputs have been modified since a given commit.
  • grog check - Loads the build graph and runs basic consistency checks.
  • grog clean - Removes all cached artifacts.
  • grog deps - Lists (transitive) dependencies of a target.
  • grog graph - Outputs the target dependency graph.
  • grog info - Prints information about the grog cli and workspace.
  • grog list - Lists targets by pattern.
  • grog logs - Print the latest log file for the given target.
  • grog owners - Lists targets that own the specified files as inputs.
  • grog rdeps - Lists (transitive) dependants (reverse dependencies) of a target.
  • grog run - Builds and runs one or more targets’ binary outputs.
  • grog taint - Taints targets by pattern to force execution regardless of cache status.
  • grog test - Loads the user configuration and executes test targets.
  • grog traces - View and manage build execution traces.
  • grog version - Print the version info.

Loads the user configuration and executes build targets.

Loads the user configuration, checks which targets need to be rebuilt based on file hashes, builds the dependency graph, and executes targets.

grog build [flags]
grog build # Build all targets in the current package and subpackages
grog build //path/to/package:target # Build a specific target
grog build //path/to/package/... # Build all targets in a package and subpackages
-h, --help help for build
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Loads the user configuration and executes build and test targets.

Loads the user configuration, checks which targets need to be rebuilt based on file hashes, builds the dependency graph, and executes both build and test targets.

grog build-and-test [flags]
grog build-and-test # Build all targets and run all tests in the current package and subpackages
grog build-and-test //path/to/package:target # Build or test a specific target
grog build-and-test //path/to/package/... # Build all targets and run all tests in a package and subpackages
-h, --help help for build-and-test
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Lists targets whose inputs have been modified since a given commit.

Identifies targets that need to be rebuilt due to changes in their input files since a specified git commit. Can optionally include transitive dependents of changed targets to find all affected targets.

grog changes [flags]
grog changes --since=HEAD~1 # Show targets changed in the last commit
grog changes --since=main --dependents=transitive # Show targets changed since main branch, including dependents
grog changes --since=v1.0.0 --target-type=test # Show only test targets changed since git tag v1.0.0
--dependents string Whether to include dependents of changed targets (none or transitive) (default "none")
-h, --help help for changes
--since string Git ref (commit or branch) to compare against
--target-type string Filter targets by type (all, test, no_test, bin_output) (default "all")
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Loads the build graph and runs basic consistency checks.

Loads the build graph and performs the same consistency checks as ‘grog build’ without actually building anything.

grog check [flags]
grog check # Validate the build graph for consistency issues
-h, --help help for check
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Removes all cached artifacts.

Removes cached artifacts from the workspace or the entire grog cache. By default, only the workspace-specific cache is cleaned. Use the —expunge flag to remove all cached artifacts.

grog clean [flags]
grog clean # Clean the workspace cache
grog clean --expunge # Clean the entire grog cache
-e, --expunge Expunge all cached artifacts
-h, --help help for clean
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Lists (transitive) dependencies of a target.

Lists the direct or transitive dependencies of a specified target. By default, only direct dependencies are shown. Use the —transitive flag to show all transitive dependencies. Dependencies can be filtered by target type using the —target-type flag.

grog deps [flags]
grog deps //path/to/package:target # Show direct dependencies
grog deps -t //path/to/package:target # Show transitive dependencies
grog deps --target-type=test //path/to/package:target # Show only test dependencies
-h, --help help for deps
--target-type string Filter targets by type (all, test, no_test, bin_output) (default "all")
-t, --transitive Include all transitive dependencies of the target
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Outputs the target dependency graph.

Visualizes the dependency graph of targets in various formats. Supports tree, JSON, and Mermaid diagram output formats. By default, only direct dependencies are shown.

grog graph [flags]
grog graph # Show dependency tree for all targets
grog graph //path/to/package:target # Show dependencies for a specific target
grog graph -o mermaid //path/to/package:target # Output as Mermaid diagram
grog graph -t //path/to/package:target # Include transitive dependencies
-h, --help help for graph
-m, --mermaid-inputs-as-nodes Render inputs as nodes in mermaid graphs.
-o, --output string Output format. One of: tree, json, mermaid. (default "tree")
-t, --transitive Include all transitive dependencies of the selected targets.
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Prints information about the grog cli and workspace.

Displays detailed information about the grog CLI configuration, workspace settings, and cache statistics.

grog info [flags]
grog info # Show all grog information
grog info --version # Show only the version information
-h, --help help for info
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Lists targets by pattern.

Lists targets that match the specified pattern. If no pattern is specified only lists the targets in the current workspace. Can filter targets by type using the —target-type flag.

grog list [flags]
grog list # List all targets in the current package
grog list //path/to/package:target # List a specific target
grog list //path/to/package/... # List all targets in a package and subpackages
grog list --target-type=test # List only test targets
-h, --help help for list
--target-type string Filter targets by type (all, test, no_test, bin_output) (default "all")
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Print the latest log file for the given target.

Displays the contents of the most recent log file for a specified target. Use the —path-only flag to only print the path to the log file instead of its contents.

grog logs [flags]
grog logs //path/to/package:target # Show log contents
grog logs -p //path/to/package:target # Show only the log file path
-h, --help help for logs
-p, --path-only Only print out the path of the target logs
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Lists targets that own the specified files as inputs.

Identifies and lists all targets that include the specified files as inputs. This is useful for finding which targets will be affected by changes to specific files.

grog owners [flags]
grog owners path/to/file.txt # Find targets that use a specific file
grog owners path/to/file1.txt path/to/file2.txt # Find targets that use any of the specified files
-h, --help help for owners
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Lists (transitive) dependants (reverse dependencies) of a target.

Lists the direct or transitive dependants (reverse dependencies) of a specified target. By default, only direct dependants are shown. Use the —transitive flag to show all transitive dependants. Dependants can be filtered by target type using the —target-type flag.

grog rdeps [flags]
grog rdeps //path/to/package:target # Show direct dependants
grog rdeps -t //path/to/package:target # Show transitive dependants
grog rdeps --target-type=test //path/to/package:target # Show only test dependants
-h, --help help for rdeps
--target-type string Filter targets by type (all, test, no_test, bin_output) (default "all")
-t, --transitive Include all transitive dependants of the target
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Builds and runs one or more targets’ binary outputs.

Builds targets that produce binary outputs and then executes them with the provided arguments. Use ”—” to separate the list of targets from the arguments passed to the binaries.

grog run [flags]
grog run //path/to/package:target -- arg1 arg2 # Run with arguments
grog run //path/to/package:target //path:other -- # Run multiple targets
grog run -i //path/to/package:target -- arg1 arg2 # Run in the package directory
-h, --help help for run
-i, --in-package Run the target in the package directory where it is defined.
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Taints targets by pattern to force execution regardless of cache status.

Marks specified targets as “tainted”, which forces them to be rebuilt on the next build command, regardless of whether they would normally be considered up-to-date according to the cache. This is useful when you want to force a rebuild of specific targets.

grog taint [flags]
grog taint //path/to/package:target # Taint a specific target
grog taint //path/to/package/... # Taint all targets in a package and subpackages
grog taint //path/to/package:* # Taint all targets in a package
-h, --help help for taint
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Loads the user configuration and executes test targets.

Loads the user configuration, checks which targets need to be rebuilt based on file hashes, builds the dependency graph, and executes test targets.

grog test [flags]
grog test # Run all tests in the current package and subpackages
grog test //path/to/package:test # Run a specific test
grog test //path/to/package/... # Run all tests in a package and subpackages
-h, --help help for test
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

View and manage build execution traces.

View, analyze, and export build execution traces for performance analysis and dashboard integration.

-h, --help help for traces
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)

Export traces for dashboard integration.

grog traces export [flags]
grog traces export --format=jsonl
grog traces export --format=otel --output traces.json
--format string Export format: jsonl or otel (default "jsonl")
-h, --help help for export
--limit int Maximum number of traces to export (0 = all)
--output string Output file (default: stdout)
--since string Only export traces after this date (YYYY-MM-DD)
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog traces - View and manage build execution traces.

List recent build traces.

grog traces list [flags]
grog traces list
grog traces list --limit 50
grog traces list --since 2026-03-01 --command build
grog traces list --failures-only
--command string Filter by command type (build, test, run)
--failures-only Only show traces with failures
-h, --help help for list
--limit int Maximum number of traces to display (default 20)
--since string Only show traces after this date (YYYY-MM-DD)
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog traces - View and manage build execution traces.

Delete traces older than a specified duration.

grog traces prune [flags]
grog traces prune --older-than 30d
grog traces prune --older-than 7d
-h, --help help for prune
--older-than string Delete traces older than this duration (e.g. 30d, 72h) (default "30d")
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog traces - View and manage build execution traces.

Download remote traces to local cache for querying.

grog traces pull [flags]
grog traces pull
-h, --help help for pull
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog traces - View and manage build execution traces.

Show details of a specific trace.

grog traces show <trace-id> [flags]
grog traces show a1b2c3d4
grog traces show a1b2c3d4 --sort-by command --top 10
-h, --help help for show
--sort-by string Sort targets by: total, command, queue, hash (default "total")
--top int Show only the N slowest targets (0 = all)
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog traces - View and manage build execution traces.

Show aggregate statistics across recent traces.

grog traces stats [flags]
grog traces stats
grog traces stats --command-type build
grog traces stats --ci true
grog traces stats --detailed --command-type test
--ci string Filter by CI origin (true, false, all) (default "all")
--command-type string Filter by build command type (build, test, all) (default "all")
--detailed Load full traces for per-target analysis
-h, --help help for stats
--limit int Number of recent traces to aggregate (default 20)
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)
  • grog traces - View and manage build execution traces.

Print the version info.

Displays the current version of the grog CLI tool.

grog version [flags]
grog version # Show the version information
-h, --help help for version
-a, --all-platforms Select all platforms (bypasses platform selectors)
--async-cache-writes Defer cache writes to background I/O workers during the build (default true)
--color string Set color output (yes, no, or auto) (default "auto")
--debug Enable debug logging
--disable-default-shell-flags Do not prepend "set -eu" to target commands
--disable-progress-tracker Disable progress tracking updates
--disable-tea Disable interactive TUI (Bubble Tea)
--enable-cache Enable cache (default true)
--exclude-tag strings Exclude targets by tag. Can be used multiple times. Example: --exclude-tag=foo --exclude-tag=bar
--fail-fast Fail fast on first error
--load-outputs string Level of output loading for cached targets. One of: all, minimal. (default "all")
--log-level string Set log level (trace, debug, info, warn, error)
--platform string Force a specific platform in the form os/arch
--profile string Select a configuration profile to use
--skip-workspace-lock Skip the workspace level lock (DANGEROUS: may corrupt the cache)
--stream-logs Forward all target build/test logs to stdout/-err
--tag strings Filter targets by tag. Can be used multiple times. Example: --tag=foo --tag=bar
-v, --verbose count Set verbosity level (-v, -vv)