Troubleshooting
Fix Seekter when a run stops: Claude in Chrome not working, a form waiting or frozen, a submit that does nothing, a LinkedIn warning, or Windows trouble.
Most stops are Seekter doing what it should: it would rather hand a job application back than guess. This page covers the ones that need something from you, from a Claude in Chrome extension that stops responding to a form that won't submit.
The Run Stops Before It Starts
The first thing a run does is check your setup. If it stops there, run the same check yourself:
node scripts/seekter.mjs settings --check
Each problem: line names one thing to fix:
- No profile, no application email, no default resume or no country. These four have no default. Run
/seekter-init; it picks up where it stopped. - A setting it can't read: invalid JSON, an unknown
linkedin.mode, a negative number. The line says which key inprofile/settings.jsonto fix.
Anything it reports as "using defaults" is fine; those keys run on the values in templates/settings.json.
The Chrome Extension Disconnects
Forms, webmail and boards all go through the Claude in Chrome extension. When it drops mid-run, Seekter logs what it has done so far, lists the postings still in the queue and asks you to reopen Chrome. It doesn't switch to a browser that can't upload files.
Reopen Chrome, check the extension is connected, and tell the run to carry on. Without the extension at all, only the API steps run, and the report says so.
A Form Is Waiting in a Tab
That's a hand-off: a CAPTCHA, an account wall, or a question only you can answer. Each one has its own tab and a row in the Needs you table at the top of applications/README.md with the next step. Finish it in that tab, then tell Seekter ("I submitted the Acme form") so the record moves to applied.
Don't reuse a hand-off tab for something else; the filled form is gone the moment it navigates away.
A Form Freezes the Tab
Some systems freeze when a file is attached from the extension. Phenom is the known one, and those forms come back to you from the start. If another system does it, reload the tab and apply by hand; the run notes the system in its report so the next run knows.
A Submit Seems to Do Nothing
Some forms answer a submit with no visible change, or with an error page, even when it worked. Seekter reads the job page or the system's own confirmation before deciding, and an "already applied" answer after the first send means the first one went through. It never refills a form blindly. If you're unsure, search your inbox for the confirmation mail.
LinkedIn Shows a Warning
In read mode, the first warning, CAPTCHA or unusual-activity page stops LinkedIn for the rest of the run and switches linkedin.mode back to email. Switch it back on only when you've decided to, and expect the limits to stay where they are. See Guardrails.
Resumes Won't Print
resume.mjs prints with the Chrome (or Chromium, or Edge) already on your machine. If it can't find one in the usual place, point it at the browser:
SEEKTER_CHROME="/path/to/chrome" node scripts/resume.mjs pdf profile/resume/json/resume.json --all
A print that is refused because of drafts is on purpose: approve the new text first, or print a review copy with --drafts.
Windows
- "Running scripts is disabled on this system" when you type
npx seekter initin PowerShell: that's PowerShell's execution policy blockingnpx.ps1. Runnpx.cmd seekter initinstead, or use Command Prompt. tarnot found:npx seekter initunpacks the release with thetarthat ships with Windows 10 and later. On an older Windows, downloadseekter.zipfrom the latest release instead.- Nothing gets logged from Windows PowerShell 5.1: every tracker write fails with "is not valid JSON". That shell saves files with a byte-order mark the tracker used to refuse. Fixed in v0.13.0; see Updating Seekter.
- Node version: everything needs Node.js 20 or newer.
node --versiontells you which one you have.
Still Stuck?
Open an issue with what you ran, what you expected and what happened. Leave out anything from profile/. A way around one of the guardrails goes to a private security advisory instead.