Access
A Job Signs In but Can't Find the Repository
A Job Signs In but Can't Find the Repository
repo /et/acme/web not found or not shared with you, or git reports Repository not found.The service account has no access to that repository. Check its grants:A Command Returns Permission Denied
A Command Returns Permission Denied
entire repo list, need access to every repository in the project. Grant the service account access to the whole project:Binding a Platform
A Pin Value Is Refused
A Pin Value Is Refused
bind reports pin ... must match ... or pin ... must be exact, not a glob.The value has the wrong format. See the format a platform expects:- Cursor:
repo_urlhas a scheme or an upper-case host. Use thehost/pathform, such asgithub.com/acme/web. - Devin:
organizationisn’t a Devin organization ID. Copy it from thesubvalue of a token, or ask your Devin administrator. - Google Cloud: the email has upper-case letters, or isn’t a
gserviceaccount.comaddress. - Vercel: you used the team slug. Use the team ID from Settings → General. It starts with
team_.
A Required Pin Is Missing
A Required Pin Is Missing
bind reports ... needs --pin for: ..., or for Cursor, pin at least one of team, user, service_account.Add the pins the error names. A Cursor binding needs the repository plus your team, user, or Cursor service account.The Service Account Already Has a Binding
The Service Account Already Has a Binding
bind reports ... already has a ... binding; unbind it first.A service account holds one binding per platform. Find the existing binding and remove it:Signing In with an OIDC Token
No Binding Allows the Job to Sign In
No Binding Allows the Job to Sign In
no binding authorises this subject to assume the target service account.The service account has no binding for this platform, or the resource you sent names a different service account. Check its bindings:The Token Doesn't Match the Binding
The Token Doesn't Match the Binding
subject_token claims do not satisfy the binding's attribute filter.One of the binding’s pins doesn’t match the job’s token. Compare the pins from entire service-account bindings with the job:- Amp: the orb’s project isn’t the pinned one, or the thread has no project. Check which project the thread belongs to.
- Buildkite: compare
organization,pipeline, andbranchwithBUILDKITE_ORGANIZATION_SLUG,BUILDKITE_PIPELINE_SLUG, andBUILDKITE_BRANCH. - Cursor: the agent’s primary repository, team, or runtime isn’t the pinned one.
- GitHub Actions: compare
repositorywithgithub.repositoryandrefwithgithub.ref. - Google Cloud: the token has no
emailclaim, or the email doesn’t match. Request the token with--include-emailorincludeEmail: true. - Vercel: a preview deployment can’t use a binding that pins
production. A service account holds one Vercel binding, so bind a second service account topreview.
The Token Is Invalid
The Token Is Invalid
subject_token is invalid.The token’s audience isn’t the audience value from bind, or the token has expired. Platform tokens expire within minutes, so exchange the token right after you get it. Devin tokens are especially short-lived.On Vercel, the project uses the Global issuer mode. Set it to Team.The Service Account Isn't Found
The Service Account Isn't Found
service account not found.The resource value isn’t a service account ID. On GitHub Actions, check the service-account input.Platform-Specific Errors
GitHub Actions: No OIDC Token
GitHub Actions: No OIDC Token
entireio/setup-entire reports No OIDC token: set id-token: write (forks get none).Add permissions: id-token: write to the workflow or the job. GitHub doesn’t issue an OIDC token to a pull_request run from a fork.Amp: No Token Outside an Orb
Amp: No Token Outside an Orb
amp orb id-token fails.amp orb id-token works only inside an orb. Run it in the orb, not on a runner or your own machine.Devin: devin-oidc Isn't Found
Devin: devin-oidc Isn't Found
devin-oidc: command not found.Add the setup-devin-oidc action to your environment blueprint.Google Cloud: gcloud Refuses --audiences
Google Cloud: gcloud Refuses --audiences
gcloud reports Invalid account type for --audiences. Requires valid service account.You’re signed in to gcloud as a person. Add --impersonate-service-account.Secrets
The Secret Is Refused for Another Region
The Secret Is Refused for Another Region
invalid_grant and names another region.The secret belongs to a service account in another region. Send it to the URL in the error message.The Secret Is About to Expire
The Secret Is About to Expire
the secret expires within a minute.Entire refuses a secret this close to its expiry. Create a new secret and use it instead.The Secret Has Expired or Was Deleted
The Secret Has Expired or Was Deleted
You've Hit a Limit
You've Hit a Limit
secret create reports service account already holds the maximum number of active secrets, or create reports service account limit reached.A service account holds two unexpired secrets. Delete one before you create another. An organization or account can have up to 5 service accounts.Still Stuck?
Still Stuck?
entire version- the service account, as
PROJECT/NAME - whether the job signs in with an OIDC token or a secret, and on which platform
- the full error message