IP Address Mismatch on signing into Heroku CLI

Viewed 40102

Previously I could sign into the heroku command line interface with heroku login. But now I get an IP address mismatch error. How should I resolve this?

17 Answers

Copy and paste heroku login -i in your terminal. This is what solved it for me.

Just adding some detailed steps to resolve the issue

  1. Navigate to https://dashboard.heroku.com/account/applications
  2. In Authorizations click on create authorization button
  3. Add description in pop up eg.heroku cli and leave expire after blank if you dont want it to expire
  4. You will get authorization token
  5. in cli run heroku login -i
  6. when it prompts for password enter the authoriation token

The accepted answer (run heroku login -i) doesn't work for accounts with MFA enabled. What I did instead was to reveal my account's API key and put it into ~/.netrc like so:

machine api.heroku.com
  login <MY_EMAIL>
  password <API_KEY>
machine git.heroku.com
  login <MY_EMAIL>
  password <API_KEY>

And voila! I can now use the CLI. This worked for me with Google CloudShell.

P.S. -- I added my machine's SSH key but could not understand how to use that to configure the CLI's access. It seems hard-coded to look for API keys in ~/.netrc.

For accounts that have MFA.

Run heroku login, press any key to open up browser window. Copy the url and open it in incognito mode.

This error will occur when your machine is behind a proxy if you disable the proxy temporarily then authentication will be done.

If you're using a Mac running macOS 12 Monterey with the Private Relay feature enabled, you'll need to turn that off while you complete the Heroku CLI authentication workflow, since that feature is obfuscating your actual IP address by proxying your traffic through a pool of IP addresses.

New changes where added by Heroku on login. You can find the change logs here.

In case if you are behind the firewall you may need to set the proxy.

set HTTP_PROXY=http://proxy.server.com:portnumber

If you are a Mac user on 12.3 or later, you need to open System Preferences, > Network > Wi-Fi, and then uncheck "Limit IP Address Tracking" for the duration of your authentication.

New OSX masks your IP address, and Heroku login doesn't know how to deal with it. All you need is to let Heroku verify IP before/after auth, and you'll be good to go.

If you're using Multi Factor Authentication you have to create an API key. To do that:

  1. Go here: https://dashboard.heroku.com/account (login if asked)

  2. Click here: enter image description here

  3. Open the hidden file located at ~/.netrc and paste your API key in the two 'password' fields. For example, if your API key is 'a8g73nga-9vb2-0184-afbc-54fac2b66c75', then it should look like this:

machine api.heroku.com
  login your.email@example.com
  password a8g73nga-9vb2-0184-afbc-54fac2b66c75
machine git.heroku.com
  login your.email@example.com
  password a8g73nga-9vb2-0184-afbc-54fac2b66c75
  1. The heroku CLI will now work!

Reference

  • Heroku CLI Authentication docs

Close or switch terminal, and then rerun the command "heroku login" This works for me!

I initially installed Heroku with Snap software package manager. Installing it with npm solved my problem. copy and paste the code below.

npm i -g heroku

My default browser is Safari with private relay on. This was my issue. I just copied the url from the Safari browser to one of my other browsers (Brave) and it worked.

I was able to connect with the following: heroku login -I // email: user@email.com // password: api key # from account settings

So satisfying!

for me heroku login -i worked.. didnt need the token.after heroku login -i it wanted my credentials...i.e email and password and i was logged in

For some reason heroku login -i led to some I/O issues on Google Colab for me.

I needed to press the return key multiple times after entering the password, and that somehow made the credentials incorrect.

I had to open up a Colab Terminal to login as I would via any Linux-based shell (The Colab terminal is available on Colab Pro and Pro+).

I tried all the Solutions mentioned above but the VPN solved my issue. I think i have a problem with my ISP or HTTP PROXY

HTTP_PROXY=http://proxy.server.com:portnumber

Related