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"Action Mode (features.action-mode)
Section titled “Action Mode (features.action-mode)”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 withingithub/gh-aw(e.g.,uses: github/gh-aw/actions/setup@sha). Used for production workflows with version pinning. -
action: References custom actions from thegithub/gh-aw-actionsexternal 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 thegithub/gh-aw-actionsdistribution repository. -
script: Generates direct shell script calls instead of using GitHub Actionsuses:syntax. The compiler:- Checks out the
github/gh-awrepository’sactionsfolder to/tmp/gh-aw/actions-source - Runs the setup script directly:
bash /tmp/gh-aw/actions-source/actions/setup/setup.sh - Uses shallow clone (
depth: 1) for efficiency
- Checks out the
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 Workflowon: workflow_dispatchfeatures: 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:
- Injecting a dummy
COPILOT_API_KEYto trigger the AWF BYOK runtime path. - Implicitly enabling
cli-proxy. - Forcing the Copilot CLI to install at
latest(ignoring any pinnedengine.version). - Setting
COPILOT_MODELto${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }}— Copilot BYOK providers require a non-empty model, so the compiler provides thedefaultsentinel as the fallback whenGH_AW_MODEL_AGENT_COPILOTis 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.
[!IMPORTANT]
features.byok-copilotis deprecated and no longer needed. Existing workflows may still include it, but it has no effect.For Copilot BYOK setup and policy details, see Using your LLM provider API keys with Copilot.
[!NOTE] Copilot BYOK defaults apply only to
engine: copilotworkflows. Other engines are unchanged.
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: trueReaction-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: trueWhen 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.
DIFC Proxy (tools.github.integrity-proxy)
Section titled “DIFC Proxy (tools.github.integrity-proxy)”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 injectionWithout 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.
Related Documentation
Section titled “Related Documentation”- Frontmatter Reference — Complete frontmatter field reference
- AI Engines — Engine configuration including Copilot BYOK
- Integrity Filtering — Integrity levels, reactions, and DIFC proxy
- Network Permissions — Network access configuration