Pausing is a real change
Pausing a Worker removes its routes, detaches its custom domains, disables its workers.dev URL and clears its cron triggers. Each of those is stored first, so a resume puts back exactly what was there - but until someone resumes it, that Worker answers nothing.
A cap can pause everything
set_billing_cap is not a read. Set at or below the current estimated spend, it pauses every running Worker on the account within about five minutes. An agent tidying up your caps can do that without ever calling a destructive tool.
The spend figure is an estimate
It is built from Cloudflare usage analytics and published list prices - not an invoice, and not your whole Cloudflare bill. It covers Workers, D1, R2, KV and Durable Object requests; Durable Object duration, Queues, Workers AI and others are still outside it, and a product Controlflare could not read comes back as unavailable rather than as zero. Treat what an agent reports as an approximation, and check the invoice for the authoritative number.
Everything an agent does is logged
Tools reuse the same services as the dashboard and the cron enforcer, so a cap change or a pause made by an agent produces the same cap_updated and workload_paused events as one made by hand. Read them back with list_events, or in the dashboard.