Appearance
Exit codes
| Code | Name | Meaning | Raised by | What to do |
|---|---|---|---|---|
| 0 | success | Success. Also: the host stopped on Ctrl+C or SIGTERM; a second host found one already running | all | Nothing. |
| 1 | failure | The command failed, for example a SQL error, a full disk, or a labelling run that could not reach its API | all | Read the line the command printed. Run it again with LOGBOOK_DEBUG=1 for a stack trace, and run logbook doctor to report it. |
| 2 | usage error | Unknown command or option, bad value | all | Check the command and its options against logbook <command> --help. |
| 3 | already running | Another command holds a warehouse lock this one needs | sync, forget, compact, labels update, labels run, labels drop | Wait for the other command to finish, or stop it, then run this one again. |
| 4 | port in use | The port is in use by another program or another Log Book | start | Pick another port with --port, or stop the program that holds it. If it is another Log Book, open its page instead. |
| 5 | unsupported environment | Node older than the floor, or a platform other than macOS and Linux | the shim | Install a supported Node, or run Log Book on macOS or Linux. |
| 6 | newer warehouse | The warehouse's schema is newer than this build reads | every command that opens the warehouse | Update Log Book: a newer version wrote this warehouse. |
| 7 | missing prerequisite | Claude Code is missing, too old, or not signed in | labels update, labels run, labels plan | Install Claude Code, update it, or sign in to it, as the line says, then run the command again. |
| 8 | usage limit | Labelling stopped at your Claude usage limit; every finished batch is kept | labels update, labels run | Run the command again once your Claude usage resets; it carries on from the last stored batch. |
| 9 | updated while running | This child's version differs from its host's: Log Book was updated while running | children of a host | Stop Log Book and start it again, so the host and its children run the same version. |
| 10 | partial failure | The sync imported what it could, but some step failed or some files were skipped | sync | Read the lines about the failed step or the skipped unit, fix what they name, and sync again. |
| 130 | interrupted | Stopped by Ctrl+C or SIGTERM; work already stored stays | one-shot commands | Nothing, unless the command should have finished: run it again. |