For developers only: get the full definition of the target currently running. This target definition is the same kind of object produced by tar_target().

  default = targets::tar_target_raw("target_name", quote(identity()))



Environment, value to return if tar_definition() is called on its own outside a targets pipeline. Having a default lets users run things without tar_make(), which helps peel back layers of code and troubleshoot bugs.


If called from a running target, tar_definition() returns the target object of the currently running target. See the "Target objects" section for details.


Most users should not use tar_definition() because accidental modifications could break the pipeline. tar_definition() only exists in order to support third-party interface packages, and even then the returned target definition is not modified..

Target objects

Functions like tar_target() produce target objects, special objects with specialized sets of S3 classes. Target objects represent skippable steps of the analysis pipeline as described at Please read the walkthrough at to understand the role of target objects in analysis pipelines.

For developers, explains target factories (functions like this one which generate targets) and the design specification at details the structure and composition of target objects.

See also

Other utilities: tar_cancel(), tar_envir(), tar_group(), tar_name(), tar_path(), tar_seed()


#> [1] "tar_stem" "tar_builder" "tar_target" "environment"
#> [1] "target_name"
if (identical(Sys.getenv("TAR_EXAMPLES"), "true")) { tar_dir({ # tar_dir() runs code from a temporary directory. tar_script( tar_target(x, tar_definition()$settings$memory, memory = "transient") ) tar_make(x) tar_read(x) }) }