« Kosse qui roule sur mon ordi ? »
Kossé ? is Québécois for “what’s that?”, the question you ask about a port you don’t recognize.
A menu-bar app that tells you what’s listening on your Mac, and which repo started it.
You start dev servers from terminals, scripts and coding agents. A day later there are a dozen listeners on ports you don’t remember, some from worktrees you forgot. Kosse lists them by repo, worktree and branch, and stops one only after you confirm exactly which process it is.
v1, macOS on Apple silicon. The repository isn’t public yet. Sources
What’s on :5175?
Pick a service in the menu or the window. Inspect shows why it’s in that project.
Made-up projects and processesmain~/code/storefront- webnode · apps/web:5173, :5174Reachable · 2002 h3.1%182 MB
- apinode · apps/api:8787Reachable · 4042 h0.4%96 MB
feat/checkoutworktree~/code/storefront-checkout- webnode · apps/web:5175Reachable · 2003 d0.0%141 MB
main~/code/notes- notesnotes:3000Reachable · 20040 min0.2%24 MB
- postgrespostgres:5432Listening · Not HTTP40 min0.1%38 MB
- ollamaollama:11434Listening · Not checked6 d0.0%61 MB
How it works
- Finds
- Every TCP listener on your Mac and the process behind it, every three seconds. Nothing to register, and no change to how you start things.
- Groups
- From the process’s working directory up to its repo or worktree, with the branch. Two worktrees of the same repo stay apart, and the nearest package.json or Cargo.toml names the service.
- Says what it saw
- Listening means a socket is open. Reachable means an HTTP server answered, even with a 404. A database gets no Open link, and what Kosse can’t tell stays unknown.
- Stops carefully
- It checks the PID and start time again right before the signal, asks for a graceful stop first and forces only after a second confirmation. It never touches the parent, the process group or another user’s processes.
- Stays local
- The dashboard answers on loopback only and refuses requests from other websites. Secrets in command lines are redacted before anything shows them. No telemetry.
- Stays light
- One Rust process serves the menu, the dashboard and the CLI. On an M4 Pro, a scan of 30 services takes about 2.4 ms, and the server idles at under half a percent of one core.
Run it
kosse- The menu-bar app, and the dashboard on first launch.
http://127.0.0.1:47831/- The dashboard, in Kosse’s own window or any browser.
kosse list --json- The same snapshot, for scripts.
kosse serve --no-open- No menu, only the dashboard server.
Kosse runs on Apple silicon Macs and builds from source. The app isn’t signed, so allow it once in System Settings › Privacy & Security.
Sources
Last checked .
- Status
- v1, macOS on Apple silicon. Built from source and unsigned. The repository isn’t public yet.
Kosse README and product contractREADME.md and blueprint/product.md at 0f4177a and the Oct 28 working tree (not public yet)
What it is, the five jobs (see, recognize, open, inspect, stop), grouping by repo, worktree and package, observations instead of health claims, the stop rules, local-only privacy, the name and tagline.
Written while the code was being renamed from Stackscan. It describes v1; the page doesn’t quote output from the menu or the dashboard.
Architecture and verification gatesblueprint/architecture.md and blueprint/verification.md at 0f4177a and the Oct 28 working tree (not public yet)
One Rust core shared by the menu, the dashboard and the CLI, the 3-second scan, PID plus start time as identity, HTTP probes on loopback only, the browser guards, the commands, and testing against real owned processes.
A contract for the build. It says what each part must prove, not what a given machine sees.
Slice evidence S02 to S04docs/evidence/S02.md, S03.md and S04.md, Oct 28, 2026 (not public yet)
Scan time with 30 test services in 10 worktrees (2.35 ms warm, median) and the idle cost of the headless server (0.4% of one core, about 14 MiB), both on an Apple M4 Pro.
One machine, before the menu-bar app and the dashboard window were measured. Your numbers will differ.
Kosse brandbrand/BRAND.md, tokens.json and the SVG assets, Oct 28, 2026 (not public yet)
The mark Le raccord, the Fleuve palette, the state colours, the menu-bar glyph and the voice of the stop confirmation, used on this page as the brand defines them.
Brand artwork only. The menu and dashboard on this page are drawn for the demo, not captured from the app.