Claude Code Limiter: Self-Hosted Rate Limiter for Shared Claude Code Subscriptions

What It Solves
When multiple developers share one Claude Code Max subscription without usage controls, a single user can exhaust Anthropic's rate limits by sending too many prompts (like 50 prompts in an hour), locking everyone else out for the day. There's no built-in way to prevent this.
Features
- Per-model quotas — e.g., opus: 5/day, sonnet: 25/day, haiku: 50/day per user
- Credit budgets — single daily budget across all models (opus = 10 credits, sonnet = 3, haiku = 1). Users decide how to spend it.
- Sliding 24h windows — no midnight reset gaming
- Time-of-day rules — restrict expensive models to work hours
- Real-time dashboard — live usage feed, per-user breakdowns, usage charts
- Kill switch — instantly revoke a user's access and force logout, remotely
- Tamper-proof — 6 security layers including managed-settings.json enforcement, file permissions, integrity-checking watchdog, and server-side tracking
How It Works
Setup:
- Self-host the server — single Docker command on any VPS, cloud, or your network
- Add users in the dashboard — set their name, limits, credit budget → get an install code
- Install on each machine —
sudo npx @howincodes/claude-code-limiter setup --code CLM-xxx --server https://your-server - Done — the hook checks limits on every prompt via Claude Code's managed-settings.json (highest-priority config, can't be overridden by users)
User experience: When a user exceeds their limit, they see: "Daily opus limit reached. Used 5/5 prompts today. All usage today: opus: 5/5 (0 left) sonnet: 12/25 (13 left) haiku: 3/50 (47 left) Credit balance: 15/100 Switch to another model or try again later."
Technical Details
- Client hook: zero npm dependencies, Node.js built-ins only. Installs into managed-settings.json with
allowManagedHooksOnly: trueso users can't add bypass hooks. - Server: Express + SQLite + vanilla JS dashboard. Single Docker container, single volume mount.
- Offline-capable: hook caches limits locally, works when server is unreachable, syncs when back online.
- Fail-closed: if someone deletes the config files, all prompts are blocked (not allowed).
Links
- GitHub: github.com/howincodes/claude-code-limiter
- npm (client): @howincodes/claude-code-limiter
- npm (server): @howincodes/claude-code-limiter-server
- Docker: ghcr.io/howincodes/claude-code-limiter:latest
Open source. Self-hostable. MIT licensed.
📖 Read the full source: r/ClaudeAI
👀 See Also
Voker Launches Agent Analytics Platform with Intent/Correction/Resolution Primitives
YC S24 startup Voker launches an agent analytics platform with a lightweight SDK that automatically annotates user intents, corrections, and resolutions — providing self-service dashboards without relying on LLMs for data engineering.

Libretto: Deterministic Browser Automation Generation for AI Coding Agents
Libretto is a Skill+CLI toolkit that enables AI coding agents to generate deterministic browser automation scripts as actual code, moving away from runtime AI agents. It combines Playwright UI automation with direct network/API requests for reliability and includes step-through debugging and read-only modes.

Phaselock: An AI Agent Control System Inspired by Parenting Techniques
Phaselock is an open-source Agent Skill that implements four control mechanisms for AI agents: explicit gates before action, immediate feedback on mistakes, constrained choices, and mechanical rule enforcement. It works with Claude Code, Cursor, Windsurf, and tools supporting hooks.

OpenClaw Claude Extension Updated to Use Agent SDK After Anthropic Billing Changes
An OpenClaw extension developer rewrote their Claude CLI integration to use the official claude-agent-sdk after Anthropic started detecting and reclassifying CLI usage as third-party app usage, which bills against a separate credit pool instead of Max plan limits. The SDK approach authenticates through existing Claude Code login and bills as regular Max plan usage.