3. Machine resources
What a search runs on your machine, and how to see it.
A search is more than one process. Its engine starts a coding agent for every attempt, the agent runs commands of its own while it works (trying its code, reading files), and every attempt ends with a verifier run that starts the solution itself. With a few searches in parallel that is a lot of processes, and two commands show you all of them.
hillclimb top
hillclimb tophillclimb top is a live view of every hillclimb engine on this machine, in the spirit of top
or nvidia-smi. Its first line is the machine: how many engines run, how many coding agents
against the machine's cap, CPU, load and memory. Under it is one row per engine: its problem,
its state, the budget left, the best score, the number of candidates and what is in flight right
now. The engine you highlight shows its processes underneath.
It works from any folder, and you can act from it:
| key | what it does |
|---|---|
| enter | open hillclimb watch on the highlighted search |
w | the run's searches side by side |
c | the climb chart |
s / g | stop the search now / stop it once the attempts in flight are scored |
K | kill an engine that does not respond |
o, r | change the sort, reverse it |
q | quit |
hillclimb ps
hillclimb ps # once
hillclimb ps --watch # redrawn every second, with CPU and memoryhillclimb ps lists every process hillclimb is responsible for, one block per engine with
everything it started nested underneath. Each process is tagged with its role:
| role | what it is |
|---|---|
| agent | a coding agent writing an attempt |
| tool | a command the agent runs itself, for example trying its solution |
| mcp | a server the agent loaded from your own Claude config |
| verifier | a scoring run |
| solution | the solution the verifier runs |
An engine whose hillclimb folder has been deleted is tagged orphan. hillclimb stop --all
cleans those up.
The machine's cap
However many searches you start, hillclimb runs at most concurrency.machine_max_agents coding
agents at once on this machine, across every search and every folder. The default is the number
of cores minus two, at most eight, so a laptop stays usable. A search that wants another agent
when the cap is reached waits for a slot, and hillclimb watch shows it as waiting. Raise the
cap in hillclimb.yaml if your machine has room:
concurrency:
machine_max_agents: 12Every verifier run and every coding agent also runs inside the execution sandbox, which limits what it can write and reach.