A GitHub OAuth App allows exactly one callback URL, and the redirect must match its host and port. localhost:3000 isn't mytool.app, so it's rejected.
Standard setup: create a second OAuth App just for development, callback http://localhost:3000/api/auth/callback/github, and use its client id/secret in .env.local:
AUTH_GITHUB_ID=dev_app_id
AUTH_GITHUB_SECRET=dev_app_secret
Production keeps its own pair in Vercel env vars. Bonus: you can never accidentally break prod login while experimenting.