GitHub Agentic Workflows

Feature Flags

The features: frontmatter field enables experimental or optional compiler and runtime behaviors as key-value pairs.

features:
my-experimental-feature: true
action-mode: "script"

Controls how the workflow compiler generates custom action references in compiled workflows. Can be set to "dev", "release", "action", or "script".

features:
action-mode: "script"

Available modes:

  • dev (default): References custom actions using local paths (e.g., uses: ./actions/setup). Best for development and testing workflows in the gh-aw repository.

  • release: References custom actions using SHA-pinned remote paths within github/gh-aw (e.g., uses: github/gh-aw/actions/setup@sha). Used for production workflows with version pinning.

  • action: References custom actions from the github/gh-aw-actions external repository at the same release version (e.g., uses: github/gh-aw-actions/setup@sha). Uses SHA pinning when available, with a version-tag fallback. Use this when deploying workflows from the github/gh-aw-actions distribution repository.

  • script: Generates direct shell script calls instead of using GitHub Actions uses: syntax. The compiler:

    1. Checks out the github/gh-aw repository’s actions folder to /tmp/gh-aw/actions-source
    2. Runs the setup script directly: bash /tmp/gh-aw/actions-source/actions/setup/setup.sh
    3. Uses shallow clone (depth: 1) for efficiency

When to use script mode:

  • Testing custom action scripts during development
  • Debugging action installation issues
  • Environments where local action references are not available
  • Advanced debugging scenarios requiring direct script execution

Example:

---
name: Debug Workflow
on: workflow_dispatch
features:
action-mode: "script"
permissions:
contents: read
---
Debug workflow using script mode for custom actions.

Note: The action-mode can also be overridden via the CLI flag --action-mode or the environment variable GH_AW_ACTION_MODE. The precedence is: CLI flag > feature flag > environment variable > auto-detection.

Copilot BYOK Mode (Default for engine: copilot)

Section titled “Copilot BYOK Mode (Default for engine: copilot)”

Copilot offline Bring Your Own Key (BYOK) behavior is now the default for engine: copilot, bundling four behaviors:

  1. Injecting a dummy COPILOT_API_KEY to trigger the AWF BYOK runtime path.
  2. Implicitly enabling cli-proxy.
  3. Forcing the Copilot CLI to install at latest (ignoring any pinned engine.version).
  4. Setting COPILOT_MODEL to ${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }} — Copilot BYOK providers require a non-empty model, so the compiler provides the default sentinel as the fallback when GH_AW_MODEL_AGENT_COPILOT is not set.

No feature flag is required.

To use a different model, set the GH_AW_MODEL_AGENT_COPILOT repository variable. The compiled workflow uses ${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }} for COPILOT_MODEL.

AWF Failure Diagnostics (features.awf-diagnostic-logs)

Section titled “AWF Failure Diagnostics (features.awf-diagnostic-logs)”

Enables AWF Docker operational diagnostics collection on failure by adding --diagnostic-logs to AWF runtime arguments.

When enabled, AWF includes failure diagnostics under the diagnostics/ subdirectory in the firewall-audit-logs artifact (for example, container logs, exit codes, mount metadata, and sanitized compose configuration).

features:
awf-diagnostic-logs: true

Reaction-based Trust Signals (features.integrity-reactions)

Section titled “Reaction-based Trust Signals (features.integrity-reactions)”

Enables maintainers to promote or demote content past the integrity filter using GitHub reactions (, , , ), without adding labels or modifying issue state. Available from gh-aw v0.68.2.

features:
integrity-reactions: true

When set, the compiler automatically enables the CLI proxy (required to identify reaction authors) and injects default endorsement and disapproval reaction configuration. Only the features.integrity-reactions flag is required — the reaction fields under tools.github (endorsement-reactions, disapproval-reactions, endorser-min-integrity, disapproval-integrity) are optional overrides.

See Promoting and demoting items via reactions in the Integrity Filtering Reference for complete configuration details.

Controls DIFC (Data Integrity and Flow Control) proxy injection. When tools.github.min-integrity is configured, the compiler inserts proxy steps around the agent that enforce integrity-level isolation at the network boundary. The proxy is enabled by default — set integrity-proxy: false to opt out.

tools:
github:
min-integrity: approved
# integrity-proxy: false # uncomment to disable proxy injection

Without min-integrity, integrity-proxy has no effect. When both are configured, the proxy enforces network-boundary integrity filtering in addition to the MCP gateway-level filtering. Set integrity-proxy: false when you only need gateway-level filtering.