actions/checkout v7 blocks checkout of fork pull-request code by default in certain privileged workflows; the official sources do not verify that this safety change required a 362KB credential-isolation rewrite. GitHub documents the credential-storage change separately as a v6 change. For maintainers, the key decision is whether a workflow needs to execute untrusted fork code while running with elevated access.
What changed in actions/checkout v7
Announced as generally available on June 18, 2026, v7 refuses to check out fork pull-request code by default in pull_request_target workflows. It also applies the restriction to qualifying workflow_run workflows when the upstream workflow event is a pull_request* event. GitHub says same-repository pull requests are unaffected and the behavior of the pull_request event is unchanged. See GitHub’s v7 announcement and the checkout README.
As an Amazon Associate I earn from qualifying purchases.
This is a guard against a specific risky pattern, not a ban on fork pull-request workflows. A workflow can still process a fork pull request; the default prevents these privileged-trigger workflows from checking out its code through the action unless the workflow explicitly opts in.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Version references matter
GitHub’s June announcement was updated on July 15, 2026, to revise the backport enforcement date to July 20 and clarify that v1 would not receive the change. Supported floating major tags pick up the backport automatically; workflows pinned to a SHA, minor, or patch reference need an explicit upgrade. Because supported versions and rollout state can change, check the current announcement and README before changing a workflow.
#1 Best Overall
Why checking out fork code can be dangerous
pull_request_target runs workflow code from the base repository’s default branch and can have access to secrets and a read/write token. That setup can be useful for trusted automation, but becomes dangerous if the workflow checks out and executes code controlled by an external contributor. Untrusted commands may be embedded in build scripts, tests, dependencies, or configuration. If they run in the privileged job, they may be able to use its available credentials.
GitHub’s guidance states: “No code from the fork is executed by default.” The danger arises when a workflow overrides that default by fetching and running fork-controlled code in a context with elevated access. Read GitHub’s secure-use guidance for GitHub Actions before designing such a workflow.
What the 362KB and credential-isolation claims establish
The official sources reviewed do not substantiate the claim that fork-PR safety required a 362KB rewrite, or that the v7 safety behavior was caused by such a rewrite. The README and changelog describe v7’s fork-checkout default as a behavior change. They document a different credential change in v6: persisted credentials are stored in a separate file under $RUNNER_TEMP rather than directly in .git/config. These are distinct changes, and the official documentation does not establish the claimed size or causal link.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Do not treat the 362KB figure as a verified measurement or explanation of v7’s security design without an authoritative artifact or reproducible measurement. The supported takeaway is the default behavior: checkout of fork code is refused in the specified privileged-trigger cases unless explicitly enabled.
How to decide whether your workflow should opt in
The opt-in input is allow-unsafe-pr-checkout: true. Its name is a useful warning: enabling it permits the checkout behavior, but does not make execution of untrusted code safe. Make the decision based on the workflow’s trigger, what it does with the fork’s files, and the credentials available to the job.
- Check the trigger. Determine whether the workflow uses
pull_request,pull_request_target, orworkflow_run. The v7 restriction concerns fork checkouts underpull_request_targetand qualifyingworkflow_runworkflows. - Trace how fork content is used. Distinguish reading or inspecting files as data from executing scripts, tests, dependencies, or configuration supplied by the fork. Execution is the critical risk when the job is privileged.
- Review access. Identify secrets and token permissions available to the job. In particular, determine whether it has a write-capable token or other credentials that fork-controlled code could reach.
- Prefer a safer design where possible. If secret access is unnecessary, consider whether
pull_requestmeets the need. Otherwise, separate untrusted pull-request processing from secret-bearing operations so fork code does not run in the privileged step. - Opt in only after a threat review. If the workflow has a specific need to inspect and execute fork changes with elevated capabilities, review its code paths and permissions before setting
allow-unsafe-pr-checkout: true. The input is not a general security fix.
Practical distinction: trigger, code, and credentials
| Workflow pattern | What v7 changes | Security decision |
|---|---|---|
Fork pull request handled with pull_request |
GitHub says this event’s behavior is unchanged by the v7 release behavior. | Use it when secret access is unnecessary and it satisfies the workflow’s purpose. |
Fork pull request checked out in pull_request_target |
Checkout is refused by default. | Avoid executing fork-controlled code in the privileged base-repository context. |
workflow_run following a pull_request* event |
The fork-checkout restriction applies to this qualifying case. | Review what the downstream workflow checks out and executes, and what permissions it inherits or receives. |
| Same-repository pull request | GitHub says same-repository pull requests are unaffected by this behavior. | Still assess code trust and workflow permissions; the stated exception does not itself establish that every workflow is safe. |
Update checkout references deliberately
How the change reaches a workflow depends on how its action reference is pinned. A supported floating major tag can receive the backport automatically; a SHA, minor, or patch reference requires an explicit update. Check GitHub’s rollout notice and the project README for current supported references and instructions.
Quick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools




