The compiled Write Safe Outputs Tools step emits a single run: block containing the full tools.json (>25KB for workflows with many safe-output tools). This block becomes subject to GitHub's 21KB expression-size limit when tool descriptions embed ${{ }}. For example if the target is a templated config — e.g. "Target: ${{ inputs.target-pr-number || 'triggering' }}" in the add_comment description.
A single ${{ }} expression anywhere in the block makes the entire block subject to the 21kb limit, even though the rest is static text.
Reproduction: Any workflow with ≥6 safe-output tool types where target: uses a ${{ }} expression.