CLI reference
chock doctor
Ask the user before running chock doctor: what it takes and prints, from the engine at the pinned commit.
Check each client's hooks on each route: present, current, and seen running (--client X)
Syntax
This is the usage line argparse builds from this command's parser.
chock doctor [-h] [--repo REPO] [--client CLIENT] [--client-version CLIENT_VERSION]
[--sessions SESSIONS] [--json]
Arguments and options
The table lists every argument the parser declares, except -h, --help, written as argparse prints it. Default is the value the parser uses when you leave the option out. It is empty for a flag or when the parser sets none.
| Argument | Default | Help |
|---|---|---|
--repo REPO | . | The repository whose chock sync hooks to check |
--client CLIENT | One client: an install client id (claude-code) or agent id (claude_code) | |
--client-version CLIENT_VERSION | The client's version, compared with what agentseam witnessed | |
--sessions SESSIONS | 3 | Sessions the heartbeat check covers |
--json | One JSON object per target |
Exit codes
- 2: argparse rejected the arguments, for example an option this command does not have. The site's tests run every command with an unknown option and check that it exits 2.
- Chock documents no other exit codes. Each example below shows the code its run returned.
Examples
Real runs, recorded by python -m sitegen.cliexamples with the engine at the pinned commit. The steps of data/cli-examples.yaml ran in order, offline, in one fresh git repository at /work/demo (made with git init -b main), with HOME at /home/demo. Those paths stand for the throwaway folders the runs used, and <time> stands for a timestamp. Output is stdout and stderr together.
Step 14 of 21, exit code 0.
$ chock doctor
claude_code [sync] /work/demo
PASS hooks: /work/demo/.claude/settings.json runs claude_code.py
PASS launcher: launch.sh present; python3 is 3.12
PASS engine: runtime matches chock 1.0.0 (5a4b6287a46e)
INFO client: agentseam witnessed 2.1.263, 2.1.275; doctor does not run the client
fix: pass --client-version to compare
INFO last fired: no hook record yet
WARN heartbeat: no session_start heartbeat yet
fix: start a new session; if none appears, the client is not loading it: run `chock sync --repo /work/demo`
gemini_cli [sync] /work/demo
PASS hooks: /work/demo/.gemini/settings.json runs gemini_cli.py
PASS launcher: launch.sh present; python3 is 3.12
PASS engine: runtime matches chock 1.0.0 (5a4b6287a46e)
INFO client: agentseam has witnessed no gemini_cli version
fix: see agentseam's evidence wanted issues
INFO last fired: no hook record yet
WARN heartbeat: no session_start heartbeat yet
fix: start a new session; if none appears, the client is not loading it: run `chock sync --repo /work/demo`
vscode_copilot [sync] /work/demo
PASS hooks: /work/demo/.github/hooks/chock.json runs vscode_copilot.py
PASS launcher: launch.sh present; python3 is 3.12
PASS engine: runtime matches chock 1.0.0 (5a4b6287a46e)
INFO client: agentseam has witnessed no vscode_copilot version
fix: see agentseam's evidence wanted issues
INFO last fired: no hook record yet
WARN heartbeat: no session_start heartbeat yet
fix: start a new session; if none appears, the client is not loading it: run `chock sync --repo /work/demo`
Help as printed
This is what --help prints, from the same parser. The usage line names the program as the engine's parser does.
usage: chock doctor [-h] [--repo REPO] [--client CLIENT] [--client-version CLIENT_VERSION]
[--sessions SESSIONS] [--json]
`chock doctor [--client X] [--repo .]`: each client's hooks on each route, PASS/WARN/FAIL with a
fix.
options:
-h, --help show this help message and exit
--repo REPO the repository whose `chock sync` hooks to check
--client CLIENT one client: an install client id (claude-code) or agent id (claude_code)
--client-version CLIENT_VERSION
the client's version, compared with what agentseam witnessed
--sessions SESSIONS sessions the heartbeat check covers
--json one JSON object per target
Built from engine 5a4b6287a46e and catalog 1e60d211c1bb.