Act II continues. We turn a passing headless Claude Code run into an open pull request with no human at the keyboard, and we walk straight into the pitfall that breaks most first attempts.
News (June 17–21, 2026):
git reset --hard, git checkout -- ., git clean -fd, git stash drop), blocks git commit --amend on commits it didn't make this session, and guards terraform destroy / pulumi destroy / cdk destroy. New attribution.sessionUrl setting omits the claude.ai link from commits and PRs. New /config --help; in the toggle, Esc now SAVES./config key=value inline from the prompt (works in -p and Remote Control), sandbox.allowAppleEvents, CLAUDE_CLIENT_PRESENCE_FILE to mute mobile pings, bundled Bun 1.4, line-by-line streaming, auto-retry on dropped connections.Tutorial — Auto-PR:
claude -p then git + gh, or a GitHub Actions workflow governed by permissions:.git push -u origin <branch> before gh pr create — the push prompt is fatal with no TTY.contents: write AND pull-requests: write; missing the second is a silent 403.GITHUB_TOKEN do not trigger downstream workflows. Use a GitHub App token so the PR's own CI actually runs.gh pr list --head guard. Empty-diff guard with git diff --quiet.--allowedTools prefix footgun: Bash(git push *) with the trailing space, not Bash(git push*).pull_request_target footgun only bites on untrusted fork code; internal nightly auto-PR is on the safe side.