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

Free Claude Session Optimizer: Token Estimator, Prompt Compressor, and Session Planner
A developer has built a free, no-sign-up tool to help manage Claude's usage limits with three features: a token estimator to preview prompt consumption, a prompt compressor that reduces prompts 40-60% by removing filler phrases, and a session planner that groups tasks to minimize context reloading.

Exploring AI with Tiny Bots: Understanding AI Agents Through Nanobot Tutor
OpenClaw community member shares insights with the 'Nanobot Tutor', a miniature framework aimed at demystifying AI agent functionality. Discover how diving into this compact learning environment unveils the workings of intelligent agents.

Workaround for ChatGPT Project Migration Gap: Export Scripts and Prompts
A developer created Python scripts and Claude prompts to migrate conversations from ChatGPT to Claude when ChatGPT's data export lacks project membership information. The solution extracts conversations using titles captured from the interface.

ARP: Stateless WebSocket Relay for Autonomous Agent Communication
ARP (Agent Relay Protocol) is a stateless WebSocket relay for autonomous agent communication featuring Ed25519 identity, HPKE encryption per RFC 9180, binary TLV framing, and 33 bytes overhead per message. No accounts or registration required—just generate a keypair and connect.