executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
finding-dev-server-urlScan running terminals for dev server URLs (localhost ports), report them, and optionally open the app in Cursor's built-in browser.
Independent GitHub snapshot · Automated classification · Original documentation governs
Detect which dev servers are running, what ports they're on, and open them.
Cursor stores live terminal output in text files. Each terminal has a file at:
<terminals_folder>/<id>.txt
The terminals folder path is provided in your system context. Each file contains metadata (pid, cwd, last command) followed by the full terminal output.
ls <terminals_folder>/*.txt
Read the first ~10 lines of each terminal file to see:
pid — process IDcwd — working directorylast_command — what's running (e.g. npm run dev, pnpm dev, python manage.py runserver)Skip terminals where the last command is clearly not a server (e.g. git status, ls, cd).
Read the full content of terminals that look like they're running a server. Search for these patterns:
| Framework | Pattern |
|---|---|
| Next.js | Local: http://localhost:XXXX or ▲ Ready |
| Vite | Local: http://localhost:XXXX/ |
| Create React App | Local: http://localhost:XXXX |
| Express | listening on port XXXX or listening at http://... |
| Django | Starting development server at http://127.0.0.1:XXXX/ |
| Rails | Listening on http://127.0.0.1:XXXX |
| Flask | Running on http://127.0.0.1:XXXX |
| Go | Listening on :XXXX or http server started on :XXXX |
| PHP | Development Server (http://localhost:XXXX) started |
| Remix | http://localhost:XXXX |
| Astro | http://localhost:XXXX |
| Nuxt | http://localhost:XXXX |
Regex to match most server output:
https?://(localhost|127\.0\.0\.1|0\.0\.0\.0)(:\d+)
Also check for standalone port patterns:
(listening|started|running|ready|serving).*(port\s*|:)\s*(\d{4,5})
Print a summary:
Dev servers found:
Terminal 1 (pid 12345) — npm run dev → http://localhost:3000 (cwd: /Users/me/app)
Terminal 3 (pid 67890) — python manage.py runserver → http://127.0.0.1:8000 (cwd: /Users/me/api)
If no servers are found, say so and suggest starting one.
If the user wants to view the app, use Cursor's built-in browser:
browser_navigate → http://localhost:<port>
Then take a screenshot to confirm it's rendering:
browser_take_screenshot
EADDRINUSE, address already in use), report the conflictexit_code in the terminal file footer