Lesstep
GitHub Actions・GitHub Packages・2026年11月3日に確認

GitHub Actions:ghcr.io への push が「denied: permission_denied: write_package」

レジストリはトークンを受け付け、そのうえでそのパッケージへの書き込みを断りました。ログインが通っても、パッケージのことは何もわかりません。確かめることは2つで、この順番です。ジョブのトークンに packages: write があるか。すでにあるパッケージに、このリポジトリが書き込めるか。

見え方

Login Succeeded!
...
ERROR: failed to build: failed to solve: failed to push ghcr.io/octo-org/web:1.4.0: denied: permission_denied: write_package

これは docker/build-push-action です。docker push や helm push も同じ終わり方をします(mcp-context-forge #7074)。Organization のパッケージでは、代わりに denied: installation not allowed to Write organization package と出ることがあります。10月の報告では、こちらはトークンにそもそも書き込みが無いときが多く、write_package はパッケージがリポジトリを断ったときが多かったのですが、どちらの原因でもどちらも出るので、同じ順番で確かめます。

1. ジョブのトークンに packages: write が無い

jobs:
  image:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
    steps:
      - uses: docker/login-action@v4
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - uses: docker/build-push-action@v7
        with:
          push: ${{ github.event_name != 'pull_request' }}
          tags: ghcr.io/octo-org/web:${{ github.sha }}

2. パッケージがもうあり、このリポジトリは書き込めない

packages: write がもうあるなら、問題はパッケージの側です。godot-mcp は両方そろい、GITHUB_TOKEN でログインし、push のところだけで断られました(godot-mcp #706)。Container registry のドキュメントには、同じ名前空間に先にパッケージを push していて、それをリポジトリにつないでいなければ、GITHUB_TOKEN には push の権限が無い、とあります。パッケージの設定のページで「Manage Actions access」とつながっているリポジトリを見ます。よくある経緯:

抜け道

見分け方

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

GitHub・GitHub Actions・GitHub Packages は GitHub, Inc. の商標、Docker は Docker, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Docker, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「Resource not accessible by integration」 · git push の「Permission to ... denied to github-actions[bot]」 · 「No space left on device」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English