{"_id":"@claude-agent/portfinder","_rev":"3-2b8ed7408a92d49f11704fc5fa0f73cb","name":"@claude-agent/portfinder","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@claude-agent/portfinder","version":"1.0.0","keywords":["port","process","kill","lsof","netstat","network","cli"],"author":{"name":"Claude Agent","email":"claude@agent-workspace"},"license":"MIT","_id":"@claude-agent/portfinder@1.0.0","maintainers":[{"name":"claude-agent","email":"claude-agent@agentmail.to"}],"homepage":"https://github.com/claude-agent-tools/portfinder#readme","bugs":{"url":"https://github.com/claude-agent-tools/portfinder/issues"},"os":["linux","darwin"],"bin":{"pf":"bin/cli.js","portfinder":"bin/cli.js"},"dist":{"shasum":"a44696be25544c071b260da1a1c786a23dd7ff65","tarball":"https://registry.npmjs.org/@claude-agent/portfinder/-/portfinder-1.0.0.tgz","fileCount":5,"integrity":"sha512-uYmqX0UXa/OqL86jo2haHS59vljy3quksj27YN5epKpwiML/11p7iW3oviRdUZeYjuL99mLxK01XhN2kd22G7Q==","signatures":[{"sig":"MEYCIQDn4tM8kzEUt8gNnx52iLJQM47K1hhw+sdnWTwy2NUZ8gIhAK+9VAOF3aS20Wo4yfXlxau2adftQEjjuTCpc0CrQxj7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22697},"main":"lib/index.js","engines":{"node":">=14.0.0"},"gitHead":"4b0b55f3ab90d851c85e84ad1bc3b8809fc6ac4f","scripts":{"test":"node test/test.js"},"_npmUser":{"name":"claude-agent","email":"claude-agent@agentmail.to"},"deprecated":"This package is deprecated. Use fkill-cli or kill-port instead - established tools with more features.","repository":{"url":"git+https://github.com/claude-agent-tools/portfinder.git","type":"git"},"_npmVersion":"9.2.0","description":"Find what's using a port and optionally kill it","directories":{},"_nodeVersion":"18.19.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/portfinder_1.0.0_1769035955861_0.9470858308972296","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-21T22:52:35.757Z","modified":"2026-01-22T01:06:09.586Z","1.0.0":"2026-01-21T22:52:36.041Z"},"bugs":{"url":"https://github.com/claude-agent-tools/portfinder/issues"},"author":{"name":"Claude Agent","email":"claude@agent-workspace"},"license":"MIT","homepage":"https://github.com/claude-agent-tools/portfinder#readme","keywords":["port","process","kill","lsof","netstat","network","cli"],"repository":{"url":"git+https://github.com/claude-agent-tools/portfinder.git","type":"git"},"description":"Find what's using a port and optionally kill it","maintainers":[{"name":"claude-agent","email":"claude-agent@agentmail.to"}],"readme":"# portfinder\n\nFind what's using a port and optionally kill it.\n\nA simple CLI tool for developers who frequently need to check port usage and free up ports.\n\n## Installation\n\n```bash\nnpm install -g @claude-agent/portfinder\n```\n\nOr use directly with npx:\n\n```bash\nnpx @claude-agent/portfinder 3000\n```\n\n## CLI Usage\n\n### Find what's using a port\n\n```bash\nportfinder 3000\n# or short alias\npf 3000\n```\n\nOutput:\n```\nProcesses using port 3000:\n\nPID      COMMAND          USER        PORT    STATE\n12345    node             developer   3000    LISTEN\n```\n\n### Kill process using a port\n\n```bash\nportfinder --kill 3000\n# or\nportfinder -k 3000\n```\n\nUse `-9` or `--sigkill` for SIGKILL instead of SIGTERM:\n```bash\nportfinder -k -9 3000\n```\n\n### List all listening ports\n\n```bash\nportfinder --list\n# or\nportfinder -l\n```\n\n### Find ports by process name\n\n```bash\nportfinder --find node\n# or\nportfinder -f node\n```\n\n### Find ports in a range\n\n```bash\nportfinder --range 3000-4000\n# or\nportfinder -r 3000-4000\n```\n\n### Check if a port is available\n\n```bash\nportfinder --check 8080\n# or\nportfinder -c 8080\n```\n\nReturns exit code 0 if available, 1 if in use.\n\n### Find next available port\n\n```bash\nportfinder --next 3000\n# or\nportfinder -n 3000\n```\n\nOutput: `3001` (or whatever the next available port is)\n\n### Show summary\n\n```bash\nportfinder --summary\n# or\nportfinder -s\n```\n\nOutput:\n```\n=== Port Summary ===\n\nTotal listening: 42\nUnique ports:    35\nUnique commands: 12\n\nPort ranges:\n  Well-known (0-1023):     5\n  Registered (1024-49151): 28\n  Dynamic (49152-65535):   2\n\nTop commands:\n  node                 8 port(s)\n  nginx                3 port(s)\n  postgres             2 port(s)\n```\n\n## Options\n\n| Option | Description |\n|--------|-------------|\n| `-h, --help` | Show help |\n| `-V, --version` | Show version |\n| `-k, --kill` | Kill process using the port |\n| `-9, --sigkill` | Use SIGKILL instead of SIGTERM |\n| `-l, --list` | List all listening ports |\n| `-f, --find <name>` | Find by process name |\n| `-r, --range <start-end>` | Find ports in range |\n| `-c, --check <port>` | Check if port is available |\n| `-n, --next [start]` | Find next available port |\n| `-s, --summary` | Show summary |\n| `-j, --json` | JSON output |\n| `-q, --quiet` | Minimal output (PIDs only) |\n\n## API Usage\n\n```javascript\nconst {\n  findByPort,\n  findListening,\n  findByProcess,\n  killByPort,\n  isAvailable,\n  findAvailable,\n  getSummary\n} = require('@claude-agent/portfinder');\n\n// Find what's using port 3000\nconst processes = findByPort(3000);\nconsole.log(processes);\n// [{ pid: 12345, command: 'node', user: 'dev', port: 3000, ... }]\n\n// Check if port is available\nif (isAvailable(8080)) {\n  console.log('Port 8080 is free!');\n}\n\n// Find next available port\nconst port = findAvailable(3000);\nconsole.log(`Use port ${port}`);\n\n// Kill process on port\nconst result = killByPort(3000);\nconsole.log(result.message);\n```\n\n## Requirements\n\n- Node.js 14+\n- Linux or macOS (uses `lsof`)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}