No payment. No time limit.
- Up to 3 apps
- 4 themes
- Every core feature
Workspaces, side-by-side terminals and live ports. Your AI agent drives the same servers over MCP.
Lite is free forever for up to 3 apps. macOS, Linux and Windows.
Click one to try it. Retro sets go full monospace, and every colour is editable.
NightJar reads the project and offers what can run. Monorepos too: apps/api dev lands in the right folder.
$ cd ~/code/storefront && pnpm dev
Plus npm, pnpm, yarn, bun, uv, poetry, DDEV, Lando and Sail.
Group apps into workspaces, add several folders in one pass, then split one tab to keep the terminals that matter side by side.
$ pnpm dev ▲ Next.js 15.2.1 ✓ Ready in 842ms GET /dashboard 200 in 34ms ○ Compiling /products ...
$ pnpm dev:worker queue connected ✓ listening on :4000 job 84 completed in 118ms waiting for next job
URL, CPU, memory and uptime for every process, live. Run, stop or restart a whole app from its card.
Every command gets its own process group. Stop takes down all of it.
A clean exit for the whole tree.
Time for shutdown hooks, not stuck watchers.
Whatever ignored the first one.
On Windows: the whole tree by parent pid, at once.
tsx watch ignoring SIGTERM should not hold tomorrow’s port.
Every listening port, grouped by process and tagged with your app. Kill the whole group in one click.
| Port | Command | PID | App | Action |
|---|---|---|---|---|
| :3000 | next dev --turbopack | 48217 | storefront › web | |
| :4000 | tsx watch src/server.ts | 48260 | storefront › api | |
| :5432 | postgres -D /opt/homebrew/var/postgresql | 911 | ||
| :8000 | python manage.py runserver | 48502 | ||
| :5000 :7000 | /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter | 612 | ||
| :7777 | /Applications/NightJar.app/Contents/MacOS/NightJar | 47102 | this app |
EADDRINUSE, handled.NightJar frees the port before a start. If a script hid it, the crash names it: freed, retried once. System daemons are never touched.
Claude Code, Codex, Cursor, VS Code and Windsurf talk to NightJar over MCP. They restart the server you already run and read its logs, instead of starting a second copy in their own shell.
Settings › AI agents has a snippet for each client with your port filled in. Streamable HTTP for most, stdio for Claude Desktop.
claude mcp add --transport http --scope user nightjar http://127.0.0.1:7777/mcp
codex mcp add nightjar --url http://127.0.0.1:7777/mcp
Every app, process state, URL, branch and what its checks found.
Latest lines of one process or all, ANSI stripped, regex filter.
Waits until the URL answers. A task comes back passed or failed.
Same as the card. Restart waits like start.
Turns the agent’s folder into an app with the detected dev command.
Add, change or remove a process without opening Settings.
Answers a prompt or presses Vite’s r, and returns the output.
Every listening port, and which app owns it.
Usage shows CPU and memory for everything NightJar runs, terminals included. Clean RAM finds the headless browsers and MCP servers your AI sessions left behind, says which ones still have an owner, and kills the orphans.
| Memory | Command | Kind | Owner | Action |
|---|---|---|---|---|
| 1.4 GB | chrome-headless-shell --remote-debugging-pipe | Playwright | parent exited | |
| 612 MB | node @playwright/mcp | MCP server | parent exited | |
| 388 MB | node @modelcontextprotocol/server-filesystem | MCP server | claude · 48811 | in use |
| 214 MB | node context7-mcp | MCP server | parent exited | |
| 96 MB | esbuild --service | dev tool | parent exited |
Lite lists stray processes and shows tray gauges. Usage, killing and alerts are Pro.
A Pro shortcut on macOS. NightJar starts the app, waits until the URL answers, then opens it.
{"app":"aralsync","url":"http://localhost:5173/","ready":true,"opened":true}
POST /api/start?name=aralsyncA real pty. vim, aliases and Ctrl-C work.
Filter, follow, copy. Heavy streams stay smooth.
Up to ten panes in one tab, split right or down.
State, pid, uptime, restarts, URL.
storefront.localhost:7780, HTTPS with mkcert.
Branch, ahead/behind, changed deps, missing env keys.
Web after API after DB, each waiting until ready.
Test, lint and build show passed or failed.
src/app.ts:12:5 in a log opens your editor there.
First run scans your home folder for projects.
Pro: pick several folders, set up each in turn.
Backs off from 1s up to 30s.
Env file, overrides, working folder.
nvm, pnpm and bun just resolve.
Switch one terminal to zsh, bash, fish or PowerShell.
Pro groups with their own icon, colour and apps.
Guessed from its dependencies.
Rebindable. ⌘1…0 picks a tab, ⌘C stops.
Close the window. Servers keep running.
Signed, downloaded in the background, one restart.
Scale the whole UI, 60–160%.
Twenty, from Nord to Game Boy.
API on 127.0.0.1, cross-site requests refused.
~/.nightjar/config.json
Same app everywhere. Siri stays on the Mac.
Universal build. Menu bar gauges, Siri, nightjar:// links.
AppImage. Live CPU read from /proc.
x64 installer. cmd.exe or PowerShell.
Lite is free forever. Pro is a one-time purchase for every feature and no app limits.
No payment. No time limit.
Save $10. One payment. All of Pro.
Runs locally on 127.0.0.1. macOS, Linux and Windows.