{"version":"2.1.315","anchor":"gateway-gains-pooled-per-group-spend-limits","canonical_anchor":"gateway-gains-pooled-per-group-spend-limits","heading":"Gateway adds spend budgets shared by a whole group","tier":"use","area":"Gateways","scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315\/e\/gateway-gains-pooled-per-group-spend-limits","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315","markdown":"### Gateway adds spend budgets shared by a whole group\n\nThe bundled gateway can now cap monthly spend for a whole group, rejects requests when the shared pool runs out, and documents the group_pool limit header\n\n**What**\n\nThe gateway bundled with Claude Code is a proxy that sits between Claude Code and the model provider and can enforce spending caps. It can now enforce a budget shared by a whole group of users (an RBAC group, a role-based permission group), in addition to each developer's own cap.\n\n- The gateway's database update adds `pooled_limit_enabled` and `pooled_monthly_credit_limit` to the `spend_limits` table, plus a new `pooled_spend` table.\n\n- The schema for setting limits gains a `pooled_budget` object.\n\n- On each request the gateway checks the group's shared budget. When it is used up, the request is refused with a 429 `billing_error`, and the groups involved are logged.\n\n- If the shared-budget check itself fails, the gateway logs \"pooled spend check failed, so group budgets are not enforced (developers' own caps are)\", at most once a minute. Each developer's own cap still applies.\n\n- After each request the gateway records spending against the pool, and warns if that write has not finished after 30 seconds.\n\n- The retention job now also deletes `pooled_spend` rows older than the retention window.\n\n- The built-in gateway documentation now explains group-shared budgets: a 429 `billing_error` can mean the group budget ran out, and the gateway then sends the monthly limit details plus the header `anthropic-ratelimit-unified-overage-scope: group_pool`. The header is sent when the scope type is `group_pool`.\n\n**Why**\n\nAdministrators running the bundled gateway can cap spending for a whole group, not only for each person. If you hit a 429 `billing_error` with the `group_pool` scope, it is your group's shared budget that ran out, not your own.\n\n- Area: Gateways\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 3\/5\n- Scope: org\n- Heads-up: no"}