Table of contents

Today I sat down and wrote a tiny package called wait-for-user-input. it can be used to wait for stdin input in a command line script.

After I published the package on, I noticed that I accidentally published it with the npm account from work…

calm down. to the rescue!

If no version is specified, or if all versions are removed then the root package entry is removed from the registry entirely.

So I ran a few npm unpublish by decrementing the version in the package.json, and the package was removed from npm.

npm, tell me who am i 👍

npm whoami prints the username of the currently logged in user on the shell.

After a npm login command with my personal account credentials, I double checked that I was logged in with my personal account.

~/D/p/wait-for-user-input (master) npm whoami

npm publish 👎

I was almost ready to publish to npm, but I was blocked by this error:

~/D/p/wait-for-user-input (master) npm publish
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! wait-for-user-input cannot be republished until 24 hours have passed. : wait-for-user-input
~/D/p/wait-for-user-input (master)

In fact, on it’s clearly written that:

with the default registry (, unpublish is only allowed with versions published in the last 24 hours. If you are trying to unpublish a version published longer ago than that, contact [email protected].

next steps

So, now I need to:

  • ~wait 24 hours~
  • ~publish again under the correct npm account~

~Tomorrow I’ll update the article.~

Check out the updated section!

how to avoid

is there a prepublish hook that could check that the usernames from a github repo match the one on npm?

I don’t know. Maybe one day I’ll find it out and report back.

Do you know if there is a way to have multiple npm accounts on the same shell? (e.g. ~/.aws/credentials)

⚡️ it worked!


wait-for-user-input is available on npm!

(under the correct account this time 😅)