-
Notifications
You must be signed in to change notification settings - Fork 135
[docs] Unbloat common-issues.md troubleshooting documentation #14994
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -11,42 +11,29 @@ This reference documents frequently encountered issues when working with GitHub | |||||
|
|
||||||
| ### Extension Installation Fails | ||||||
|
|
||||||
| If `gh extension install github/gh-aw` fails with authentication or permission errors (common in Codespaces outside the githubnext organization), use the standalone installer: | ||||||
| If `gh extension install github/gh-aw` fails with authentication or permission errors, use the standalone installer: | ||||||
|
|
||||||
| ```bash wrap | ||||||
| curl -sL https://raw.githubusercontent.com/github/gh-aw/main/install-gh-aw.sh | bash | ||||||
| ``` | ||||||
|
|
||||||
| After installation, the binary is installed to `~/.local/share/gh/extensions/gh-aw/gh-aw` and can be used with `gh aw` commands just like the extension installation. | ||||||
|
|
||||||
| > [!NOTE] | ||||||
| > The install script works in restricted network environments (like GitHub Copilot agent runtime or corporate networks with MITM proxies) by using GitHub's "latest" release redirect, which doesn't require API access. Simply run the script without specifying a version to install the latest release. | ||||||
| The installer works in restricted networks (Codespaces, MITM proxies) and installs to `~/.local/share/gh/extensions/gh-aw/gh-aw`. | ||||||
|
|
||||||
| ### Install Specific Version | ||||||
|
|
||||||
| To install a specific version, pass the version tag as an argument: | ||||||
| Install specific versions by passing the version tag as an argument. Find available versions at the [releases page](https://github.com/github/gh-aw/releases). | ||||||
|
|
||||||
| ```bash wrap | ||||||
| curl -sL https://raw.githubusercontent.com/github/gh-aw/main/install-gh-aw.sh | \ | ||||||
| bash -s -- v0.40.0 | ||||||
| curl -sL https://raw.githubusercontent.com/github/gh-aw/main/install-gh-aw.sh | bash -s -- v0.40.0 | ||||||
| ``` | ||||||
|
|
||||||
| Find available versions at the [releases page](https://github.com/github/gh-aw/releases). | ||||||
|
|
||||||
| ### Extension Not Found After Installation | ||||||
|
|
||||||
| If you installed the extension but `gh aw` command is not found: | ||||||
|
|
||||||
| 1. Verify installation: `gh extension list` | ||||||
| 2. If not listed, reinstall: `gh extension install github/gh-aw` | ||||||
| 3. If issues persist, use the standalone installer (see above) | ||||||
| Verify installation with `gh extension list`. If not listed, reinstall with `gh extension install github/gh-aw` or use the standalone installer. | ||||||
|
|
||||||
| ### Codespace Authentication Issues | ||||||
|
|
||||||
| GitHub Codespaces may have limited permissions for installing GitHub CLI extensions. If you encounter authentication errors: | ||||||
|
|
||||||
| 1. Try the standalone installer (recommended for Codespaces) | ||||||
| 2. Or grant additional permissions to your Codespace token | ||||||
| GitHub Codespaces may have limited permissions for installing extensions. Try the standalone installer (recommended) or grant additional permissions to your Codespace token. | ||||||
|
|
||||||
| ## Organization Policy Issues | ||||||
|
|
||||||
|
|
@@ -58,9 +45,9 @@ GitHub Codespaces may have limited permissions for installing GitHub CLI extensi | |||||
| The action github/gh-aw/actions/setup@a933c835b5e2d12ae4dead665a0fdba420a2d421 is not allowed in {ORG} because all actions must be from a repository owned by your enterprise, created by GitHub, or verified in the GitHub Marketplace. | ||||||
| ``` | ||||||
|
|
||||||
| **Cause:** Your enterprise organization has policies that restrict which GitHub Actions can be used. By default, workflows compiled by gh-aw use the custom action `github/gh-aw/actions/setup` which may not be allowed by your organization's policy. | ||||||
| **Cause:** Enterprise policies restrict which GitHub Actions can be used. Workflows use `github/gh-aw/actions/setup` which may not be allowed. | ||||||
|
|
||||||
| **Solution:** Enterprise administrators need to allow the `github/gh-aw` repository in the organization's action policies. There are two approaches: | ||||||
| **Solution:** Enterprise administrators must allow `github/gh-aw` in the organization's action policies: | ||||||
|
|
||||||
| #### Option 1: Allow Specific Repositories (Recommended) | ||||||
|
|
||||||
|
|
@@ -74,49 +61,39 @@ Add `github/gh-aw` to your organization's allowed actions list: | |||||
| ``` | ||||||
| 4. Save the changes | ||||||
|
|
||||||
| For more details, see GitHub's documentation on [managing GitHub Actions permissions for your organization](https://docs.github.com/en/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#allowing-select-actions-and-reusable-workflows-to-run). | ||||||
| See GitHub's docs on [managing Actions permissions](https://docs.github.com/en/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#allowing-select-actions-and-reusable-workflows-to-run). | ||||||
|
|
||||||
| #### Option 2: Configure Organization-Wide Policy File | ||||||
|
|
||||||
| If your enterprise uses a centralized `policies/actions.yml` file, add the gh-aw repository to the allowlist: | ||||||
| Add `github/gh-aw@*` to your centralized `policies/actions.yml` and commit to your organization's `.github` repository. See GitHub's docs on [community health files](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file). | ||||||
|
|
||||||
| ```yaml | ||||||
| # policies/actions.yml | ||||||
| allowed_actions: | ||||||
| - "actions/*" # GitHub-created actions | ||||||
| - "github/gh-aw@*" # Allow gh-aw custom actions | ||||||
| - "actions/*" | ||||||
| - "github/gh-aw@*" | ||||||
| ``` | ||||||
|
|
||||||
| Commit this file to your organization's `.github` repository. For more information about policy files, see GitHub's documentation on [creating a default community health file](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file). | ||||||
|
|
||||||
| #### Verification | ||||||
|
|
||||||
| After updating the policy: | ||||||
|
|
||||||
| 1. Wait a few minutes for the policy to propagate | ||||||
| 2. Re-run your workflow | ||||||
| 3. If issues persist, verify the policy was applied: `https://github.com/organizations/YOUR_ORG/settings/actions` | ||||||
| Wait a few minutes for policy propagation, then re-run your workflow. If issues persist, verify at `https://github.com/organizations/YOUR_ORG/settings/actions`. | ||||||
|
|
||||||
| > [!TIP] | ||||||
| > Security Consideration | ||||||
| > The gh-aw custom actions are open source and can be audited at [github.com/github/gh-aw/tree/main/actions](https://github.com/github/gh-aw/tree/main/actions). The actions are pinned to specific commit SHAs in compiled workflows for security and reproducibility. | ||||||
| > The gh-aw actions are open source at [github.com/github/gh-aw/tree/main/actions](https://github.com/github/gh-aw/tree/main/actions) and pinned to specific SHAs for security. | ||||||
|
|
||||||
| ## Repository Configuration Issues | ||||||
|
|
||||||
| ### Actions Restrictions Reported During Init | ||||||
|
|
||||||
| When running `gh aw add-wizard` or `gh aw init`, you may encounter errors about repository Actions configuration. Agentic workflows compile to standard GitHub Actions YAML that depends on infrastructure actions like `actions/checkout`. If your repository blocks these, workflows won't execute. | ||||||
|
|
||||||
| The CLI validates three permission layers: | ||||||
| The CLI validates three permission layers when running `gh aw init` or `gh aw add-wizard`: | ||||||
|
|
||||||
| **Actions completely turned off:** Your repo has Actions disabled entirely. Workflows upload successfully but never trigger. Fix: Repository Settings → Actions → General → toggle Actions on. Reference: [Managing Actions settings](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository). | ||||||
| **Actions disabled:** Enable in Repository Settings → Actions → General. [Docs](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository). | ||||||
|
|
||||||
| **Local-only restriction:** You've configured "Allow [owner] actions only", which blocks external actions including GitHub's own. Agentic workflows need `actions/checkout`, `actions/setup-node`, etc. Fix: Settings → Actions → General → switch to "Allow all actions" or "Allow select actions" with GitHub-created ones enabled. Reference: [Managing Actions permissions](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#managing-github-actions-permissions-for-your-repository). | ||||||
| **Local-only restriction:** Switch to "Allow all actions" or "Allow select actions" with GitHub-created actions enabled. Workflows need `actions/checkout`, `actions/setup-node`, etc. [Docs](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#managing-github-actions-permissions-for-your-repository). | ||||||
|
|
||||||
| **Selective allowlist without GitHub:** You're using action allowlists but didn't check "Allow actions created by GitHub". Fix: Settings → Actions → General → Actions permissions → enable the GitHub checkbox. Reference: [Allowing specific actions](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-select-actions-and-reusable-workflows-to-run). | ||||||
| **Selective allowlist:** Enable "Allow actions created by GitHub" checkbox in Settings → Actions → General. [Docs](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-select-actions-and-reusable-workflows-to-run). | ||||||
|
|
||||||
| > [!NOTE] | ||||||
| > Organization-owned repositories inherit org-level Actions policies that override repository settings. If settings appear grayed out, request changes from org admins. | ||||||
| > Organization-level policies override repository settings. Request changes from org admins if settings are grayed out. | ||||||
|
|
||||||
| ## Workflow Compilation Issues | ||||||
|
|
||||||
|
|
@@ -136,15 +113,15 @@ Remove old `.lock.yml` files after deleting `.md` files with `gh aw compile --pu | |||||
|
|
||||||
| ### Import File Not Found | ||||||
|
|
||||||
| Import paths are relative to repository root. Verify the file exists and is committed (`git status`). Example paths: `.github/workflows/shared/tools.md` (from repo root) or `shared/security-notice.md` (relative to `.github/workflows/`). | ||||||
| Import paths are relative to repository root. Verify the file exists with `git status`. Examples: `.github/workflows/shared/tools.md` or `shared/security-notice.md`. | ||||||
|
||||||
| Import paths are relative to repository root. Verify the file exists with `git status`. Examples: `.github/workflows/shared/tools.md` or `shared/security-notice.md`. | |
| Import paths are relative to repository root. Verify the file exists with `ls <path>` (or, if it must be tracked, `git ls-files --error-unmatch <path>`). Examples: `.github/workflows/shared/tools.md` or `shared/security-notice.md`. |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The prose lists multiple alternative field name examples (repo, source_repository, linked_repo) but the code sample now only demonstrates repo. Either adjust the text to mention just repo (or “e.g., repo”) or expand the example to include the other suggested alternatives to keep the guidance consistent.
| **Solution**: Use alternative field names (`repo`, `source_repository`, `linked_repo`) instead of `repository`: | |
| **Solution**: Use an alternative field name (for example, `repo`) instead of `repository`: |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Embedding YAML keys inline is harder to scan and may not be copy/pasteable as-is. Consider restoring a minimal fenced YAML example (even a very short one) so readers can directly copy a working mcp-servers: configuration.
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitHub Actions cache eviction is typically based on inactivity (e.g., not accessed for a period) rather than a simple fixed “expires after 7 days” statement. Reword to something like “Caches may be evicted after ~7 days of inactivity” (or match the exact wording from GitHub’s docs) to avoid implying a hard TTL.
| Verify cache key patterns match. Caches expire after 7 days. | |
| Verify cache key patterns match. Caches may be evicted after about 7 days of inactivity. |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
“Enable verbose compilation (--verbose)" is less clear than the surrounding command-style guidance because it omits the actual command. Consider using the full invocation (e.g., gh aw compile --verbose) for consistency and to reduce ambiguity.
| Enable verbose compilation (`--verbose`), set `ACTIONS_STEP_DEBUG = true`, inspect lock files, check MCP config (`gh aw mcp inspect`), and review logs. | |
| Enable verbose compilation (`gh aw compile --verbose`), set `ACTIONS_STEP_DEBUG = true`, inspect lock files, check MCP config (`gh aw mcp inspect`), and review logs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sentence conflates Codespaces with restricted network environments; earlier the doc describes Codespaces issues as permission/auth limitations rather than network restrictions. Consider removing “Codespaces” from the restricted-network parenthetical (or rewording to distinguish permissions vs network constraints) to avoid misleading guidance.