
Diagnose
Understand what actually failed.
A plain-English summary, one strong root-cause hypothesis, the exact signals pulled from your log, and the alternatives worth ruling out.
Loading
Mobile incident terminal
Paste the error into Terminal3. Diagnose the cause, find the fix, and verify it worked — in three passes.
Terminal3 reads what you paste. It never connects to your infrastructure.
The method
Most tools hand you a wall of text and leave the thinking to you. Terminal3 moves in sequence, and each pass has one job.

Understand what actually failed.
A plain-English summary, one strong root-cause hypothesis, the exact signals pulled from your log, and the alternatives worth ruling out.

Get an actionable remediation path.
Ordered steps with the commands and configuration that go with them. Destructive actions carry a warning and a safer alternative.

Confirm the incident is resolved.
A checklist, the commands that prove it, what a successful response looks like, and the regression checks worth running before you close it out.
Input
There is no format to learn and nothing to connect. Terminal3 reads raw text — the thing you already have in front of you.
Node, Python, Go, Java, Ruby, Rust.
4xx and 5xx with headers and body.
JSON error envelopes from any provider.
Application, container and server output.
Build output and platform errors.
Connection, constraint, migration, lock.
401, 403, token and signature problems.
Signature mismatches and failed deliveries.
Example
Raw text goes in. What comes back is a reading of it — hedged where it should be, specific where it can be.
Error: connect ECONNREFUSED 127.0.0.1:5432
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
errno: -61,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 5432
}
[api] 2 requests failed in 30s — pool: 0/10 connections establishedWhat happened
Your application tried to open a TCP connection to PostgreSQL on 127.0.0.1:5432 and the operating system rejected it immediately. Nothing is listening on that address and port — this is a refusal, not a timeout, so the request never reached a database process.
Most likely cause
No PostgreSQL process is accepting connections at 127.0.0.1:5432 from the perspective of the running application. Most often the database isn't running, or the app is pointed at localhost while the database actually lives somewhere else — a container, another host, or a different port.
Signals
ECONNREFUSED127.0.0.15432syscall: 'connect'pool: 0/10Other possibilities
02 Fix · first step
Confirm whether anything is listening on the port
Before changing configuration, establish the basic fact: is there a process bound to 5432 on the machine the app is running from? An empty result confirms the refusal is genuine rather than a credential or TLS problem.
03 Verify · expected result
psql prints the PostgreSQL version, the application's pool reports its configured number of connections, and the previously failing endpoint returns 200 with a JSON body instead of a 500.
Bundled example analyses, written by hand and shipped with the product. Analysing your own input requires an AI provider to be configured.
Why mobile
Terminal3 is intentionally designed around the moment you're away from your development environment but need to understand what just went wrong.
Scan to open
Point your camera at the code, or type the address.
terminal3.funTrust
Terminal3 handles the most sensitive text a developer has. The honest version of what that means:
Read the privacy pageWho made this
Manoj Paliwal
Founder
Terminal3 started from a narrow, familiar problem: something breaks, you're not at a keyboard, and the fastest thing you can do is read an error on a small screen and decide what it means. It is built to do that one thing well.