back to article Storm in a teapot: Anger brews over npm's jokey proxy error messages

npm, the widely used and defiantly lower-case Node.js package manager, on Monday briefly returned an error to users connecting to the registry via proxy who attempted the npm install command. The error message declared "npm ERR! 418 I'm a teapot…", in reference to a RFC 2324, a tongue-in-cheek coffee pot communications …

  1. _LC_

    Can we wrap this up quickly by saying that it's the least of their problems?

  2. Anonymous Coward
    Anonymous Coward

    "Thanks to the magic of..."


  3. Dan 55 Silver badge

    Remind me

    Why is it Web developers still insist on linking to this Agile clusterfuck^W^Wwork in progress on production websites?

  4. richardcox13

    That is a completely inappropriate HTTP response

    …if you are looking for tea.

    For instance Green-Tea..

  5. The Original Steve

    Fuck off

    And keep some humour please!

    I rather like the 418 error code. Reminds me of a happier time before the marketing companies muscled into the Internet. Leave it be!

    1. Anonymous Coward
      Anonymous Coward

      Re: I rather like the 418 error code. Reminds me ...

      I would upvote you, but I have to sort out my printer first. I just got a status message that says it is on fire...

    2. Chairman of the Bored

      Re: Fuck off

      Agreed; so long as a humorous message or whatever does not cause user confusion or hurt ones business case, why not?

      My favorite was a little box that popped up in some test code:

      Some things in life

      Are inevitable

      Death. Taxes. Lost data.

      Im your storage unit

      Guess which I bring?

      1. Anonymous Coward
        Anonymous Coward

        Re: Guess which I bring?

        Ah - so the storage unit is bringing my lost data back! hurrah! :-D

        1. vtcodger Silver badge

          Re: Guess which I bring?

          Data you thought was deleted is back? Isn't that a security problem? Have you checked to see if there is a bug bounty?

    3. Roland6 Silver badge

      Re: Fuck off

      I see NPM is released under the "Artistic License" which would suggest that it should be treated more as a work of art than 'professional' software...

  6. Anonymous Coward
    Anonymous Coward

    The irony here is I'm reading this while taking a break from hpc virtualization documentation that is giving examples of how to implement lolcows in different virtual environments at low cost.

    1. Alistair

      I'm reading this while taking a break from hpc virtualization documentation that is giving examples of how to implement lolcows in different virtual environments


      For some reason that just does not come off as convincingly evil.....

  7. Anonymous Coward
    Anonymous Coward

    Mark Nottingham has been posting on the Github of pretty much every open source project demanding they remove 418. He is totally obsessed by it. Everyones got to have a hobby I guess.

    1. tiggity Silver badge

      @AC - still posting about it on lots of products it means many people get to see him as a humourless person

      Anyway, I'm sure there will be an IoT Teasmade along at some point to make valid use of that code on a status check API call

    2. Roland6 Silver badge

      Re: Mark Nottiingham

      "...since 418 isn't a recognized HTTP status code."

      So what? it's a status code, if your protocol stack can't handle 'unreserved' status codes then there is something wrong with your protocol stack.

      RFC2616 section 6: "HTTP status codes are extensible.".

      But Mark should know this as he worked on its replacement [1], and oh look in the new section 6 we have the statement "HTTP status codes are extensible."[2]

      Clearly, Mark has zero ability to appreciate that this tongue-in-cheek reference to the coffee pot protocol actually foresaw the rise of IoT and the explosion of device specific protocols - in the coming years we can expect to see many more status codes defined, at a rate faster than they can be formally recognised and then deployed into operational systems.



    3. JohnFen

      Why does Mr. Nottingham hate humor so very much? I'm glad I don't live in his world.

      1. Francis Boyle

        Does Python still take you to XKCD

        if you type "import antigravity". Maybe he should get onto that. And maybe while he's there he can complain that calling a language Python is a bit silly. With a bit of luck this will happen. (No, it's not the one you think.)

        1. sureshkumar

          Re: Does Python still take you to XKCD

          Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during 1985- 1990. Like Perl, Python source code is also available under the GNU General Public License (GPL).

          More details visit us :

  8. Anonymous Coward
    Anonymous Coward

    I had the idea once of adding offensive error messages to utilities that I developed for internal use of our development team. They were the kind of errors that "should never happen". It was late on a Friday and I was tired. I'd forgotten about it by the Monday.

    Then about 6 months later, one of our junior developers who didn't speak good English asked me to help him with an error he didn't understand. It said that his mother entertained old men in public toilets. Needless to say I took the opportunity to update the messages.

    1. Paul Kinsler

      the idea once of adding offensive error messages

      I recall that a long time ago I got my BBC B to augment its error messages with insults. I found it amusing for a short while, i.e. only until I had some slightly tricky bug to track down...

      1. Anonymous Coward
        Anonymous Coward

        Re: the idea once of adding offensive error messages

        At my last job one of my first projects was to go through the source tree and replace all "PCC errors".

        In the past they'd had much laxer rules on error messages and a lot of them simply read "Programmer cannot code!"

    2. Arthur the cat Silver badge

      I had the idea once of adding offensive error messages to utilities that I developed for internal use of our development team. They were the kind of errors that "should never happen".

      Whereas it wasn't offensive, I knew someone who got a reprimand when an error message reading "One of Klas' hairy cases" appeared during a demo to a customer. In fairness, it was a C reimplementation of original Fortran code that issued PAUSE 666 at that point, and the translator wasn't sure what was going on when that happened because the original code was undocumented.

    3. Alistair


      They were the kind of errors that "should never happen

      When I were a bit younger I had a generic message for errors that weren't in the tree, "I smell Elderberries"

      I suspect it would be obvious as to what I'd been watching .......

      (I now tend to go with:

      Now lost in a maze of dark twisty corridors. Calling out for help

      and dumping all variables except passwords.)

    4. ProperDave

      Whilst developing a social media analysis tool years ago, I set the Server 500 errors to show a random selection of memes. This was all well and good until a customer demo was done without my knowledge. Apparently the CTO hit a 500 error and the audience was displayed with an angry penguin meme. Surprisingly, considering the audience were stuffy business types it all went down well. I was asked to make the error pages more professional after that point though.

  9. Destroy All Monsters Silver badge

    Back to school with you!

    "Thanks to the magic of Cloudflare edge workers, we were able to implement this host header check entirely in JavaScript. Unfortunately, our host header parsing had a bug. It failed to account for port numbers appended to the host name."

    Modern "development" in a pithy description.

    (The other part consist in observing that our "skilled consultant" demaning much buckos for his skills is running Node as root on the Internet-facing server.)

    1. brotherelf

      Re: Back to school with you!

      "our skilled consultant"? Is that the sequel to "my little pony"? Repository is magic!

    2. Alistair

      Re: Back to school with you!


      Sounds to me like you need an electrified brass pole just outside the window, a carpet and a skip.

      Good luck on your assignment sir.

    3. Michael Wojcik Silver badge

      Re: Back to school with you!

      Modern "development" in a pithy description.

      Really, most software development, ever, except now stuff gets into production faster.

      And that wasn't a "bug" in the host header parsing. It's an utter failure by an incompetent developer who couldn't be bothered to look up the specification (freely available online) and test the basic cases; and by project managers who didn't make sure they were tested before pushing into production. This sort of thing is an insult to the term "bug".

      I'm betting it would have choked - indeed might still choke - on a bracketed IPv6 address. Which is a perfectly valid value for the HTTP Host header.

  10. Nimby

    Everyone, sing along!

    I'm a little teapot, short and stout.

    Here is my handle. Here is my spout.

    When I get all steamed I scream and shout,

    "HTTP 418, sucker! It's tea time!"

  11. Crisp

    Get rid of the error message.

    Well implemented tea pots should be able to brew coffee. (Assuming some kind of strainer is available.)

    1. Roland6 Silver badge

      Re: Get rid of the error message.

      Down voted, not because you can't use a teapot to brew coffee, but that unless you thoroughly clean it out afterwards your next few brews will have the distinct tang of coffee. So no true tea drinker would consider using a teapot to brew coffee...

      That is a pint of tea beer

      [ ]

      1. _LC_

        Re: Get rid of the error message.

        Mate tea tastes great with a pinch of coffee. Just put in some of that afterwards and you're of fine. ;-)

  12. dijital

    Bitbucket being rate limited too

    It also looks like Bitbucket is being rate limited by them at the moment. NPM install requests from Bitbucket Pipelines are failing with HTTP 429 Too Many Requests:

  13. Stevie


    Get Rid Of Useless Javascript Now!

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like