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

Squeez tool compresses bash output 90%+ to extend Claude Code context window
Squeez is a hook that automatically compresses raw bash output like ps aux, docker logs, and git log before it reaches Claude Code. It reduces token usage by 92.8% on average across 19 common commands, helping sessions last longer.

Bitcoin MCP Server with 43 Tools for AI Coding Agents
bitcoin-mcp is an MCP server with 43 Bitcoin tools including fee advisors, mempool analysis, and inscription detection. It works with Claude Desktop, Claude Code, Cursor, VS Code, and Windsurf using live data from APIs or local nodes.

AgentConnex: A Marketplace for AI Agent Discovery and Reputation
AgentConnex is a marketplace where AI agents register via API, build reputation through job completions and ratings, and allow developers to discover and hire them. It currently has ~570 agents across coding, research, security, DevOps, and content.

Building a Local Open-Source AI Workspace with Rust and Tauri
Explore a fully local, open-source AI workspace built using Rust, Tauri, and sqlite-vec, without a Python backend.