| command | Command to execute (for example: build, check, clippy, doc, setup, exec) | no | build |
| target | Rust target triple(s) to build for (newline-separated recommended, comma-separated also supported) | no | "" |
| targets | Rust target triple(s) to build for (newline-separated recommended, comma-separated also supported) | no | "" |
| profile | Build profile (debug or release) | no | release |
| features | Comma-separated list of features to activate | no | — |
| no-default-features | Do not activate default features | no | false |
| all-features | Activate all available features | no | false |
| package | Package to build (workspace member) | no | — |
| exclude | Exclude packages from the build (must be used with workspace) | no | — |
| bin | Binary target to build | no | — |
| workspace | Build all workspace members | no | false |
| manifest-path | Path to Cargo.toml | no | — |
| source-dir | The directory containing the Rust project to build | no | — |
| working-directory | The directory containing the Rust project to build, default is github.workspace | no | — |
| github-proxy-mirror | GitHub proxy mirror URL for downloading cross compilers | no | — |
| cross-compiler-dir | Directory to store cross compilers | no | — |
| ndk-version | Android NDK version for Android builds (e.g., r27d, r29). Leave empty for default version (r27d LTS) | no | — |
| glibc-version | Glibc version for GNU targets (e.g., 2.31, 2.42). Leave empty for default version | no | — |
| iphone-sdk-version | iPhone SDK version for iOS targets (e.g., 17.0, 18.2, 26.2). On non-macOS uses bundled SDKs, on macOS uses installed Xcode SDK. Leave empty for default version (26.2) | no | — |
| iphone-sdk-path | Override iPhoneOS SDK path for device targets (skips version lookup). Only for native macOS builds | no | — |
| iphone-simulator-sdk-path | Override iPhoneSimulator SDK path for simulator targets (skips version lookup). Only for native macOS builds | no | — |
| macos-sdk-version | macOS SDK version for Darwin targets (e.g., 14.0, 15.2, 26.2). On non-macOS uses bundled SDKs, on macOS uses installed Xcode SDK. Leave empty for default version (26.2) | no | — |
| macos-sdk-path | Override macOS SDK path directly (skips version lookup). Only for native macOS builds | no | — |
| freebsd-version | FreeBSD version for FreeBSD targets (13 or 14). Default is 13 | no | — |
| qemu-version | QEMU version for Linux cross-compilation runner | no | v10.2.0-rc1 |
| cross-make-version | Cross-compiler make version (e.g., v0.7.7). Leave empty for default version (v0.7.7) | no | — |
| use-default-linker | Use the default system linker for cross-compilation (deprecated, use no-toolchain-setup instead) | no | — |
| no-toolchain-setup | Skip downloading and configuring cross-compilation toolchain | no | false |
| init-runner | Initialize target runner variables for setup/exec commands | no | false |
| cc | Force set the C compiler | no | — |
| cxx | Force set the C++ compiler | no | — |
| ar | Force set the archiver for target | no | — |
| linker | Force set the linker for target | no | — |
| cflags | C compiler flags (cc crate) | no | — |
| cxxflags | C++ compiler flags (cc crate) | no | — |
| cxxstdlib | C++ standard library to link against (cc crate) | no | — |
| rustc-wrapper | Compiler wrapper for caching tools like sccache, ccache, etc. | no | — |
| enable-sccache | Enable sccache for compilation caching (automatically sets rustc-wrapper) | no | false |
| sccache-dir | Sccache local cache directory | no | — |
| sccache-cache-size | Maximum sccache cache size (e.g., 2G, 10G) | no | — |
| sccache-idle-timeout | Sccache daemon idle timeout in seconds (0 for permanent) | no | — |
| sccache-log | Sccache log level (error, warn, info, debug, trace) | no | — |
| sccache-no-daemon | Disable sccache background daemon | no | false |
| sccache-direct | Enable sccache preprocessor caching | no | false |
| sccache-s3-bucket | S3 bucket name for sccache storage | no | — |
| sccache-s3-endpoint | S3 endpoint for sccache (e.g., for R2, MinIO) | no | — |
| sccache-s3-region | S3 region for sccache | no | — |
| sccache-redis-endpoint | Redis endpoint URL for sccache | no | — |
| sccache-gcs-bucket | Google Cloud Storage bucket for sccache | no | — |
| sccache-azure-connection-string | Azure storage connection string for sccache | no | — |
| sccache-gha-enabled | Enable GitHub Actions cache backend for sccache | no | false |
| cc-no-defaults | Disable default cc crate compiler flags (sets CRATE_CC_NO_DEFAULTS) | no | false |
| cc-shell-escaped-flags | Parse *FLAGS variables using shell argument parsing rules (cc crate) | no | false |
| cc-enable-debug | Enable cc crate debug output to see compiler commands | no | false |
| rustflags | Additional rustflags | no | — |
| static-crt | [DEPRECATED: Use crt-static instead] Control CRT linking mode: 'true' for static (+crt-static), 'false' for dynamic (-crt-static), empty for default behavior | no | "" |
| crt-static | Control CRT linking mode: 'true' for static (+crt-static), 'false' for dynamic (-crt-static), empty for default behavior | no | "" |
| panic-immediate-abort | Enable panic=immediate-abort strategy (adds -Zunstable-options -Cpanic=immediate-abort, enables build-std). This is a real panic strategy since nightly-2025-09-24, can also be set via `panic = "immediate-abort"` in Cargo.toml | no | "" |
| build-std | Use -Zbuild-std for building standard library from source (true for default, or specify crates like 'core,alloc') | no | false |
| build-std-features | Features to enable for -Zbuild-std (e.g., panic_immediate_abort, optimize_for_size) | no | — |
| clean-cache | Clean build cache before building | no | false |
| no-strip | Do not strip binaries | no | false |
| verbose | Verbose level (0-4, or 'true' for level 1) | no | 0 |
| show-all-targets | Show all supported targets and exit | no | false |
| args | Additional arguments to pass to the underlying cargo command | no | — |
| cargo-args | Additional arguments to pass to the underlying cargo command | no | — |
| passthrough-args | Arguments to pass after -- (e.g., for cargo test: --show-output) | no | — |
| cross-args | Additional cargo-cross arguments appended after the command | no | — |
| toolchain | Rust toolchain to use (stable, nightly, etc.) | no | — |
| cargo-trim-paths | Set CARGO_TRIM_PATHS environment variable for reproducible builds | no | — |
| trim-paths | Set CARGO_TRIM_PATHS environment variable for reproducible builds | no | — |
| no-embed-metadata | Add -Zno-embed-metadata flag to cargo | no | false |
| rustc-bootstrap | Set RUSTC_BOOTSTRAP environment variable (1 for all crates, -1 for stable behavior, or crate_name for specific crate) | no | — |
| target-dir | Directory for all generated artifacts | no | — |
| bins | Build all binary targets | no | false |
| lib | Build only the library target | no | false |
| example | Example target to build | no | — |
| examples | Build all example targets | no | false |
| test | Integration test to build | no | — |
| tests | Build all test targets | no | false |
| bench | Benchmark target to build | no | — |
| benches | Build all benchmark targets | no | false |
| all-targets | Build all targets (equivalent to --lib --bins --tests --benches --examples) | no | false |
| release | Build optimized artifacts with the release profile | no | false |
| quiet | Do not print cargo log messages | no | false |
| message-format | The output format for diagnostic messages | no | — |
| ignore-rust-version | Ignore rust-version specification in packages | no | false |
| locked | Asserts that exact same dependencies are used as Cargo.lock | no | false |
| offline | Prevents Cargo from accessing the network | no | false |
| frozen | Equivalent to specifying both --locked and --offline | no | false |
| lockfile-path | Path to Cargo.lock (unstable, requires nightly) | no | — |
| jobs | Number of parallel jobs to run | no | — |
| keep-going | Build as many crates as possible, don't abort on first failure | no | false |
| future-incompat-report | Displays a future-incompat report for warnings | no | false |
| artifact-dir | Copy final artifacts to this directory (unstable, requires nightly) | no | — |
| color | Control when colored output is used (auto, always, never) | no | — |
| build-plan | Outputs a series of JSON messages (unstable, requires nightly) | no | false |
| timings | Output information about compilation timing | no | — |
| cargo-cwd | Change current working directory before executing | no | — |
| skip-cache | Skip cache for cargo-cross binary (always build from source) | no | false |