Skip to content

fix: Claude Assistant の push が 403 になる問題を回避 - #142

Merged
fumikito merged 1 commit into
mainfrom
fix/claude-assistant-push-credentials
Oct 15, 2026
Merged

fumikito merged 1 commit into
mainfrom
fix/claude-assistant-push-credentials

Conversation

@fumikito

@fumikito fumikito commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

問題

@claude に修正を頼むと、Claude はローカルでコミットまではしますが、push が 403 で失敗します。

Permission to hametuha/chiramise.git denied to github-actions[bot]

(実例: hametuha/chiramise#8、run)

原因

contents: write を呼び出し側に足しても push は通るようになります。ただしその場合は GITHUB_TOKEN による push になり、CI や自動レビューが起動しません。そのため、この方法は採りませんでした。

修正

  1. checkout を persist-credentials: false にして、認証ヘッダーを残さないようにします。
  2. 代わりに、リモート URL に GITHUB_TOKEN を入れます。claude-code-action はブランチ準備の git fetch を認証設定より前に実行するため、private リポジトリでも fetch できるようにする必要があります(claude-code-action fails when actions/checkout uses persist-credentials: false anthropics/claude-code-action#1236)。
  3. このリモート URL は、claude-code-action の configureGitAuth が App トークン入りの URL で上書きします。そのため push は Claude アプリとして行われ、CI や自動レビューも起動します。

影響

  • 変わるのは claude-assistant.yml だけです。inputs は変えていません。
  • review、triage など、push しないワークフローには手を入れていません。

確認

issue_comment で起動するワークフローは、main にある定義で動きます。そのため、マージ後に hametuha/chiramise#8 で @claude に修正を頼み直し、次の2点を確認します。

  • claude/issue-8-* ブランチが push されること
  • push の主体が claude[bot] であること

actionlint は問題ありませんでした。

🤖 Generated with Claude Code

actions/checkout@v6 は認証ヘッダーを includeIf.gitdir 経由で設定するが、
claude-code-action はこれを消せず、App トークンより GITHUB_TOKEN が優先される
(anthropics/claude-code-action#1721)。persist-credentials: false にし、
ブランチ準備の fetch 用に GITHUB_TOKEN をリモート URL に設定する。

Co-authored-by: Claude <noreply@anthropic.com>
@fumikito
fumikito merged commit dc8320f into main Oct 15, 2026
9 checks passed
@fumikito
fumikito deleted the fix/claude-assistant-push-credentials branch October 15, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant