| @@ -403,8 +403,14 @@ | ||
| 403 | 403 | * @return array Response data |
| 404 | 404 | * @throws \Exception If request fails |
| 405 | 405 | */ |
| 406 | 406 | private function make_request(string $endpoint, array $body = []): array { |
| 407 | + // The user's daily ceiling and kill switch are enforced here, at the | |
| 408 | + // one place every outbound Claude call passes through, so no feature | |
| 409 | + // path can bypass them by forgetting to ask first (#448). | |
| 410 | + Spend_Guard::guard(); | |
| 411 | + Spend_Guard::record(); | |
| 412 | + | |
| 407 | 413 | $url = self::API_BASE_URL . '/' . ltrim($endpoint, '/'); |
| 408 | 414 | |
| 409 | 415 | $args = [ |
| 410 | 416 | 'timeout' => $this->timeout, |