GitHub adds Anthropic user and service API keys to its default push-protection block list
GitHub's Oct. 13 changelog adds two Anthropic key types, user and service, to the secrets push protection blocks by default. A private repository on default settings still gets no block, according to a dev.to analysis of the entry.
The Engineer · Build desk

Private repos on default settings get no block, per the dev.to post. MCP server interactions are covered for public repos only. Anyone with write access can bypass with a reason. Repository mode logs and emails each bypass to owners and admins. A blocked key stays in local history.
- exposure Private repos, default settings Still get no block, in the dev.to post's own assessment, claim 3
- constraint GitHub MCP server interactions Push protection docs list them as covered for public repositories only, claim 8
- exposure Anyone with write access By default can bypass push protection by specifying a bypass reason, claim 9
- capability Owners and repo admins In repository push protection mode, each bypass is added to the audit log and emailed to those who watch the repo, claim 11
- constraint Your local commit history The blocked key stays in local history and is not removed from the branch, claim 7
| Who | How | Kind | Claim |
|---|---|---|---|
| Private repos, default settings | Still get no block, in the dev.to post's own assessment | exposure | 3 |
| GitHub MCP server interactions | Push protection docs list them as covered for public repositories only | constraint | 8 |
| Anyone with write access | By default can bypass push protection by specifying a bypass reason | exposure | 9 |
| Owners and repo admins | In repository push protection mode, each bypass is added to the audit log and emailed to those who watch the repo | capability | 11 |
| Your local commit history | The blocked key stays in local history and is not removed from the branch | constraint | 7 |
What happened
- The new detections also raise alerts inside your own repository, public or private, wherever secret scanning is turned on.
- By default, anyone with write access to a repository can bypass a push protection block by giving a reason.
- With only the default user-level push protection, a bypass generates no alert unless protection is also enabled at the repository level.
Why it matters
- constraint An agent that writes to a repository through the GitHub MCP server is covered only for public repositories, so that path to a private repo gets no block.
- exposure The post says agents usually push with your git credentials, so the bypass is open to whatever holds those credentials, including the agent.
- cost A block keeps the key off GitHub but leaves it in the local commit, so cleaning the branch history is still manual work.
- decision Turning on repository-level push protection is the choice that adds an audit log entry and an email to owners and admins for each bypass.
Scope depends on one condition in the changelog. Commits containing the new types are blocked automatically in repositories with secret scanning enabled, free public repositories included [2]. The dev.to post reads that as leaving a gap: a private repository on default settings still gets no block [3]. The changelog text the post quotes does not say what a private repository gets when scanning is off. Check the setting per repository before assuming the block fires.
The two names track how Anthropic now asks you to create keys. Its docs say a personal key "acts as you, and stops working if you leave an organization" [16]. A service account key is for "workloads such as CI pipelines, production services, or agents" [17]. GitHub's patterns table calls the new detectors "Anthropic User API Key" and "Anthropic Service Account API Key" [18]. The post's pairing of user with personal is its own reading, and neither GitHub nor Anthropic states it [19].
If the pairing holds, we'd expect the service detector to be the one an agent's `.env` trips, since Anthropic's docs point agent workloads at service account keys [17].
The bypass reason also decides what the alert does afterward. With repository push protection on, "It's used in tests" and "It's a false positive" close the alert, and "I'll fix it later" leaves it open [10]. The post's advice is to read the bypass reason on any alert from an agent branch before closing it [14].
Anthropic is not new to this program. GitHub announced it as a secret scanning partner on August 20, 2024, and the patterns table already listed anthropic_api_key, anthropic_admin_api_key and anthropic_session_id [5]. With the two new types that makes at least five Anthropic patterns [15]. For a key that does reach a public repository, Anthropic's key safety article says "Anthropic automatically deactivates the exposed API key" and emails the affected user [6].
In our view this is the right default for public repositories. For a private repository an agent writes to, the control is whatever that repository's own settings turn on, and the changelog's condition, scanning enabled, is the one to verify [2].
What to watch
- GitHub documentation stating what a private repository gets by default for these two detectors, since the changelog text the post quotes only says scanning must be enabled.
- Any move to extend push protection for GitHub MCP server interactions beyond public repositories.
- A statement from GitHub or Anthropic on whether the user detector corresponds to Anthropic's personal key.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence65
- Adoption
- Insufficient
- Hype gap−10
- Incentives20
- Confidence62
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
A GitHub changelog entry dated October 13, 2026 says secret scanning now detects anthropic_user_api_key and anthropic_service_api_key, and that push protection blocks both by default.
- [2]
Per the changelog entry, commits containing the new Anthropic types are blocked automatically in repositories with secret scanning enabled, free public repositories included.
- [3]
A private repository on default settings still gets no block.
- [4]
The entry says the new detections show up as alerts in your own repository, public or private, wherever secret scanning is turned on.
- [5]
GitHub announced Anthropic as a secret scanning partner on August 20, 2024, and GitHub's supported patterns table also lists anthropic_api_key, anthropic_admin_api_key and anthropic_session_id.
- [6]
When a key lands in a public repo, Anthropic's key safety article says "Anthropic automatically deactivates the exposed API key" and emails the affected user.
- [7]
Push protection stops the commit before it reaches GitHub, but the key is still in the local history and is not removed from the branch.
- [8]
GitHub's push protection docs list command-line pushes, commits made in the GitHub UI, file uploads, REST API requests, and GitHub MCP server interactions for public repositories only.
- [9]
The push protection docs say that by default "anyone with write access to the repository can bypass push protection by specifying a bypass reason."
- [10]
With repository push protection on, the bypass reason "It's used in tests" closes the alert as used in tests, "It's a false positive" closes it as a false positive, and "I'll fix it later" leaves it open.
- [11]
In repository push protection mode, each bypass is added to the audit log and emailed to owners, security managers and repository admins who watch the repo.
- [12]
With only the default push protection for users, the docs say it "does not generate alerts when you bypass push protection" unless push protection is also enabled at the repository level.
- [13]
A coding agent usually pushes with your git credentials, so the person who can wave a blocked key through is you, or anything acting with those credentials.
- [14]
Where repository push protection is on, the post advises reading the bypass reason on any alert from an agent branch before closing it.
- [15]
With three previously listed Anthropic patterns plus the two new types, GitHub's table covers at least five Anthropic secret patterns.
- [16]
Anthropic's API key docs say a personal key "acts as you, and stops working if you leave an organization".
- [17]
Anthropic's API key docs say a service account key is for "workloads such as CI pipelines, production services, or agents."
- [18]
GitHub's patterns table calls the two detectors "Anthropic User API Key" and "Anthropic Service Account API Key".
- [19]
Matching "user" to what Anthropic calls a personal key is the post author's reading; neither GitHub nor Anthropic states it.
Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toGitHub Now Blocks Two More Anthropic Key Types at Push. Here's What It Still Misses
1 article · October 13, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- API key securityFollow
- AI Coding AgentsFollow
- Secret ScanningFollow