wtfdev
v0.1.0
Published
Decode cryptic error messages into plain-English explanations. tldr for errors.
Maintainers
Readme
wtfdev
Decode cryptic error messages. Get fixes. Move on.
tldr for errors.

Usage
Pipe an error directly:
npm start 2>&1 | wtfdevPass it as a string:
wtfdev "Error: EADDRINUSE: address already in use :::3000"Copy from clipboard:
wtfdev --clipboardWhat You Get
╔══════════════════════════════════════════════════════╗
║ Port already in use ║
╠══════════════════════════════════════════════════════╣
║ WHAT Port 3000 is already in use by another ║
║ process. ║
║ ║
║ WHY You likely have another dev server running, ║
║ or a previous process didn't shut down ║
║ cleanly. ║
║ ║
║ FIX 1 Kill the process on that port ║
║ $ lsof -ti:3000 | xargs kill -9 ║
║ ║
║ FIX 2 Use a different port ║
║ $ PORT=3001 npm start ║
║ ║
║ DOCS https://nodejs.org/api/errors.html#eaddrinuse ║
╚══════════════════════════════════════════════════════╝Supported Errors
| Category | Example Errors |
|---|---|
| Node.js | EADDRINUSE, ENOENT, MODULE_NOT_FOUND, ERR_REQUIRE_ESM, Heap out of memory, Unhandled Promise Rejection |
| npm | ERESOLVE peer dep conflict, EACCES permission denied, missing script, engine unsupported |
| TypeScript | TS2307 Cannot find module, TS2322 type not assignable, TS2304 Cannot find name, TS18046 unknown type |
| React | Invalid hook call, Too many re-renders, Hydration mismatch, Cannot update unmounted component |
| Next.js | Client component importing server module, Dynamic server usage |
| Git | Push rejected, Merge conflict, Detached HEAD |
Add an Error
Missing an error that wrecks your day?
It takes 2 minutes. Drop a JSON file in the right errors/ folder and open a PR. No TypeScript required — just fill in the template. See CONTRIBUTING.md for the exact steps.
Install Globally
npm install -g wtfdevThen run it anywhere:
wtfdev "your error here"MIT License — built by Amit Bagra
