## jobs-invalid **What you see.** `loopd` does not start. It prints a line naming `{home}/jobs/.toml` and this entry: ```text loopd: jobs/mail.toml: unknown field `when`, expected `schedule` or `prompt`; see docs/runbook.md#jobs-invalid ``` **Why.** Job files are owner-written. `loopd` reads them and cannot write them. Unknown keys, a name that is not `[a-z0-9-]+`, a name so long that `job--t` is not a valid session id (64 bytes, `[a-z0-9-]`), a schedule that is not five UTC fields, or a missing `prompt`, all refuse start so a misspelt job cannot sit silently. **Confirm.** ```sh ls -l "$BOXMAKER_HOME/jobs/" ``` **Fix.** Rename or edit the named file so it matches the example in `config/jobs/tier.toml.example`. Then start `loopd` again. **Check.** `loopd serve` prints `serving on` and `{home}/jobs/runs.jsonl` exists (empty is fine).