Skip to content
Latchkey

JFrog "You are not authorized to deploy" in CI

Artifactory rejected the deploy because the authenticated principal has no Deploy permission on the target repository. This is a permission target gap, not a credential problem.

What this error means

A deploy step (jf rt upload, Maven deploy, npm publish) fails with "You are not authorized to deploy artifacts into ...". Reads may still succeed.

jf
Failed uploading artifact to Artifactory:
You are not authorized to deploy artifacts into repository 'libs-release-local'

Common causes

No Deploy/Cache action on the permission target

The CI user or group is present on the repo but only has Read, so writes are refused with an explicit deploy authorization message.

Deploying to a repo the token does not cover

The permission target covers a different repo or path pattern than the one being deployed to.

How to fix it

Add Deploy to the permission target

  1. Open the permission target for the target repository in the JFrog Platform.
  2. Grant the CI user or group Deploy/Cache in addition to Read.
  3. Re-run the deploy and confirm it succeeds.

Confirm the deploy path matches the permission

Permission targets can be path-scoped. Ensure the include pattern covers the exact path being deployed.

Terminal
jf rt curl -XGET "/api/v2/security/permissions"

How to prevent it

  • Grant Deploy scoped to the specific CI repositories.
  • Keep deploy and read permissions on separate least-privilege tokens.
  • Review permission target path patterns when repo layouts change.

Frequently asked questions

What causes ""not authorized to deploy""?
The CI user or group is present on the repo but only has Read, so writes are refused with an explicit deploy authorization message.
How do I fix "not authorized to deploy"?
Add Deploy to the permission target

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card