Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions docs/src/content/docs/reference/github-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,25 @@ tools:
min-integrity: approved
```

### Safe Outputs Integration

When you configure `repos` as an array of specific repository patterns, the compiler automatically derives a linked guard-policy for the [safe outputs](/gh-aw/reference/safe-outputs/) MCP server. Each entry in the `repos` list is added as a `private` accept entry in the safeoutputs policy, allowing the MCP gateway to read private repository data through the GitHub tools and still write outputs via safeoutputs.

This derivation happens at compile time and requires no additional configuration. If you use `repos: "all"` or `repos: "public"`, no safeoutputs guard-policy is derived.
Comment on lines +149 to +151
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Safe Outputs guard-policy derivation described here doesn’t match the compiler behavior. In deriveSafeOutputsGuardPolicyFromGitHub (pkg/workflow/mcp_github_config.go), every GitHub repos value that enables guard-policies results in a safeoutputs write-sink.accept entry prefixed with private: (e.g., private:myorg/private-repo), and repos: "all" / repos: "public" map to accept: ["private:*"] rather than producing no derived policy. Please update this section to describe the private:<pattern>/private:* behavior accurately.

This issue also appears on line 162 of the same file.

Copilot uses AI. Check for mistakes.

```yaml wrap
tools:
github:
mode: remote
toolsets: [default]
repos:
- "myorg/private-repo" # automatically added to safeoutputs guard-policy
- "myorg/another-repo" # automatically added to safeoutputs guard-policy
min-integrity: approved
safe-outputs:
create-issue: # safe outputs can write to the guard-policy repos
```

## Lockdown Mode for Public Repositories

Lockdown Mode is a security feature that filters public repository content to only show issues, PRs, and comments from users with push access. Automatically enabled for public repositories when using custom tokens. See [Lockdown Mode](/gh-aw/reference/lockdown-mode/) for complete documentation.
Expand Down
Loading