qbs run [options] [configuration-name] [property:value] ... [ -- <arguments>]


Runs the specified product's executable with the specified <arguments>. If the project has only one product, the --products option may be omitted.

The product will be built if it is not up to date, unless the --no-build option is specified. For more information, see build.

For more information about running applications, see Running Applications.



Processes all products, even if their builtByDefault property is false.

--build-directory|-d <directory>

Specifies a <directory> where build artifacts are stored.

The default value is the current directory unless preferences.defaultBuildDirectory is set.

Relative paths will be interpreted relative to the current directory.

You can use the following special values as placeholders:

  • @project is expanded to the name of the project file excluding the extension .qbs.
  • @path is expanded to the name of the directory containing the project file.

--changed-files <file>[,<file>...]

Assumes that the files specified by <file>, and only those files, have changed.


Forces transformer output artifact checks.

Verifies that the output artifacts declared by rules in the project are actually created.


Forces timestamp checks.

Retrieves the timestamps from the file system, instead of using the file timestamps that are stored in the build graph.


Removes the installation base directory before installing.

--command-echo-mode <mode>

Determines what kind of output to show when executing commands.

Possible values of <mode> are:

  • silent
  • summary (default value)
  • command-line
  • command-line-with-environment


Performs a dry run. No commands will be executed and no permanent changes to the build graph will be done.

[--file|-f <file>]

Uses <file> as the project file. If <file> is a directory and it contains a single file with the extension .qbs, that file will be used.

If this option is not given at all, the behavior is the same as for -f <working-dir>.


Forces re-execution of all Probe items' configure scripts, rather than using the cached data.


Removes the installation base directory before installing.

--jobs|-j <n>

Uses <n> concurrent build jobs, where <n> must be an integer greater than zero.

The default is the number of logical cores.


Keeps going when errors occur, if at all possible.


Becomes more quiet by decreasing the log level by one. This option can be given more than once. Excessive occurrences have no effect.

If the option --log-level appears anywhere on the command line in addition to this option, its value is taken as the base for the decrease.

--log-level <level>

Uses the specified log level.

Possible values of <level> are:

  • error
  • warning
  • info (default value)
  • debug
  • trace


Logs the time that the operations involved in this command take.

This option is implied in log levels debug and higher.

This option is mutually exclusive with --show-progress.


Becomes more verbose by increasing the log level by one. This option can be given more than once. Excessive occurrences have no effect.

If the option --log-level appears anywhere on the command line in addition to this option, its value is taken as the base for the increase.


Does not re-build the project before installing or running it.

--products|-p <name>[,<name>...]

Takes only the products specified by <name> and their dependencies into account.

--settings-dir <directory>

Reads all settings (such as profile information) from the specified <directory>. If the directory does not exist, it will be created.

The default value is system-specific. For example:

  • Linux: $HOME/.config/QtProject/qbs
  • Windows: %APPDATA%\QtProject\qbs
  • macOS: $HOME/Library/Preferences/qbs


A comma-separated list of strings. They will show up in the config parameter of all setupRunEnvironment scripts.


Waits indefinitely for other processes to release the build graph lock.

This option is typically used by generators, which may re-invoke multiple Qbs processes on the same project simultaneously.



Specifies the build configuration to use.

The debug and release configuration names imply the respective build variant. A debug build contains additional debug symbols that are needed for debugging the application but that can be left out from the release version. Generally, debug builds are used for testing and release builds for creating the final installation file.

The build variant can also be specified explicitly by using the qbs.buildVariant property.

When naming configurations created for special purposes, follow the rules for legal names generally used in programming languages:

  • The first character must be a letter (a-z), an underscore (_), or a dollar sign ($).
  • Subsequent characters may be letters, digits, underscores, or dollar signs.


Property values set in project files or profiles can be overridden on the command line. The syntax is:


For more information, see Overriding Property Values from the Command Line.


-- <arguments>

Command-line arguments to be passed to the program to be run.


Runs the Qt Creator application:

qbs run --products qtcreator

© 2018 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.