418I’m a teapot

418 I’m a teapot comes from RFC 2324, the 1998 April Fools’ Hyper Text Coffee Pot Control Protocol. RFC 9110 §15.5.19 lists 418 as “(Unused)” and reserves it; it is a real registered code, but not one you should use for actual errors.

DeepSeek-chan peeking out from inside a large blue-and-white teapot.
Plate 07418 I’m a teapotClient error

What does it mean?

The code is a piece of HTTP folklore. Some sites use it as an Easter egg or to reject unwanted automated requests.

Because it is reserved, do not assign it a new meaning in your API. Clients and intermediaries will not know what to do with it.

When does it happen?

  • An Easter egg on a personal site.
  • A test suite that checks unusual status codes.
  • A playful rejection of bots, if the API contract allows it.

How do you fix it?

If you run the server

  • Do not use 418 for real errors. Use 400, 403, 429, or 503.
  • If you ship it as an Easter egg, document it so clients are not confused.
  • Keep the response short and obviously playful.

If you are just visiting

  • You found the teapot. There is nothing to fix.
  • If you expected data, the server is joking; try the normal endpoint.

Technical notes

Status class
Client error
Cacheable by default
No

Reason phrase from RFC 2324 §2.3.2; RFC 9110 calls 418 “(Unused)”.

Related plates

Sources