Self-Contained Downloads

Share complex shortcuts as a single file. When a shortcut calls other shortcuts via “Run Shortcut” actions, Shortcuts Toolbox can inline all dependencies into one self-contained shortcut — no need to share each dependency separately.

The Problem

Apple Shortcuts lets you modularize workflows by calling other shortcuts with the “Run Shortcut” action. But when you want to share a shortcut that depends on others, the recipient needs to install every dependency individually. If a single piece is missing, the shortcut breaks. You can see exactly which shortcuts depend on which in the Dependency Graphs view.

The Solution

Download Self-Contained resolves the entire dependency tree and inlines each child shortcut’s actions directly into the parent. The result is a single, self-contained shortcut file that anyone can install and run without needing any of the original dependencies.

How It Works

1

Open a shortcut with dependencies

Navigate to any shortcut that calls other shortcuts. The Download Self-Contained button appears in the download dropdown menu.

2

Click Download Self-Contained

Shortcuts Toolbox walks the full dependency tree, inlines every child shortcut’s actions, and stitches the variable references together.

3

Share the file

The self-contained shortcut is automatically signed (see Shortcut Signing) and downloaded as a single .shortcut file ready to share.

What Happens Under the Hood

Dependency Tree Resolution

Recursively resolves all “Run Shortcut” actions, including grandchild dependencies, up to 10 levels deep. Circular dependencies are detected and skipped with a warning.

Variable Stitching

Input and output variable references are remapped at each boundary so data flows correctly between the inlined actions — just as it did when the shortcuts were separate.

UUID Remapping

Each inlined shortcut’s internal action UUIDs are regenerated to prevent collisions, while preserving all internal cross-references.

Variable Namespacing

Named variables from child shortcuts are prefixed with the child’s name (e.g., [Child] My Variable) to avoid collisions with the parent’s variables.

Limitations

  • Dynamic targets — If a “Run Shortcut” action determines its target from a variable at runtime, it cannot be inlined and will be left as-is
  • Self-referencing shortcuts — Recursive shortcut calls (a shortcut that calls itself) are skipped
  • Missing dependencies — If a dependency isn’t installed on the system, the “Run Shortcut” action is left unchanged

In all of these cases, the compose operation continues and produces a warning so you know exactly what couldn’t be inlined.

The Download Self-Contained button only appears in the download dropdown for shortcuts that have at least one “Run Shortcut” dependency.