Know what is running.
Understand what is broken.
Fix it faster.
An AI runtime engineer for your local environment. It maps every port, process and container, investigates failures with evidence, and proposes fixes you approve.
$ whoseport 3000 PORT 3000 Process node pid 41022 Parents zsh ← iTerm2 Project ~/code/web Next.js Git branch feature/auth (2 changed) Started 14h ago Likely purpose Next.js dev server
Find what is holding a port, and who started it.
Port, PID, command, parent chain, project, branch and uptime in one call. Read-only: nothing is stopped unless you approve it.
Read the guide- Claude Code
- Cursor
- Any MCP client
- Git
- Docker
How it works
One question in, six steps out.
Evidence first. Then a diagnosis. Then a fix you approve.
Every port, mapped to the process, project and branch behind it.
The local agent watches ports, processes, containers, Git state and HTTP health, and syncs changes to the dashboard every 10 seconds.
A waterfall of what it checked, how long each check took, and what it found.
Every stage names the agent that ran it and the evidence id it produced. Hypotheses are written down, and the diagnosis cites the ids it rests on.
A fix is finished when the checks pass, not when the command returns.
Port listening, health endpoint 200, database port reachable. Objective checks, recorded with the investigation.
The model reasons. It never gets a shell.
Every action is typed, classified by a deterministic policy, approved by you, executed by the local agent and verified afterwards.
Every action is classed before it runs, in the cloud and again on your machine. Prompt text cannot change the class.
Anything that changes your machine waits for a yes, with the target, risk and expected effect shown first.
Tokens, passwords and connection-string credentials are stripped on your machine. The cloud only ever sees the redacted line.
Three surfaces. One engine.
$ whoseport 8080 PORT 8080 Process bun pid 48291 Project ~/code/gateway Elysia Git branch feature/auth (2 changed) Started 14m ago HTTP GET /health 503 12ms database unavailable $ whoseport ask "why is the API unhealthy?" ✓ API process detected ev_1038 ✓ Port 5432 reachable ev_1040 ✗ Connection target mismatch ev_1042 ROOT CAUSE ▮▮▮ high API targets :5433; PostgreSQL is on :5432. ⚑ Approval required: review and approve the plan in the dashboard. No changes have been made.
One command shows every port. One more explains a failure. Nothing leaves your machine unless you connect the cloud.
All the tools a runtime engineer needs
- Port and listener discovery
- Process to project mapping
- Runtime and framework detection
- Docker containers and networks
- HTTP and health inspection
- Git branch and worktree state
- Environment snapshots and diffs
- JSON output for scripts
- Watch mode
- Evidence-first investigations
- Explicit hypotheses with confidence
- Dependency and propagation analysis
- Log and config inspection
- Shared-port detection (IPv4 / IPv6)
- Cited evidence ids
- Cost and budget per investigation
- Full decision trace
- MCP tools for coding agents
- Typed remediation plans
- Deterministic policy engine
- Per-action approval
- Local-agent execution only
- Objective verification checks
- .env backup before every edit
- Autonomy levels 0 to 3
- Approvals recorded on the timeline
- Approval by owner or org admin
Next.js, Vite, Astro, Express, NestJS, Hono, Bun, Node.js, Deno, FastAPI, Django, Flask, Ruby on Rails, Go, Spring Boot, Docker, PostgreSQL, Redis, MySQL, MongoDB, NGINX
Ready to know what is running?
One command to install. Read-only until you say otherwise.
Environment graph, investigation history and approvals for everyone in your organization. Free during early access.
See pricingOne MCP config line for Claude Code, Cursor or any MCP client. Read-only tools, so it can look but never change anything.