Skip to content
MtrXTools

Error: write EPIPE

Wrote to a connection the other side had closed

Seen in Node.js, npm, child processes and pipes

Node.js tried to write to a socket or pipe after the other end had already closed it (broken pipe).

Common causes

  • The server closed the connection, for example after rejecting a large upload or timing out, while the client was still sending.
  • A keep-alive connection closed by the server and then reused.
  • Writing to a child process or stdout pipe that has exited, such as piping into head.

How to fix it

  1. Check the server response or logs; a 413 or timeout often comes just before the EPIPE.
  2. Handle the error event on sockets and streams so one closed peer does not crash the process.
  3. Retry idempotent requests on a fresh connection.

Got a different message? Paste it into the error explainer.

Related errors

All 34 Command line & code errors