{"_id":"claude-usage-limits","_rev":"58-a15316f5f799b7d20fda57ec90295c59","name":"claude-usage-limits","dist-tags":{"latest":"1.41.1"},"versions":{"1.0.0":{"name":"claude-usage-limits","version":"1.0.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.0.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"eca88fd0ee8d100f3d18884e11b97c22e5439797","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.0.0.tgz","fileCount":12,"integrity":"sha512-cAeYpOht2m6ZHvk+TyayHAycZaVD+qBkJ+Wxp4o0tM9OBz4Rcd6+X61AlIdZKuuxysssKNvc4eM33wY2/5HDmQ==","signatures":[{"sig":"MEUCIQCsaq5fXEleiTUTvbp5pZNsVCJZJ08nFsgymFgg222IzAIgSiG5nZ3sTMRPTp0M2udhHYdh5bHzyUQlbhWv1TkX5JE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74787},"engines":{"node":">=18"},"gitHead":"8345510be4e69517370a84679b8026c68a09be55","scripts":{"test":"node --test","usage":"node bin/cli.js"},"_npmUser":{"name":"ridelink","email":"app.ridelink@gmail.com"},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"10.9.4","description":"See how much of your Claude Code usage limit is left as turns of work rather than a percentage, and plan the job to fit inside it.","directories":{},"_nodeVersion":"22.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.0.0_1787543229574_0.44134724982432405","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"claude-usage-limits","version":"1.1.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.1.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"d17fc0a66c2f908130886f37e50c2321468e8fe2","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.1.0.tgz","fileCount":14,"integrity":"sha512-jOOzcOFRMDWWHU/g+V0bHxS+AQfSoR8LR4cz9yeImJElQkLst52Emn7piedlfEBdvOBMBaVduXJu1yERSHX2Zw==","signatures":[{"sig":"MEUCIBg++zcext4eFl35/IZTcQkTPFK9ek8pbvd38t1nPQ6DAiEAgSZZViICE4nJepOC4ldFbtQvYYFAobD39z+G0X2neVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91748},"engines":{"node":">=18"},"gitHead":"55ae24db4a2650dc76f4b7a0c8fb5babb6c872f2","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"ridelink","email":"app.ridelink@gmail.com"},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"10.9.4","description":"See how much of your Claude Code usage limit is left as turns of work rather than a percentage, and plan the job to fit inside it.","directories":{},"_nodeVersion":"22.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.1.0_1787605311962_0.5923242501913641","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"claude-usage-limits","version":"1.1.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.1.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"1fc040b9d8b3ae1dce80532df314c981e153173d","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.1.1.tgz","fileCount":14,"integrity":"sha512-QQa/IqQ1k6bCL+Gyd6Wo+pK0IxDW7PQHQBq/ByaCJ8UDXtLvvAbv6CJv9H++qnQSgIgRV3bKDR2sClqRtrw2Uw==","signatures":[{"sig":"MEYCIQCstYcvAHajcffW5ggekQS2yTIgygLv2+Ix7dtcC8+3wwIhAP+pzqkEIMhbaT/ZSSoub/k07tf9Hn6otffhATi44+Da","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92331},"engines":{"node":">=18"},"gitHead":"b73a87b33835d60dd2a758166493fb2888ce2a67","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"See how much of your Claude Code usage limit is left as turns of work rather than a percentage, and plan the job to fit inside it.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.1.1_1787607125568_0.2192458721667112","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"claude-usage-limits","version":"1.1.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.1.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"a40b651be52937e976cd85915509213bb9baece8","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.1.2.tgz","fileCount":14,"integrity":"sha512-p1el3Tu9nyxjj40qcID6emA2uOM9rfQjJFvvSx08u5sjHUjX16f1YM6yGxXGeJMKtJCaMz1f3OYqF5fn5lqVqw==","signatures":[{"sig":"MEUCIGGMF4YUUV0ai71Lb4ocEUPqPIHDHxutj905idAQLU3nAiEAstTMaWBuFgRWmwK0GCBSwcyDen9NLl4eEjEhqA0a/KA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95837},"engines":{"node":">=18"},"gitHead":"e45e14200ceacb1d2c61423f40195caca3c66fdc","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"See how much of your Claude Code usage limit is left as turns of work rather than a percentage, and plan the job to fit inside it.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.1.2_1787607708925_0.5358519925213181","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"claude-usage-limits","version":"1.1.3","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.1.3","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"c92cf3962bac744dcd596772dbffdaa5e2df7176","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.1.3.tgz","fileCount":14,"integrity":"sha512-ItqwjBYMiKLTD50oNJfcBEgqhAA/LR0G41KDmNWhanvqpDYBWpZ8sxA+V60rKezE27ddxOdX8CFFMScWx+CQhA==","signatures":[{"sig":"MEQCIBJefnvqJUbdXkKlWxGVV+XtwTs+dlZt9kMazfUKC8tqAiApqW5Xkw1DUy2aBXj6/w9N3CtS/X9f/kn108C7nlZWwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99648},"engines":{"node":">=18"},"gitHead":"cb93eeb2559a8fba9d9dda8d3200ff44d95cd18b","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.1.3_1787619380924_0.39257641844706725","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"claude-usage-limits","version":"1.1.4","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.1.4","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"ea780071fbcc62e84d101f4948f0b351a3898ba6","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.1.4.tgz","fileCount":14,"integrity":"sha512-DYGfoOu9Zji5MZCOQUTRX1s+IK3TiGPfql4ACeSV7+kbbm9fuWl0hnvR+NekYHpux5kGLuCLCZv/JrJ3fc3dxA==","signatures":[{"sig":"MEUCIQCqRMDTVstRuW/Xz5If6NeNywsLOOtwdGbQ4IciJdoXngIgJ7Y5h6lRcjvr4lLyPAQrXC59MTbKjkD+bUdC691cdfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100216},"engines":{"node":">=18"},"gitHead":"66650c669639152d9e50953af79ab2ce2e32acf2","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.1.4_1787619747450_0.4256051341158025","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"claude-usage-limits","version":"1.2.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.2.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"e588c19c118c974b6cde82580307ade9419d9ebb","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.2.0.tgz","fileCount":14,"integrity":"sha512-1i52iuhynNg2hylnkXSDt2kPjl49T0ssDsdRvrP+XY4RIG+RlCmnuAVxrr97Cqq4/hhTgFNP8f6bc/lVZg4ZcQ==","signatures":[{"sig":"MEUCIQDCFYZ7PBTJebmGwX32aX+6pswKWnKes7gMBD+Yobf6pgIgUF1vkudYiZjC06Zabl1fPABCDDHMGVC5g7XMaVJS160=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106576},"engines":{"node":">=18"},"gitHead":"65ff5dda1e55ebfeec2aa2f66192372544310135","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.2.0_1787659290183_0.3303875560143772","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"claude-usage-limits","version":"1.3.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.3.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"47de7f5dc6159a4ffde50f1747c5b26a9946329a","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.3.0.tgz","fileCount":14,"integrity":"sha512-GQi7SGrafjBmOAbMAPI0zB02om8xEXjCG+G+ETlCCs3xA856DPCkYrQXwPrdH+2PewuOrcbmN8/MwlVD8GL84A==","signatures":[{"sig":"MEQCICpg1LCpIDqfLP95LXIUaeVdX+0JdEVB8njkYU7vOha3AiA2hz3cqV+wrmOUdjHkXRYYu6DrUdcg82OjRNfYtGLK5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108973},"engines":{"node":">=18"},"gitHead":"1d1f6b072e1e3fc1ed84f7f3d731393b0da91acb","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.3.0_1787659657373_0.6613568339511526","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"claude-usage-limits","version":"1.4.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.4.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"04564a48b1fdb6014353c765281789896af87425","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.4.0.tgz","fileCount":14,"integrity":"sha512-wkVO8UgrkBJqv9mr+6wHRBoN3CwDlyypeuqzxxoF3cDXHGKBJapWQpWStajKsHM323al9OfkGYQzlkK6WRvPGA==","signatures":[{"sig":"MEUCIQDA9v4beKksGUgsHMY2OKUXV9VY3fsjCYnZ4Jarhx1NqQIgcA3a1L9HQz5txxlHDML60ns0/0rLOaCarUgmzOeTWOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112009},"engines":{"node":">=18"},"gitHead":"6e16cb225aa5361258653789edeacbf8f4f8d068","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.4.0_1787688702483_0.7483708129609714","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"claude-usage-limits","version":"1.5.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.5.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"b178c0f9007ebf763adf457b6de4be5abc6dccc9","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.5.0.tgz","fileCount":14,"integrity":"sha512-KBUXiNtkij3/yN9T4wUSQWlGC7NAM1y9Sn6zneYGo+0E9VeAqqPg/1DWqS7yN1+q6Y8OiMEPasqRnQIjv2FV5A==","signatures":[{"sig":"MEUCIQCMPvgktos69+9lnHNtHHH47hoGT9weGGTIET15L42Z3gIgOPlvKxulpR847rbGBRqAaDGCPAr3V/4+TsdzMj3jBHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115820},"engines":{"node":">=18"},"gitHead":"2cfb5d6b02ab606453efe318cd4c8a2ecda263b6","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.5.0_1787689901566_0.92422994425382","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"claude-usage-limits","version":"1.5.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.5.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"c4bd081855d3679cc8a956ce177e33c49ea9724d","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.5.1.tgz","fileCount":14,"integrity":"sha512-MI9+PYZDdJ7C63xhBfxZ/Ym1QC74GRKDGF5yOe7H8hnp8s4kpgwqwxsYfpVc9AnX+i6rnFbcM5SCKGUScL7wGg==","signatures":[{"sig":"MEYCIQC0Z7zl3JSRmhuimbyrG1habLcjIkpGF9+j84ELaRZvpwIhAKMlAST6wvu3xPsT/mAoCmoB2rpajevFyxrcnwM5UNJ8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117411},"engines":{"node":">=18"},"gitHead":"135bb863362dd927a83a045a18d6b7eaf518b5d7","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.5.1_1787698163227_0.8144270983905386","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"claude-usage-limits","version":"1.5.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.5.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"2b62135e4cc3e6f57cd530fb510496ac97e72b53","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.5.2.tgz","fileCount":14,"integrity":"sha512-kaQUPXuWYl7480wx4s2zw4Q0tY+KaeaN1n5zD+QzfZPYrQIONJhHd41tEGhlOQgECJq4ALPxAAH3mlRuU0Dskg==","signatures":[{"sig":"MEUCIC3H///2KoBmHnXB1F/xIEXj0yrhQ7toBat3Za78w/4WAiEApB/VxfbbSkRfy7vCDIpL6JLsb6/n3uE2DQq9ieKRNe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120100},"engines":{"node":">=18"},"gitHead":"1c805ba917f757f2115e77cd9e49a162993c5d1a","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.5.2_1787712905633_0.956322791231875","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"claude-usage-limits","version":"1.5.3","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.5.3","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"1f6377ee1fed0b7c72f7e4b691e939e23b8d709d","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.5.3.tgz","fileCount":14,"integrity":"sha512-Mv/oLqZLjMVMc4HrDCrYqcgJBJlSGtDf/3xPBRxsKyQ9N641oeAIx76a55BmNGIijcmiDEegNvOGrGrrQ302QQ==","signatures":[{"sig":"MEUCIFOq71cyJEenpOC9U/0egZyFknUZ2GcugJL2nIZNU5bYAiEAiUlBVMuGeK44hOFla5O8aPHKwxyphR2dS6aYoXbi1+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120364},"engines":{"node":">=18"},"gitHead":"3e6e41fc7fa6dce6b12c96e8513c24811dfb3ae9","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.5.3_1787713340928_0.23736084939708624","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"claude-usage-limits","version":"1.5.4","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.5.4","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"77996d8e6fb82aea3e31168cfa4b4f7b05dd9a20","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.5.4.tgz","fileCount":14,"integrity":"sha512-KVVnYDSdpZZRiGMnK481ulRISx8U13ch+SgOWD80ODZEUdv/oPUkR/xelWza2+vIFAkc4Fpgv/5AYifXLr4h3Q==","signatures":[{"sig":"MEQCIBJxuj4ATueDg5wwSBuGtGJE7JD+ifQbzFJ+TPtWviBBAiB8MUU62gj8Jiz9FNUEbOcC7UxW5LOKVmj5nrR1F7HjlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122999},"engines":{"node":">=18"},"gitHead":"995fda83b078805b9ab215747462ee1039b2081d","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.5.4_1787773716192_0.7734318493945609","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"claude-usage-limits","version":"1.5.5","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.5.5","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"4c7d7a7e928a423d5f388e3515e5e205955e9d56","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.5.5.tgz","fileCount":14,"integrity":"sha512-VSL+NInOr0UpVvkFAt+O/VkVLx8YPsPCa4W4nuT54wJklJfEz6YVJVDPoJCCmLwhcPYeKOgvoWM1L+mlC46YlQ==","signatures":[{"sig":"MEQCIDI84c7i7YhA+grN1jCEZS3G+3S/uZoj9AfN6wI1n359AiBQWPrIJMDM2j9st2z10epyUYYwdmEXaGyvemD77LOzXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":123094},"engines":{"node":">=18"},"gitHead":"8fbcb5ec5255f9a4257a1149ea92c6fe42512925","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.5.5_1787774977070_0.49942380662055097","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"claude-usage-limits","version":"1.6.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.6.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"2a69f2005756ff93a65b09a483a9cbcbbaf3d3e3","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.6.0.tgz","fileCount":14,"integrity":"sha512-2eotxxyiCD+W6geu0PWAhIw+4ol45l+peTwLFYJJHMd7I4Obtr4HG8wAJKRKGIb4nyZJ1l0gdsSiOlYs2+9aLQ==","signatures":[{"sig":"MEUCIEkAd5Ltzpwi17uCNy/IFKJB0ZrbS73so3svzkQL1Y/8AiEA3VfMsB4OXDDZroi6zVWauBm7ICesEJg4btjyZQxc/Xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125260},"engines":{"node":">=18"},"gitHead":"717f95df7dad5445a19805b91daa2a117c3f00d0","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.6.0_1787775656268_0.389275283456916","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"claude-usage-limits","version":"1.6.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.6.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"0f3d0294c29f08ccbdb0bf8e8e8e542bd218aa53","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.6.1.tgz","fileCount":14,"integrity":"sha512-mNErBhtmG1e13l2T5SN/nZg7lhEPU6zylysOzF8HoJMbZinUVy97Q/Nel1FdLuyPqda3F+oMrcFA+zCLT8qtyw==","signatures":[{"sig":"MEYCIQD5CVbnzPQhxIvhEJG1quSsqZNEd1sH7xGNrld7hUcgZAIhAMpwvDm0uspsmRL0XcevmcJErr2YWyWLTmMjH8oHT/nT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128100},"engines":{"node":">=18"},"gitHead":"59d43bc1a928c5d9a96558a1bc4f88be185c97fd","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.6.1_1787775838558_0.006237172538029467","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"claude-usage-limits","version":"1.7.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.7.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"501745ce196b73ba9a0b94d26a52f484361558bf","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.7.0.tgz","fileCount":21,"integrity":"sha512-Z7d/v7LAOlW7ulHsuVCTXxixaHUKQUDWBfWce0Bwu4EGzDzx20a2Qy6l5gwMUoAD5y2duUevWitZmH2sTEVWng==","signatures":[{"sig":"MEQCIEUkrZMF26dGM2kl290EBn2gS6lhM93orPtgDbaueGxLAiBlUxEiRiCYQ+ZPlWX/erSfe9hg4CFSHEL6R/uHPDLP2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227156},"engines":{"node":">=18"},"gitHead":"10da5ef7dfa5fbab3c3827ae1e802d10718a1da5","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.7.0_1788205487899_0.6732383830571869","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"claude-usage-limits","version":"1.7.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.7.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"746519583a2e7ea7a3e42a28bc1e5d9c0d18a57f","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.7.1.tgz","fileCount":21,"integrity":"sha512-8bXYScES9dqMSpNrzYgy6oBaqS9/d6//68bfZaUHViJxOC3Y28/r6uEMu0bepJkrRaCHz/AUtcj5MEeXO4kneA==","signatures":[{"sig":"MEUCIQCjxH3KF3sg5AmgvYgVfVXLmgLl65MB9QX9WIQU9XvLSQIgZM//ZPIdI+GcqLKU5GwGPYw2c4BG0kXX5HEwF6CK4B8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230921},"engines":{"node":">=18"},"gitHead":"707bc25a54ba1eef82d28e7312e6ad7c530a21c3","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.7.1_1788226844137_0.5583606643154451","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"claude-usage-limits","version":"1.8.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.8.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"6c9c4f6f92da26b4cde81390bbd93ca6fcc5ecff","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.8.0.tgz","fileCount":25,"integrity":"sha512-KYtaVI+10I38ckjd5joFUHEbSOnkX9VF85HjyNGEA5QVzyCzvT4/+E6lsPXTEaMBET0KcdGAC785ognTfxRCjQ==","signatures":[{"sig":"MEUCIQDZqNDOru26PdnQcNB/WAT5ghaz1GfQTF2v086TfKrOhAIgVr+pWECKMulaCOa/nClHgfPLoCvH4k1MIkNQbUHaPN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275167},"engines":{"node":">=18"},"gitHead":"42bd62b3ccbfe8b433a8b47d6be5fd5007028e54","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.8.0_1788264163273_0.6350567331968224","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"claude-usage-limits","version":"1.9.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.9.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"131793c5c8de8fad8a482cc3075837e0286d2ee7","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.9.0.tgz","fileCount":26,"integrity":"sha512-S/llaQxqTeb0LZcaoUcMii+UusBk8qVvs0qTU/VwuHU2c09EX/uzQ2gv8F0SFALW/RJW6NhYvx895bFEV+MCnA==","signatures":[{"sig":"MEYCIQDPhb89TYPzh8lZVuaQCz5dMPp+K43kI/NwkoI/VTrxEQIhALvfpfAjNKJs8nBqhf7P8uyfktEPd7DCEQp9xmtlfHuZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":295261},"engines":{"node":">=18"},"gitHead":"06601095ed0e6d0a082b8acdaa5f746c8593d829","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.9.0_1788382946173_0.5675964656007266","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"claude-usage-limits","version":"1.9.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.9.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"b9e87e471e826afd722c5bda1522a28281ec96a5","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.9.1.tgz","fileCount":26,"integrity":"sha512-uP0C2oLeYsfvril9IB6a3nAnLO7uDljKDMnmETMJ1LWKhIbGk+uvr/tn4jUNrH6Ldz9z0B9TaUDSn0GSiweAPg==","signatures":[{"sig":"MEYCIQDTLns05yCbIQurGIK4H0gKC50zv+5wyljaVdfciwX//AIhAKoK1hOYdAYWQNq7f7t9IvSk6AYaLnnqpY+3m0waES8p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":297843},"engines":{"node":">=18"},"gitHead":"1175e966ae967a60f882869bb4747aa030f69687","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.9.1_1788383978996_0.18538506281104605","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"claude-usage-limits","version":"1.9.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.9.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"a98e52fa63c5fdc06bc2d54e5db47fa1f6a33026","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.9.2.tgz","fileCount":26,"integrity":"sha512-2jLrwTy9wzZ0QCg4kRuEkJVDng+U9yeqMr9ygSoQmqfDMt2FbfJvW4RrFSIkBC0KHhSj3JO5Iyn38cO9ViyHXg==","signatures":[{"sig":"MEUCICUyE8h/wDSplGRUZYGoy/F/gMwKamKhAfYHt5x7YcanAiEAq9Q54SUdlb8wNG2AVK4zVRRNv4o9WCoVvGKUnHyAXcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300682},"engines":{"node":">=18"},"gitHead":"62ac1a5a1d860f5e2e270982d5eed114cf41efe0","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.9.2_1788385780251_0.8159794384643468","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"claude-usage-limits","version":"1.11.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"da34a9f3d162d4ffef9e80b06cf35d194b0a89c3","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.0.tgz","fileCount":35,"integrity":"sha512-OY7UoHwu7nN5s3XGujCvpHiq5l913qcaFiCKzDIvwQCLV3d30/geH3VpkTIkQe2rEI7dmSb+9/Kw+8CMmWQ/jQ==","signatures":[{"sig":"MEYCIQCz8uwxTAQ13bV9EohQ9yPgQmc5Ex7yK/TbzTZDjOI8dAIhAMqvPDu/Y33BVoBaldZhehk/52MJccAXphjvLDd/A2VO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440749},"engines":{"node":">=18"},"gitHead":"24e5d931240840f10a38cd4769e8a2dacca3523b","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.0_1788654006448_0.8565616331871799","host":"s3://npm-registry-packages-npm-production"}},"1.11.2":{"name":"claude-usage-limits","version":"1.11.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"32b3f0d2f1106ee187c17d50de649552674b1c26","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.2.tgz","fileCount":35,"integrity":"sha512-m2sFA7KTYHGitOQJBpeuRbKTjmYYKk5qeRm7pWWcTMTyPd/xkjTpPw/qPA1P2n20T8sSmyiDLZJHL4vb89C9Nw==","signatures":[{"sig":"MEYCIQCUC4YZpsnaH5fw+eT3IEZ2Fmqlx4KpBZic8YAzewnLYQIhAJPbDcqFzL1bXRa6A4I4wUWEB1XrhGI/zz/JyH/ou1T3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446822},"engines":{"node":">=18"},"gitHead":"f20531ca268b3a3edde261e088525e69bb70563c","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.2_1788654750109_0.999621248419021","host":"s3://npm-registry-packages-npm-production"}},"1.11.3":{"name":"claude-usage-limits","version":"1.11.3","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.3","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"75ab21490c76ba9fce0b94df2959b992a88bbc25","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.3.tgz","fileCount":35,"integrity":"sha512-hO/XxbY06Rw0xkyoezPQINSS3GFH6Xa68vAwAkE1xj+REofc7wuWM6xVsEDjlMMGIxQrAXjBh3fQpEncvj93ZQ==","signatures":[{"sig":"MEQCIDZnpzWUTJTn4p5aN1gfYF71HYnTDApPSYudvEsW/c/7AiArJgxtsYPbquQ9Yk3Wbd+MPaoqbj4Q4fMtVMpsXp6+iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450132},"engines":{"node":">=18"},"gitHead":"ff038e2c774108f906dfc317c5e44b65508c630e","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.3_1788686553444_0.16499639226063878","host":"s3://npm-registry-packages-npm-production"}},"1.11.4":{"name":"claude-usage-limits","version":"1.11.4","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.4","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"c931c761e324756a8342b42778a42618b05a1abf","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.4.tgz","fileCount":35,"integrity":"sha512-oDfedqdbd/b5Vl+rZOTmvNddwsZ4ED8fbcfXV7PwCfRy3EjwLncVqJNLZ/ugjW4nT6GKas7ZFQVPUsXJjxmiVw==","signatures":[{"sig":"MEUCIQDNbV1vf0FzbZQr7JtJaUNsPDO7GIEwTOpuoXyM4JQPZgIgNZ8zR5oKqVaLULYsen9nZaY/++ksjwyhLT+qUAMCe5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450525},"engines":{"node":">=18"},"gitHead":"bd24d5aeed719b619dd71f9654900b67f84fd174","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.4_1788686863930_0.19906241337197028","host":"s3://npm-registry-packages-npm-production"}},"1.11.5":{"name":"claude-usage-limits","version":"1.11.5","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.5","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"927b5e465aa2fcae8dc74926c09f8a46a45baca9","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.5.tgz","fileCount":35,"integrity":"sha512-ydsPsAQ+IYG/lSzj9WzVCny0pSFz4nvGdkJFSa22nSqxyiySPEBPbV7uQKGmD2jJZC9KBHbV0KmgvjsQHa6Hfw==","signatures":[{"sig":"MEQCICPrkIOOSqomcI+GSiQVHEM899hbRp9r5dd3cZx6T1JDAiAQCLaPJB5Y+tD5tCdW7QLfbabL0YUWDNAKWl4ZnkjbSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450955},"engines":{"node":">=18"},"gitHead":"a41ce7d7d788a3886792dfeb0063a7e4d9b64a4d","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.5_1788686944245_0.08580355982836507","host":"s3://npm-registry-packages-npm-production"}},"1.11.6":{"name":"claude-usage-limits","version":"1.11.6","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.6","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"3a793af3754f095bf65e06140fac12ac2db82927","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.6.tgz","fileCount":35,"integrity":"sha512-r5tEzibYbObPsyywc7ednzjGjLCwqnRZ9VinDp+UCzsPzwXqbIV6NXNbENgzFcnw0nA2TdsbZCDwKUTqiohyJA==","signatures":[{"sig":"MEQCIHyw0H7oPGkx7VZI8K2zWCQKnxzohosyQmpr0c71GSFiAiBcxIRIsN7ATYnvsmGv01yYqRoIyDbJ5rI8uVxt7EGKMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":459287},"engines":{"node":">=18"},"gitHead":"41b86da3fdf6af3ac26b674cd59ec4ecc2e2bf62","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.6_1788730426450_0.8280332084802693","host":"s3://npm-registry-packages-npm-production"}},"1.11.7":{"name":"claude-usage-limits","version":"1.11.7","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.11.7","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"8ab70b1dde55b96cb41f0205e4735541c9214361","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.11.7.tgz","fileCount":35,"integrity":"sha512-y8/9m0WRjFMFQxMr/niz6ND5WeCvoz8AVUspbwgh7P74q8Au2KEPjHiwlVVR9X7xs9yXcNtRX3XHXB+l6KrmVA==","signatures":[{"sig":"MEUCIQDLMBT6Es8cT2rkhKVJt9YaCvlE4Y0+k1tsLpyuLa1E0AIgAijntuNUvPngfcMmQzuwKPQqI8JpkuH4mOmcJWS6ok4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.11.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":460832},"engines":{"node":">=18"},"gitHead":"a8a15d9a0f251d1141666fd5b55ee5f126dae17f","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.11.7_1788730586844_0.748391953005271","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"claude-usage-limits","version":"1.13.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.13.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"29c364de1f3d3efe7266bc066a5fe7717ceb2bfe","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.13.0.tgz","fileCount":42,"integrity":"sha512-vmrZ6nZP2hPS+/9eOsjqRGZuK+XapOVsPiP9e1gpRWqOs74oyK2m4x29zTWH4Hc0+98ySe/mWTIxp37Ff/oOLg==","signatures":[{"sig":"MEUCIQDLVSFcXpPiUF4UxlmAoQQPrI/jIOEUnLHQRgeoeWGxzgIgWSDc1fqA0TIKvOEyfay+E/ZANMjAoXSdHdFJHpSMnfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":633580},"engines":{"node":">=18"},"gitHead":"14d3bd0f6b8fa84779a7ca0aa4b1aea9b031abd4","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.13.0_1788901858083_0.5424090194775129","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"claude-usage-limits","version":"1.13.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.13.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"d21700f65e7f259089bbda781dbdaba84019f3fa","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.13.1.tgz","fileCount":42,"integrity":"sha512-CqGe67/FdTAi0Cvym4ajJynHE1hMX3x4WpkHxK1vbrigOrOZXEDIF3DW+AhxS5dOahNil+EEac29s0ZNi4b0wA==","signatures":[{"sig":"MEUCIQDahEkxZe+/Gc9Hp9eYNY/eowx8gWSAzm3WzspAsaT9yAIgAWEeiGRtaBMBIITLAWRl559gXHBqtAehq1xYjUktlQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640329},"engines":{"node":">=18"},"gitHead":"0a52b80ce0024c06f8c341c9e662671df7278486","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.13.1_1788903497262_0.8793415722639435","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"name":"claude-usage-limits","version":"1.13.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.13.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"ff84dc41977bc9e60027090107b2e4897757d4ed","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.13.2.tgz","fileCount":42,"integrity":"sha512-s66DWkl1JB9/o2HLora23+1T9tc9L4qFrtDa9/I4PO2o4pzgdtv8qW5M9BQlR+NDd1Nb0cgwSW7yDxF/ydsEDw==","signatures":[{"sig":"MEUCIGbGn4ja0iDz1Ei+ESQUSDKabBn5BtLZIT7ttNgsXfkkAiEA7cTxecv9cBTZJszORFjI3Wjud+iuAOZ1kV996g6dbAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640757},"engines":{"node":">=18"},"gitHead":"142c36c67fe1b749a400ab690dd79fd3d3f6eebd","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.13.2_1788904177255_0.5097484544510629","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"claude-usage-limits","version":"1.14.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.14.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"2f2bcfedeeaeed869693f5caa150ac8a71008336","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.14.0.tgz","fileCount":42,"integrity":"sha512-oN8RYcTrlijzxS1OEf2lx4pZxUNNuUyS7d4hb2vnyv1ThbDRRyW2bpg+qi8ZqTCOWs3r5Dbk/Tr9kwOgBbr1EQ==","signatures":[{"sig":"MEYCIQDHyAOJHTZt4gCU4PhEz/WeNJLqwutXPau8P9+xgE58sAIhALQAAxuHeIACMGd3P1sejRY63OavkQ7gbyJ/vj8w8HX5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":649037},"engines":{"node":">=18"},"gitHead":"343d5e99e9068073899bb8427f2ac836c770f472","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.14.0_1788905078097_0.7143104350156844","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"claude-usage-limits","version":"1.14.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.14.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"57f5157b085a85a66c8f5d39426ba98336238345","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.14.1.tgz","fileCount":42,"integrity":"sha512-f5wew0vxwbYtD0WANDPsuzqy5W7oLHzxBtYj6cZg0c5kHTWdD1JIu5U6n22/h0jqzjijzvEgPT55YoE7Zxxciw==","signatures":[{"sig":"MEYCIQDPWLyleuhdeom8OHfjV1r/rQr2rRVMbtRH5t0h1h93AQIhAPVdARZEN3nOiBtQlT6DcBiIVneMoVkhiMKwo2Jr71xk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":649374},"engines":{"node":">=18"},"gitHead":"39eef254bd00bae902e94202bf8315dcb875d9a1","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.14.1_1788905189645_0.2780261405959281","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"claude-usage-limits","version":"1.15.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.15.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"9138b7b94ed97fca640595e2236d42f567200782","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.15.0.tgz","fileCount":42,"integrity":"sha512-ftBiruQCEFeph20hEemdRxufUwKXCD3zP1JUBqI39DpBmMz/jWFSjvVINfV16ZwLaCbyiz2M/S4UYyGOaQxi1A==","signatures":[{"sig":"MEUCIDE5o/zTtgpulzzr0O0FYM5/Vax/9QaL3KcX7l7iz+ZxAiEA/931p58Vc3jbdm4GdQDidNXrspOAXssI8273nXUlYSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":653102},"engines":{"node":">=18"},"gitHead":"0f8ef23b4cca06225f849048462958bb43d043f2","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.15.0_1788905471172_0.747258951915514","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"claude-usage-limits","version":"1.16.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.16.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"786270d0f2a73988b926d4c7f991408216ce13f9","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.16.0.tgz","fileCount":42,"integrity":"sha512-voIllD/aA05iZgQXLULnRXGqAItRs0znJbEjUf5wAG0REOsnDfZKqObRPPu1yhYnSYhKVLfDZ3FzEvApCkJI8A==","signatures":[{"sig":"MEUCIAS/1yoZM7OxdstyvhKdPVOormWRVB2aPQWb3DtE4AWSAiEAzwLOW6huJTepzY2FCV+6HdC5NjWhXS5yyIUcnjOxz5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":657086},"engines":{"node":">=18"},"gitHead":"551b8ba73bca738e77bb24abc7e76a23ef0022c2","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.16.0_1788906167435_0.29358913931545216","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"claude-usage-limits","version":"1.16.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.16.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"2b9fb50d4a98140e21cbea332b4f7ee93d8ae7b9","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.16.1.tgz","fileCount":42,"integrity":"sha512-r7pBKFNxcsPR8d5dnAwjZZo5/CswqmSoRMO9I4Y1z14fJID6u4d2DBfUA4u7oSE78f9h+zJizOkR9bhyYgHvEw==","signatures":[{"sig":"MEUCIQDDevaS50r4roE1lJrdKXBBCDP82AtmwDlubjKeV8zNBQIgO/vFnI1Fl/NMfi/kpNNERIBn2We2evab4i1yNrPNKSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":657628},"engines":{"node":">=18"},"gitHead":"3b8a30e06feee6a92a40935671a18f5fa493ad4e","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.16.1_1788906377069_0.19823991597627","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"claude-usage-limits","version":"1.17.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.17.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"53ab0bfc58e063d10996203569e57ef4c99f4d5b","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.17.0.tgz","fileCount":42,"integrity":"sha512-6InBDTA8kFUqJ5GM0oyviJUERwonJ/pb/4QCJYIu3XRH7Rzv5FuAvWsx3C7KjZqU0Nkyal9uOWeHDY54/8zT5A==","signatures":[{"sig":"MEQCIGbnc2/55y7aWfQpLU7gsAEuXDhc9kNUZQO4UtKUJz4mAiBynpQdqZQlj/ORflcL3kIn2W7cU3z5Pcs6qN40bBfYXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":657978},"engines":{"node":">=18"},"gitHead":"234a34b9f5346344867e7243c83768f515710b2d","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.17.0_1788906534054_0.6127635560074471","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"claude-usage-limits","version":"1.18.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.18.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"42ceb0323e44648f17eb39e424cb64ab85d015db","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.18.0.tgz","fileCount":42,"integrity":"sha512-iLiYx9hZHfWdjJSc+37avtrBWWU5h67YysGKXDS7PRMyck3KGFXRw8V4hOItXmIhyZXUzxoctX2Z1VTzNKr+0w==","signatures":[{"sig":"MEUCIQCtd9pVowS8iUgAFNONxKoClQJn0klflENlhEAqkYZXPwIgbL4DY9XjKbGTXdd7AC01gvjU7hH514377H+Xlvf7Pmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":663560},"engines":{"node":">=18"},"gitHead":"8fe23086860e096fe36344fbe1e0b8e7acd49315","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.18.0_1788906821926_0.7456555207416944","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"claude-usage-limits","version":"1.19.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.19.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"bdc3285f32a2e1df76147477e57645aff1688931","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.19.0.tgz","fileCount":42,"integrity":"sha512-xMUZ5dyE3dFzAipsAl1O5BIVPubFi0rCgHuWKD3MSE/sT10VH/M+n6uRidMhcQJf6+nhvpUr2YYcSgn0XVMDZQ==","signatures":[{"sig":"MEUCIHcEBUdYV3xU5fA8pBrVSJ5cMczahsbWNW2Xc72wsDF2AiEA4+RhFLOeNo5ZJXquRA2VVOkHBLT3+0boeacdvNbrsUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":668364},"engines":{"node":">=18"},"gitHead":"de335fa99aee7fea9e22432959648a083d6ccd3b","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.19.0_1788907245861_0.9493554352694571","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"claude-usage-limits","version":"1.23.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.23.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"8c6542cd9d8670dcb91cbbd7d782cc9625cbdbe8","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.23.0.tgz","fileCount":48,"integrity":"sha512-truMqju26VbUVj3Ua58g+mp+HVOlWiaxUO5rwEXz/Vot9Zck1mD/J9sn+jxSY0Hpg5DGRV/Qe4msP+Fqmw6oWA==","signatures":[{"sig":"MEUCIQC66X1Y2dhq9MCUV+l1oTMx1vyx3wZrUZaAHa87S1du3wIgZYYsysBHd8IbFGnNGLmB4pa4b+WM6upQOJKApgXB69c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858156},"engines":{"node":">=18"},"gitHead":"7b50d6ce251a387d2f711a9524ae11af619e3bfc","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.23.0_1789346872283_0.9524237222241008","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"claude-usage-limits","version":"1.24.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.24.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"1c9e434a10072c8915f05b7f567e40c1e881f5de","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.24.0.tgz","fileCount":51,"integrity":"sha512-dYiauF6k2SJ1TETBdksPb/281t+2w2ucz+lzuy7Tf1w6o/fJ0fS4MW8ZsyuKx9xBnsCZuVYK2f4KM3yseIZk9g==","signatures":[{"sig":"MEUCIExGkno0HQuyvldCPotdpETyc4kMjKseN5lwEONjAXSEAiEAoksZAbg2C2G7aDCNfWlpG9pnx0dq1PER9Ah9F61Fx1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":911265},"engines":{"node":">=18"},"gitHead":"2705ce0d67b32641826cfc12b6c5cb0603a640f0","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.24.0_1789361429399_0.7078054232516262","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"name":"claude-usage-limits","version":"1.25.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.25.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"aa02c128a6d3c0257ce1902cfd4ac901d6265268","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.25.0.tgz","fileCount":51,"integrity":"sha512-G1MsEkIlw/Io6QIpDPOa0/RY620zRjtumMc0knxyLYKH5H+nLZ4O9gEORodjvngTvpIB9QaNKbINjEPQt5UWWg==","signatures":[{"sig":"MEUCIGDudXff/hR3YQxh9PDAjs0sIifGb8EIjRmWcpOUcAgHAiEAqjC3hT0cmRNlklMws9il+9MRljvtholtfkyP0LNvVt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":913997},"engines":{"node":">=18"},"gitHead":"caa0f953e113d0cf92320bfb15af142807e22c41","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.25.0_1789361996810_0.8123958602519967","host":"s3://npm-registry-packages-npm-production"}},"1.26.0":{"name":"claude-usage-limits","version":"1.26.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.26.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"2acdd3dcc804fcf6e47535c0f6462514c622d441","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.26.0.tgz","fileCount":51,"integrity":"sha512-kL/qJREFMX8hvrjEfuGmt9ZvY0fRudyIwa8ZKlaf6pN5Z95SPLnyEo+lc6RT0EpsKSqy+iSQ87rJmXeTKNNfcQ==","signatures":[{"sig":"MEYCIQCDfdV9g8qfUz7eFBmWnvpo7u/qrKjqO2G2Zf/yt7acrQIhAPyeIS9xeX51JOX6VFykaUf5yrWtrt/9SAiiLD/zt6zJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":921258},"engines":{"node":">=18"},"gitHead":"994c0e453b5a132bdab4aa44d33b2fe0bcab43c4","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.0.2","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.26.0_1789382033589_0.7236074367543384","host":"s3://npm-registry-packages-npm-production"}},"1.39.1":{"name":"claude-usage-limits","version":"1.39.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.39.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"5defefdf223a7b68e8b12f7ad730e7ed791c7ca8","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.39.1.tgz","fileCount":51,"integrity":"sha512-APlooMABWIyfavt0XtQfS8yRQ2JMMkIMy3jgLMFXtlAzKNtgQQY1AFpFDkpnoAEWpW5qm/KsrxUAluj0fiZjsQ==","signatures":[{"sig":"MEUCIQDkl0a8cJRGCIAnbLYqM6sUe+2CJNroCzqZ5cvwUJt8ZQIgO9dXM2ynAxqgDL6DQwbtvIT/PsjgIerys/W4++aOQeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6GGf6QeUHeu8WXOcPERXXY5TT8GR5QXWH8kNYc9zx6QIhAIZLHO0+33a05DPb5L0JMUNWlZNRMgM/zujPFjfW4TrI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.39.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1002323},"type":"commonjs","engines":{"node":">=18"},"gitHead":"37181a2a50328b182e4a3a06a4c8211910fe8065","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.39.1_1790121398255_0.981744004505327","host":"s3://npm-registry-packages-npm-production"}},"1.39.2":{"name":"claude-usage-limits","version":"1.39.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.39.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"f03b8cd9df2c00e8997ba69be7a02017fbfc26fb","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.39.2.tgz","fileCount":51,"integrity":"sha512-/5qwM9uGvMMjOFn6SnKeufnEJXS1ntw11ECWjocl2MMSk3hUNG8cKJp60Ywmr41VfVyFA5UjDS45jkzglOk8uQ==","signatures":[{"sig":"MEUCIQD2PUtvl2plpjOW2JzM1VBFDv+NwfxzUsUjCWtZTT0UTAIgDgZifeNpdGrxEXHuysMlpXXWoRang5W/c1lCaqvssqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCOInoeNSGWexq1QmYoYR0QSVnnjzr5OWLrDiAhJwm/NwIhAJo3fbXvDuvCt9735aGTkjnysZEgwCwV1z2uS313lQTX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.39.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1002615},"type":"commonjs","engines":{"node":">=18"},"gitHead":"ef2539e6e5bd56033cbc1e70de1df33d3855db88","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.39.2_1790122853629_0.44801623798430734","host":"s3://npm-registry-packages-npm-production"}},"1.39.3":{"name":"claude-usage-limits","version":"1.39.3","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.39.3","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"b6ab89ca0677ccc44d49664cddcb73251606a521","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.39.3.tgz","fileCount":51,"integrity":"sha512-aEnSXQt2pbTryMmzqFRx39gvEU5wbxmYfXhOLq+Ov77Uyojll9KAySH4zYfZUb1oRLGw2IKEddxVPIeFg8sL2Q==","signatures":[{"sig":"MEUCIDD2bsDnmcAt+kRjCz+NOv1RT5SK2FzMa2xUuYEmvcI1AiEAuiHzTsC7XRdjPz8hzRvbFbLj80uQ/8w2qPhXazvWCJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDbJgAt/obran22WnIUN28K1RdDxma6HH+Swp3d5mjaHAiEAlG036N+BRXiL5jQho8h+KrHlSojuSrzsdE/UJdy5AaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.39.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1006907},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f18e937986ad06195f257ee98de7690bea297b4c","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.39.3_1790292154155_0.370761678590235","host":"s3://npm-registry-packages-npm-production"}},"1.39.4":{"name":"claude-usage-limits","version":"1.39.4","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.39.4","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"952f9603f4066967f3579b1e5ad408e19ca67734","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.39.4.tgz","fileCount":51,"integrity":"sha512-NGoh2YRzmD9UH5JuQfb0PlPA3bzyNop5zvmHa7s2y/jajL1i94+VwP1iD9J0ryPkc/9IKlxwcYUDHmM3AYzLVA==","signatures":[{"sig":"MEUCIQC2h9p+3dYdmvOl/Mac5xNf9rguRRN6G9M4wcz796fmkQIgMiUFf/OhW6hqY9OOx4ArYUSjXrailgG/mIvdTx/M4GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDHMGp9nL4+5hFh1m/hL74lrRInZgpGSH9oL2ViF97wQAIgEJttlIBzbXFRTCdrnyJqPf5/f8ivA5rMaZd1GwBLYiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.39.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1007446},"type":"commonjs","engines":{"node":">=18"},"gitHead":"405e3b5207d297ccc726e70037daff650330a982","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.39.4_1790303002507_0.35031810406342223","host":"s3://npm-registry-packages-npm-production"}},"1.39.5":{"name":"claude-usage-limits","version":"1.39.5","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.39.5","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"e89f953c592d12034676e257de4c7658372452b7","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.39.5.tgz","fileCount":51,"integrity":"sha512-GAeFhyNZW+WZJ/5ed+GuwNYectMP4VfYmU2how3Zo7eWGTCjKkAswDH0y03DDW4eexL28WX/5SCTYfTJl2SbBA==","signatures":[{"sig":"MEUCIQDfnToZ0wWyMu003DPYmZOXSb6N7mLDb15QEu5/iQ6aGwIgcDP43NdiljqQ1/gp1sWuRQCU/955Lh50FBwIFa2+kLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICXvad4AjEC6ggV8r89nDhXZATehndrnp4vv6vv3esfTAiBaxkHUVyZXbzEH/OXhFh4Em/mM0rHiDcvc6/K7QShETw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.39.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1016990},"type":"commonjs","engines":{"node":">=18"},"gitHead":"7ed04ea7f3eaecb06f0b8ea3b4ceedf5e568b605","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.39.5_1790372621005_0.6084753936944465","host":"s3://npm-registry-packages-npm-production"}},"1.39.6":{"name":"claude-usage-limits","version":"1.39.6","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.39.6","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"5c3f0ee819a3e59030054ee5c1d7d6aba6286acc","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.39.6.tgz","fileCount":52,"integrity":"sha512-f/imCpNp+xBnxPGd7YId490sBfeluAXqsXgtasFEL3k+0QjuiiuAOwD3h0KiXCmY8C3/2wZ4sJFemmHrIqnpHw==","signatures":[{"sig":"MEUCIBbM300RLJMLEKltiGKZNa9r4lSzt+j9VQmxesk6/NjkAiEA8YRxguOvpLOml1kK3FzMlGpP5DScx53fLrRA1ryx/ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDKQ82J9BZ6e5h7U+n5UoBzRqrzmiqD5y2Bk9y4/89MsQIgIKTAyHAff4sRgGdt5T1/nD+t5eEdUTdh94YIAiU6GpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.39.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1022330},"type":"commonjs","engines":{"node":">=18"},"gitHead":"6c1b96dda5d4d2ca81e066d1f1a518df8d06ef5f","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.39.6_1790381604116_0.3307144215068034","host":"s3://npm-registry-packages-npm-production"}},"1.40.1":{"name":"claude-usage-limits","version":"1.40.1","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.40.1","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"bc72fe280ac845e3c1cee726b0e934331e601ad8","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.40.1.tgz","fileCount":53,"integrity":"sha512-6VOJSgmblSdkXrIN1FqMPPbkjkRar8dsyMnmECNPNOMyrdw/ZlxIlglHG8vbPE54rYIwrZy4tit4lZ2t58CL9g==","signatures":[{"sig":"MEQCIBSHnB+9iQEYXfhALwBJKF4PqmxcBvfmfFJWbup9Z9wPAiAQ8g5r5c7hVGbWxvNiLEP7ZCdLvufYHMMEHo14Gx/p3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH3OcIomT7tJyfFWbjIih17wm6u+BV0mBg7jp7iV/CNkAiEAi6p4jkVKxSeRc640JdZ7Lp5YtbgghYDDc2QBU+kQ83M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.40.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1067961},"type":"commonjs","engines":{"node":">=18"},"gitHead":"8440d7c560194ab71d6a86584aeec051a1cfb12a","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.40.1_1790394667588_0.7857245306152469","host":"s3://npm-registry-packages-npm-production"}},"1.40.2":{"name":"claude-usage-limits","version":"1.40.2","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.40.2","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"32515fa227c2cfe8ccb89989e2632241faf83e22","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.40.2.tgz","fileCount":53,"integrity":"sha512-JCqP6ReS1ls0FNTZbpBIF8vGrhezEd9GdmL3EJKwCVwpyBRo/CCR8wSqpMmjdtO2+ZnlFdcXCSSGreO3iWdzNA==","signatures":[{"sig":"MEYCIQDzfB6I3S/q6kH6HNbx9Fs56DfWI+VyGibAQNGQOmhQZgIhALbAvN/9EsTIGl/rKkFaquMNOSgJPgUg2vqJPa2YJkCS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHsXsJYJmfY1BF2SOHm5EC0HOxmvxE2oicFhdrI8LMD3AiEAk0uh+SYDQ4fBgqyk96JswZPrynEvcQZVl6pAXfCgxNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.40.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1070378},"type":"commonjs","engines":{"node":">=18"},"gitHead":"978b00b764244dbbd2b1af83a454a065a09b2d3d","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.40.2_1790395202852_0.4443363586285203","host":"s3://npm-registry-packages-npm-production"}},"1.40.3":{"name":"claude-usage-limits","version":"1.40.3","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.40.3","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"94312855ada067f368a88dc443970cfde3cb3391","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.40.3.tgz","fileCount":53,"integrity":"sha512-PWQBz6AnINKb0yXRrDbGnMjzCuamzv39UzyS/DRwmRfghFJnRP3SO55U+XDgwaDUrKdMIht8chA4gVh70h5c5A==","signatures":[{"sig":"MEYCIQCO/QafBWPf2A/xCoTPqQtCIwgk0f5WKzKUouHVbvvAVgIhAKnDxh/u0/hZseiRWQxYBzZ1605TQdtfSoIoRFaRipMm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID/vyMsktJ/n8m5sIllzFxkH6zFk7dAvgUhjV7526XRmAiBFNstrNRTci+4pVgjH2CsE0L80jP2Qvu63fDaaxJMHKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.40.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1072439},"type":"commonjs","engines":{"node":">=18"},"gitHead":"d782e0320968cd9f37b7315821370128ec68d18d","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.40.3_1790395703843_0.18003925035463064","host":"s3://npm-registry-packages-npm-production"}},"1.40.4":{"name":"claude-usage-limits","version":"1.40.4","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.40.4","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"6cb1435320f7691a667851f40fb69057e5ef940f","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.40.4.tgz","fileCount":53,"integrity":"sha512-i0w7p8pp7KEVm4BQC2WVqfYy5ZXhnkcW/l+UT2Zam3s2TCkwm+9T3cxIrngumM302MWBhtE1RqEtG4pgbWgG4w==","signatures":[{"sig":"MEYCIQDOGPYqjZkLafjFS4Z0zx2FGzKsyz3+JwIhtZT7h2U0hwIhALOIVqIx153SaHa7f8yB6BwaYaG48be/HtUVfVR+riQa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC0621Ru2w/ZPGVyDDO/H2XdVoS+rt7gPn7HKwk/rSN4AiEAkDpL8qgFGjp3hqFslZGLshgF1+ivlXik5fYLB0joZ/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.40.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1085689},"type":"commonjs","engines":{"node":">=18"},"gitHead":"140e3c70b7b18bee07ad2e2ab58e010e2dfab986","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.40.4_1790399043773_0.2679031719550016","host":"s3://npm-registry-packages-npm-production"}},"1.40.5":{"name":"claude-usage-limits","version":"1.40.5","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.40.5","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"1cb2892afc0e37a7bbfafa0179db828a646ebb17","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.40.5.tgz","fileCount":53,"integrity":"sha512-Byhkh107X+66hyPgmeDviRjkVKtKrxouw5PVSi1esIstjApShHLG4mVXSohS4azp7z6NLv73/9HlJY4IlobIeA==","signatures":[{"sig":"MEUCIBSRzqoJuLI5lk9QbBJLM0bn45kKIu/SUBLzVh0zQXTXAiEAk02SmjqMtstqlzCQUQ+CGrl2iBzezrjvZsBy4sUUo8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHGoBQil3oTJqCViZW67cJuq988NGi+LfYBE/Ne8BoZbAiEAzie5Z1k8yvCDZUi40MOHvkQMgz7/Ut9CnKxXcpLVhU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.40.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1100326},"type":"commonjs","engines":{"node":">=18"},"gitHead":"46ca1d5ea99c23ad592a98e7abd0f836aedb240c","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.40.5_1790400663416_0.15073516178938706","host":"s3://npm-registry-packages-npm-production"}},"1.41.0":{"name":"claude-usage-limits","version":"1.41.0","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","_id":"claude-usage-limits@1.41.0","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"homepage":"https://github.com/ridelink0/claude-code-usage-limits","bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"bin":{"claude-usage-limits":"bin/cli.js"},"dist":{"shasum":"fd3c945314fc24f0fe8d4e0060c79c4161482d97","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.41.0.tgz","fileCount":53,"integrity":"sha512-uDgSIqYQMfSmE2M4rrUO/XN3S9KYTBBg3v+/d98sfHsTkkis5DJ2Gm3AXWPok+1kOGtdMVGSFcK+NauLauPm6g==","signatures":[{"sig":"MEUCIQCodM4qVIPIuIf2FPNMOVA6pDy0JAuGrE08nTLG2Ox+xAIgdjTx5JyfawtkP+Yarq5jOKXEqHxf5XMxwy+U2Q9oj2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHVHS0by0bgC1JHdskLC+8xFiIZ7sp84/ni6SeCzeY48AiEA18LlU33ir3coWg2joIlaPe7gXwr0V0xBQzQrEIvaklU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.41.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1102412},"type":"commonjs","engines":{"node":">=18"},"gitHead":"f74a3cb6b29befd4b0727691b74eceb8e7b243f5","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-usage-limits_1.41.0_1790554120722_0.98155435632964","host":"s3://npm-registry-packages-npm-production"}},"1.41.1":{"_id":"claude-usage-limits@1.41.1","bin":{"claude-usage-limits":"bin/cli.js"},"bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"dist":{"shasum":"c3f6c6963248e25f3ab0ed4649b0e738008800e2","tarball":"https://registry.npmjs.org/claude-usage-limits/-/claude-usage-limits-1.41.1.tgz","fileCount":53,"integrity":"sha512-7D9eAttp4evIH2mecPLhHKZWoCGUeRbMKY8Hq8NTqtFYqOqysEMrPH9MGBX1eL7wuoCOi0hxlrzX5SPwJzJ0MA==","signatures":[{"sig":"MEUCIEZPziLZku5hcjFAaoMav2KU4IofS6rdFvz0Wh66zhMnAiEArla94o/mwyT6l1CDNstOdA6BdNh2mCTad2T4hO36Hjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDP8ryVeNoJAK20PMYs+kUKyY4h/CZ2QPmh6TsdE5t8GAIhALFuOZJDivFtNJ/qatzp6BbjuLBexr+va8TMCxxE5u8e"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-usage-limits@1.41.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1104672},"name":"claude-usage-limits","type":"commonjs","author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"engines":{"node":">=18"},"gitHead":"7dadccca2dfcb3b64e50d78c9595e9c2f6d3c47f","license":"MIT","scripts":{"test":"node --test","usage":"node bin/cli.js","version":"node tools/sync-version.js && git add .claude-plugin/plugin.json .codex-plugin/plugin.json vscode/package.json"},"version":"1.41.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0697dd37-87ae-4830-906b-04c51174da6d"}},"homepage":"https://github.com/ridelink0/claude-code-usage-limits","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"_npmVersion":"12.1.0","description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","directories":{},"maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-usage-limits_1.41.1_1790556854985_0.8578443894089633"}}},"time":{"created":"2026-08-24T03:47:09.322Z","modified":"2026-09-28T00:54:15.423Z","1.0.0":"2026-08-24T03:47:09.749Z","1.1.0":"2026-08-24T21:01:52.146Z","1.1.1":"2026-08-24T21:32:05.733Z","1.1.2":"2026-08-24T21:41:49.079Z","1.1.3":"2026-08-25T00:56:21.064Z","1.1.4":"2026-08-25T01:02:27.601Z","1.2.0":"2026-08-25T12:01:30.320Z","1.3.0":"2026-08-25T12:07:37.522Z","1.4.0":"2026-08-25T20:11:42.651Z","1.5.0":"2026-08-25T20:31:41.693Z","1.5.1":"2026-08-25T22:49:23.419Z","1.5.2":"2026-08-26T02:55:05.805Z","1.5.3":"2026-08-26T03:02:21.061Z","1.5.4":"2026-08-26T19:48:36.316Z","1.5.5":"2026-08-26T20:09:37.219Z","1.6.0":"2026-08-26T20:20:56.410Z","1.6.1":"2026-08-26T20:23:58.687Z","1.7.0":"2026-08-31T19:44:48.143Z","1.7.1":"2026-09-01T01:40:44.303Z","1.8.0":"2026-09-01T12:02:43.411Z","1.9.0":"2026-09-02T21:02:26.465Z","1.9.1":"2026-09-02T21:19:39.159Z","1.9.2":"2026-09-02T21:49:40.408Z","1.11.0":"2026-09-06T00:20:06.613Z","1.11.2":"2026-09-06T00:32:30.289Z","1.11.3":"2026-09-06T09:22:33.603Z","1.11.4":"2026-09-06T09:27:44.088Z","1.11.5":"2026-09-06T09:29:04.371Z","1.11.6":"2026-09-06T21:33:46.603Z","1.11.7":"2026-09-06T21:36:27.073Z","1.13.0":"2026-09-08T21:10:58.260Z","1.13.1":"2026-09-08T21:38:17.418Z","1.13.2":"2026-09-08T21:49:37.414Z","1.14.0":"2026-09-08T22:04:38.298Z","1.14.1":"2026-09-08T22:06:29.805Z","1.15.0":"2026-09-08T22:11:11.361Z","1.16.0":"2026-09-08T22:22:47.579Z","1.16.1":"2026-09-08T22:26:17.211Z","1.17.0":"2026-09-08T22:28:54.260Z","1.18.0":"2026-09-08T22:33:42.061Z","1.19.0":"2026-09-08T22:40:45.997Z","1.23.0":"2026-09-14T00:47:52.427Z","1.24.0":"2026-09-14T04:50:29.602Z","1.25.0":"2026-09-14T04:59:56.953Z","1.26.0":"2026-09-14T10:33:53.724Z","1.39.1":"2026-09-22T23:56:38.342Z","1.39.2":"2026-09-23T00:20:53.713Z","1.39.3":"2026-09-24T23:22:34.369Z","1.39.4":"2026-09-25T02:23:22.758Z","1.39.5":"2026-09-25T21:43:41.120Z","1.39.6":"2026-09-26T00:13:24.245Z","1.40.1":"2026-09-26T03:51:07.709Z","1.40.2":"2026-09-26T04:00:02.980Z","1.40.3":"2026-09-26T04:08:23.984Z","1.40.4":"2026-09-26T05:04:03.914Z","1.40.5":"2026-09-26T05:31:03.540Z","1.41.0":"2026-09-28T00:08:40.841Z","1.41.1":"2026-09-28T00:54:15.127Z"},"bugs":{"url":"https://github.com/ridelink0/claude-code-usage-limits/issues"},"author":{"url":"https://github.com/ridelink0","name":"Ridelink"},"license":"MIT","homepage":"https://github.com/ridelink0/claude-code-usage-limits","keywords":["claude","claude-code","usage","limits","rate-limit","tokens","cost","budget","statusline","cli"],"repository":{"url":"git+https://github.com/ridelink0/claude-code-usage-limits.git","type":"git"},"description":"Puts your remaining Claude Code usage limit into Claude's context before every prompt, so it opens with what fits in the budget instead of starting work that gets cut off. Reports headroom as turns rather than percentages, prices a job before you start it","maintainers":[{"name":"ridelink","email":"app.ridelink@gmail.com"}],"readme":"# usage-limits\n\n[![npm](https://img.shields.io/npm/v/claude-usage-limits)](https://www.npmjs.com/package/claude-usage-limits)\n\nMost usage tools for Claude Code show **you** the numbers. This one shows them\nto **Claude**, before every prompt, and changes what it does about them.\n\nClaude Code already knows how much of your 5-hour and weekly limit is gone. It\ncaches those numbers locally and will show them if you ask. What it does not do\nis notice that the job in front of it is larger than the budget behind it. So\nit starts anyway, and stops halfway through an edit.\n\nThis puts the budget in front of Claude before your prompt lands, so the reply\nopens with the answer instead:\n\n> The weekly window has about 22 turns left. That covers the parser change and\n> its tests, but not the migration or the docs pass, so I will do the first two\n> and leave the rest for after the reset at 09:00.\n\nNobody read a chart to get that. The numbers reached the model, not you.\n\n![The usage report: the 5-hour window is binding with about 44 turns left, and at the current pace it runs out 38 minutes before the reset.](docs/img/usage-report.png)\n\n<sub>Real output of `npx claude-usage-limits` on the author's machine, 2026-09-26: the Claude Code windows and the closing verdict, with the Codex and per-model sections left out. The plugin puts the same reading into Claude's context, as the budget line, before every prompt.</sub>\n\nInstall it as a Claude Code plugin:\n\n```\n/plugin marketplace add ridelink0/claude-code-usage-limits\n/plugin install usage-limits@usage-limits\n```\n\nOr see the report without installing anything: `npx claude-usage-limits`.\nCodex, the plain-skill route and keeping it updated are under\n[Install](#install).\n\n## What it runs on your machine, and what it never does\n\nInstalling this plugin registers six Claude Code hooks, which means Node runs on\nyour machine at six moments: `UserPromptSubmit` (the budget line), `PreToolUse`\n(the fan-out line, and the refusal when a cap is set), `PostToolUse` and\n`SubagentStop` (keeping the reading fresh), and `Stop` and `SessionEnd` (the\nsession tally). Nothing runs on a timer except a relay wake you armed yourself.\n\nWhat it reads: your Claude Code transcripts under the config directory, to price\nwhat has been spent; the account snapshot the host already fetched; and your\nsettings files. What it writes: its own files beside those, every one prefixed\n`usage-limits-`, plus the launcher and scheduled task a relay needs while one\nis armed.\n\n**It does read your login.** The live reading is the same call Claude Code\nmakes for `/usage`, and making it needs the same OAuth token, so this plugin\nreads it from `.credentials.json` (or, on macOS, the `Claude Code-credentials`\nkeychain item) and sends it as a bearer token to\n`https://api.anthropic.com/api/oauth/usage`. That token is never written to a\nfile, never logged, and never sent anywhere else: the destination is checked\nagainst an allowlist first - Anthropic over https, or loopback for the tests -\nbecause a project settings file can put anything in a hook's environment and\nthe override that points at a different endpoint must not become a way to walk\noff with your login. Without a live reading the plugin still works, from the\nsnapshot and your transcripts.\n\nApart from that one call to Anthropic, nothing leaves the machine: no\ntelemetry, no upload, no record of your usage kept anywhere else. Everything it\nknows sits in files you can open, and `node bin/cli.js mode off` stops it\ninjecting anything at all.\n\n## Do not want any of this?\n\n    node bin/cli.js mode off              nothing injected, ever - including at the wall\n    node bin/cli.js mode off --guard 95   silent, except one short line at 95% used\n    node bin/cli.js statusline off        take the bars out from under the prompt\n\n`off` means off: no budget line, no end-of-reply cost, no panel animation. Most\npeople who want quiet actually want the second form - silence until it matters.\nBoth apply to new prompts immediately and survive restarts. `mode standard`\nturns it back on.\n\n## How this differs from a usage dashboard\n\nThere are a lot of good tools that read the same local files this does and draw\nyou a picture: status lines, menu bar apps, terminal dashboards. They are worth\nhaving, and this is not trying to replace them. The difference is who the\noutput is for.\n\n| A usage dashboard | This |\n| --- | --- |\n| Renders numbers for a person to read | Puts numbers in the model's context |\n| You notice, then you interrupt | Claude notices, and adjusts on its own |\n| Tells you 78 percent is gone | Tells you 22 turns are left, and whether what you asked for fits in them |\n| Runs beside Claude Code | Runs inside it, as a skill and a hook |\n| Shows what already happened | Says what to do now, and what to drop |\n\nA percentage is a fact about the past. The useful question is whether the thing\nyou just asked for is going to finish, and answering that needs the request and\nthe budget in the same place. That place is the model's context, which is where\nthis puts them.\n\nSo: if you want to watch your usage, install a status line. This ships one\ntoo, and a live panel that sits beside the chat, both drawn in Claude Code's\nown colours from Claude Code's own numbers. If you want the thing spending the\nbudget to know it is spending the budget, that is what this is for.\n\n## What it prints\n\n```\nClaude Code usage\n\n  Plan       Claude Pro\n  Snapshot   3m old\n  Settings   model=opus  effort=xhigh\n  Overage    off, work stops at the limit\n\n  Window           Used   Resets in      Left  Turns left\n  5-hour            62%      1h 40m    $46.00         ~88   <- binding\n  weekly            75%       2d 4h      $124        ~240\n\n  Recent pace   15 turns in the last hour, $0.164 per turn, effort xhigh\n  Measured      1,284 turns of local transcript\n\nThe 5-hour limit is the binding one. At the current pace it runs out in about\n1h 12m, which is 28m short of the reset. Size the work to fit, or slow the burn.\n```\n\n`Turns left` is the column that matters. It divides the remaining headroom by\nwhat a turn has actually been costing over the last hour, on your account, at\nyour effort level, so it moves when your working style does. Fifteen turns of\nheadroom means something you can plan against; 75 percent does not.\n\nIt also breaks the window down by model, with the token split behind it:\n\n```\n  Models in the 5-hour window\n    Model                   Turns    Tokens   Output   Share\n    claude-opus-5             159     27.0M     212k    100%\n    Tokens  input 318, cache write 631k, cache read 26.2M, output 212k\n```\n\nWhen more than one project has run inside the window it breaks that down too,\nso you can see which working directory actually spent the week:\n\n```\n  Projects in the weekly window\n    Project                 Turns    Tokens   Share\n    ...ideLink-Stuff-app      930     45.2M     78%\n    C--Users-OWNER            240     12.1M     22%\n```\n\nThat split is usually the surprise. Almost all of it is cache reads, billed at\na tenth of the input rate but paid again on every turn, which is why context\nlength matters more than any single expensive message.\n\nThe percentages and reset times come from Claude Code's own cache. The pace\ncomes from your local session transcripts. Neither requires a network call.\n\n## Install\n\nNothing to install, if you just want the numbers:\n\n```\nnpx claude-usage-limits\nnpx claude-usage-limits --status\nnpx claude-usage-limits lowpower on\n```\n\nThat runs the same code as the plugin, from\n[claude-usage-limits](https://www.npmjs.com/package/claude-usage-limits) on\nnpm. Node 18 or newer.\n\nTo have Claude read the numbers and plan against them, install it properly.\n\nAs a plugin:\n\n```\n/plugin marketplace add ridelink0/claude-code-usage-limits\n/plugin install usage-limits@usage-limits\n```\n\nAs a plain skill, if you would rather not use the plugin system:\n\n```\ngit clone https://github.com/ridelink0/claude-code-usage-limits\ncp -r claude-code-usage-limits/skills/usage-limits ~/.claude/skills/usage-limits\n```\n\nOn Windows, in PowerShell:\n\n```\ngit clone https://github.com/ridelink0/claude-code-usage-limits\nCopy-Item -Recurse claude-code-usage-limits\\skills\\usage-limits \"$env:USERPROFILE\\.claude\\skills\\usage-limits\"\n```\n\nOne difference between the two: the hook that puts the budget line in front of\nevery prompt is declared in the plugin manifest, so it only runs on a plugin\ninstall. If you took the plain skill and want that behaviour, add it yourself\nin `~/.claude/settings.json`, pointing at wherever you put the skill:\n\n```json\n{\n  \"hooks\": {\n    \"UserPromptSubmit\": [\n      {\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"node \\\"$HOME/.claude/skills/usage-limits/scripts/brief.js\\\"\",\n            \"timeout\": 10\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\nEither way, ask something like \"how much usage do I have left\" or \"can we\nfinish this before the limit hits\" and Claude will load it. Installed as a\nplugin it also gives you `/usage-limits:check`, which prints the report and\nsizes whatever you just asked for against it.\n\nThe scripts also run on their own, with or without any of the above:\n\n```\nnode skills/usage-limits/scripts/usage.js\nnode skills/usage-limits/scripts/usage.js --json\n```\n\n### Keeping it up to date\n\nClaude Code can update this for you, but **it will not by default**. Auto-update\nis a per-*marketplace* switch, and it defaults to on only for claude.ai-hosted\nmarketplaces and a hard-coded list of official Anthropic ones. Every\nthird-party GitHub marketplace, this one included, defaults to off.\n\nTurn it on once, either through `/plugin` → Marketplaces → usage-limits, or by\nadding one key to `~/.claude/settings.json`:\n\n```json\n{\n  \"extraKnownMarketplaces\": {\n    \"usage-limits\": {\n      \"source\": { \"source\": \"github\", \"repo\": \"ridelink0/claude-code-usage-limits\" },\n      \"autoUpdate\": true\n    }\n  }\n}\n```\n\nClaude Code then refreshes the marketplace and updates the plugin in the\nbackground shortly after a session starts (with a random delay of up to ten\nminutes, so a running session keeps the version it launched with), and offers\n`/reload-plugins` when something changed. To update on the spot instead:\n\n```\nclaude plugin update usage-limits\n```\n\nNote that the whole pass is skipped when Claude Code's own auto-updater is\ndisabled, unless `FORCE_AUTOUPDATE_PLUGINS` is set.\n\n**Cloud and web sessions** never see `~/.claude`, so nothing installed on a\nlaptop reaches them. Commit the same block to a repository's\n`.claude/settings.json`, alongside `enabledPlugins`, and any session opened on\nthat repository installs the plugin at session start — always at the newest\ncommit. This repository carries exactly that file if you want one to copy.\n\nThe other two channels update themselves the ordinary way: the VS Code\nextension through the Marketplace, and the npm package on the next `npx\nclaude-usage-limits` (a global install pins, so `npm i -g claude-usage-limits@latest`\nto move it).\n\n## When another Claude is working too\n\nTwo Claude Code windows share one limit, so headroom measured in turns is\noptimistic while another session is also spending. It watches for that:\n\n```\n  Sharing       2 sessions have spent in the last 15m, splitting this budget 75% / 25%\n                The turns above are the whole window, not your slice of it.\n```\n\nand the before-prompt line says how many of those turns are actually yours:\n\n```\nabout 38 turns of headroom (2 sessions active, roughly 10 of them yours)\n```\n\nThe split comes from measured spend rather than an assumption that everyone is\nworking equally hard, because they usually are not. A session that has gone\nquiet for a quarter of an hour is not counted as competing.\n\nEvery session's spend also feeds the reading itself, not just the split. The\npercentage is corrected using all spend recorded since the snapshot was taken,\nwhichever window produced it, so another Claude burning budget in the next\nterminal moves your number too.\n\n## Which limit it watches\n\nTwo windows run at once and the 5-hour one is usually what actually stops you,\nso it gets picked whenever it is tighter, and it wins a tie against the weekly\nwindow because the shorter window is the one hit first in practice.\n\nIt is not forced, though. When the weekly window is genuinely the wall, at 99\npercent with minutes left, that is what gets reported. Forcing the 5-hour there\nwould hide the limit about to stop the work, which is the same failure as\nignoring it.\n\nA window with no recent spend to measure is ranked by how full it is rather\nthan being skipped, so a 5-hour window sitting at 95 percent is never passed\nover just because nothing has gone through it in the last few minutes.\n\nBinding is about what stops you soonest, though, not what stopping costs, and\nthose are different: a 5-hour window returns in hours, the weekly one in days.\nSo a window above 85 percent gets called out even when something shorter binds,\nwith its own reset time, because spending the weekly window to save a few turns\nof the 5-hour one is a bad trade.\n\n## When you keep typing\n\nEvery message sent while work is already running starts another turn, and each\nturn re-sends the whole conversation. Three follow-ups during one task can cost\nmore than the task did.\n\nSo when several additions arrive mid-task and the binding window is tight,\nClaude says so once and keeps working:\n\n> I have got all three. While the weekly window is this tight, sending them\n> together costs a good deal less than one at a time, so I will fold these in\n> and carry on.\n\nIt asks once, never repeatedly, and only when the budget is actually tight.\nAsking someone to hold their thoughts when there is room to spare is rude for\nno gain.\n\nThe important exclusion: it never discourages a correction, a stop, or a bug\nreport. Those are the messages that save the most work, and a rule that trains\npeople out of interrupting to say \"that is wrong\" costs far more than the turns\nit saves. Only additive scope is worth batching.\n\n## Credits, and what happens at the wall\n\nThe report says which of two things happens when the plan allowance runs out,\nbecause they need opposite handling.\n\nIf paid credits are off, work stops dead and there is no buying through it,\nso the report says so and plans around it. If they are on, the limit is a cost\nboundary instead of a wall. It deliberately does not warn you about that\ncrossover, because Claude Code already announces it and asks before drawing on\ncredits, and a second warning saying the same thing is just noise.\n\nWhen the binding window will run out before it resets, the report stops\ndescribing and starts instructing:\n\n```\nThe 5-hour limit is the binding one. At the current pace it runs out in about\n20m, which is 3h 40m short of the reset. Size the work to fit, or slow the burn.\n  Work stops when it does. Nothing carries on into paid credits.\n  Land what exists, write the handoff, and resume after 03:00.\n```\n\nThe clock time matters more than the countdown. \"Resume after 03:00\" is a\nplan; \"4h 12m\" is a number you still have to do arithmetic on.\n\nThe skill also requires Claude to say up front when a job will not fit in what\nis left, name what it is doing now, what it is leaving, and when the rest can\nhappen, rather than starting and stopping halfway through an edit.\n\n## /low-priority, and Claude Code's own features at the wall\n\nClaude Code has grown its own machinery for the moment the 5-hour limit is hit.\nSome of it a hook can read and some of it cannot, and the whole of this\nsection is about keeping that line straight — a plugin that guesses at the half\nit cannot see is worse at this than one that says nothing.\n\n**`/low-priority`** is a hidden toggle the CLI offers when the session (5-hour)\nlimit is reached. It keeps the session working at reduced priority and spends\nyour **weekly** limit, plus a separate weekly lower-priority allowance. Replies\ncan pause while it waits for spare capacity. It appears in no changelog and in\nno documentation — there are zero mentions across all 405 versions of the\nbundled changelog back to 0.2.21 — and it is declared `isHidden: true`, so the\nonly way anyone learns of it is the offer line at the wall.\n\nWhat the plugin can read is whether **your account is provisioned** for it, from\none field in the same `~/.claude.json` it already parses for the meter:\n`cachedGrowthBookFeatures.tengu_toasty_breeze`. That costs no extra I/O, and it\nis re-read on every prompt rather than remembered, because the grant can be\nwithdrawn mid-week.\n\nWhat the plugin **cannot** read is whether it is on right now. That state lives\nin the CLI's process memory and is written to no file — not `~/.claude.json`,\nnot `~/.claude/state`, and no hook payload or status-line field carries it. So\nthere are three states and never a fourth:\n\n| state | how it is known |\n| --- | --- |\n| **absent** | the account is not provisioned, and the plugin never mentions the command |\n| **offered** | provisioned, so the brief says it exists at the wall — as a possibility |\n| **acknowledged** | **you** said you switched it on: `mode --low-priority on` |\n\nTwo further gates sit in front of the offer that nothing here will ever see: the\nexperiment arm arrives in a response header, and the CLI withholds the offer\nduring a cooloff and once the weekly allowance is spent. So the brief says \"if\nthe wall offers it\", never \"you can run it\". And it never says the plugin or the\nmodel can switch it on: Claude cannot type a slash command, and the command is\ndeclared `supportsNonInteractive: false`, so it is unusable in a headless or\nrelayed run either.\n\nAt the wall with weekly headroom, the line looks like this:\n\n```\nIf the wall offers it, /low-priority can carry this session past the 5-hour\nlimit at lower priority instead of stopping: it spends the weekly limit, which\nis at 45% and so has room, and replies may pause while it waits for spare\ncapacity - the wait and its ceiling are set by the server per request. It is a\ntoggle only the user can type, and type again to stop: you cannot run a slash\ncommand, and nothing here can switch it on.\n```\n\n**The recommendation has a number behind it.** It is offered only while the\nweekly is at or below **80 per cent** and the 5-hour window is the binding wall.\nAbove that the brief actively says not to, and cites the figure: low-priority\nspends the weekly *and* draws on a weekly allowance whose size is exposed to no\nhook and no file, and one user has reported it burning through almost a week of\nusage in a couple of hours (anthropics/claude-code#92544). No wait time is ever printed, because the retry and the ceiling\ncome from `lowPriorityRetryAfterSeconds` and `lowPriorityMaxWaitSeconds` on each\nresponse — any fixed \"20 seconds, 20 minutes\" would be invented.\n\nOnce you acknowledge it, three things change. The brief brakes on the **weekly**\nwindow instead of the 5-hour one, because that is the only brake left. It stops\ntelling you to wind down at the 5-hour wall. And the relay **will not book a\nwake for the 5-hour reset** — this session carries straight past it, so a wake\nwould fire into a session that never stopped. A weekly wall still arms. The\nacknowledgement lapses by itself when the 5-hour window it was made against\nresets.\n\nA deferral is different from a wake, and is treated differently. `defer` is a\ntime **you** named, so it is always scheduled — but if you defer to `reset` while\nlow-priority is acknowledged, the confirmation says that this session carries\npast the 5-hour reset and waiting for it buys nothing. The mid-turn pulse follows\nthe brief onto the weekly too, out of the same function, so the two can never\nreport different windows.\n\n**The graceful wrap-up note.** Claude Code can inject its own \"finish up\"\ninstruction at the wall. The mechanism is real, and the gate is\n`tengu_lantern_wick_mode` — the bundle's own normalizer keeps only `\"wrap-up\"`\nand `\"next-steps\"` and maps everything else to `\"off\"`. When it is on, this\nplugin stands down and says who is speaking, because two agents telling the\nmodel to wind down in different words is worse than one. When it is off, the\nplugin's own instruction stands. It is read, not assumed, so the right thing\nhappens whichever way the flag is set. (The near-limit variant is a separate\nflag, `tengu_vellum_anchor`.)\n\n**`autoContinueAtUsageLimit`.** Since 2.1.234 Claude Code waits out the reset\nand continues the same open session by itself, and the setting is **on by\ndefault**. In place, with the context intact, that is better than any scheduled\nwake. So when a resume relay is armed and this is on, the brief says so: the\nwake is the route for a session that will be **closed** at the reset, and both\nfiring for the same reset would start the work twice and spend the weekly twice.\n\n**`/limit-reset`** is one command behind two different server flags, and the\nbrief words each in its own copy's terms. `tengu_nifty_lemur` is the\nonce-a-week reset of the 5-hour session limit (\"uses weekly limit · 1/week\",\n\"your weekly limit still applies\"); `tengu_cedar_ember` is a counted grant with\na use-by date that \"refills your limits\". The account this was built on carries\n`tengu_nifty_lemur` enabled and no `tengu_cedar_ember`. When the budget is tight\nand the 5-hour window is the wall, the brief names the weekly reset, says the\nwork it unlocks still counts toward the weekly, and says only the user can type\nit; at a weekly wall it says nothing, because resetting the 5-hour limit cannot\nhelp there. It never reports whether this week's reset is used or how many\ngrants are left — both come from a live endpoint and appear in no file a hook\ncan read. A flag counts only when it is a plain object with `enabled: true`,\nthe way the CLI reads it.\n\n**Grace is not weekly spend.** The allowance the wall gives you is metered in\nits own per-window meters (`anthropic-ratelimit-unified-grace-5h-utilization`\nand `-grace-7d-utilization`, with a `rateLimitGraceZone` naming which window it\nbelongs to), not billed to the 7-day window. Its size arrives in response\nheaders and appears in no hook payload, no status-line field and no file, so the\nplugin says nothing about how much of it is left rather than estimating.\n\n## The relay: carrying a project across the reset\n\nThe handoff has always had the same flaw. It gets written, and then it sits in\na closed terminal until somebody comes back and reads it. Everything the\nsession knew — the files it had open, the half-made decision, the reason the\nsecond approach was abandoned — expires with the window.\n\nThe relay closes that gap. Once the binding window passes a threshold you set,\n**and** the session has an unfinished todo list or an approved plan to carry,\nit books a one-shot wake for a few minutes after the reset. Arming costs\nnothing and changes nothing about the work in progress; that is the point,\nbecause nobody should slow down to prepare for a wall. Then, at the wake, it\nre-checks the meter and hands your continuation back.\n\n```\n/usage-limits:relay on\n/usage-limits:relay mode resume\n/usage-limits:relay permission acceptEdits\n```\n\nWhat changes while it is armed is what Claude is told at the wall. Instead of\n\"write the handoff and stop\", the budget line says the relay has it, that being\ncut off now costs the wait rather than the work, and that the continuation is a\nprompt to be acted on rather than a summary for a person to read.\n\n**A session that started before an update keeps the old code.** A plugin\nupdate applies when Claude Code restarts, so two sessions can run two versions\nat once; on 2026-09-20 a session still on 1.34.1 saw the single relay slot that\nversion had, took it for occupied, scheduled its own wake by hand, and that\nwake failed the way 1.34.1's always did, while the session on 1.36.0 resumed\nfine. Nothing can upgrade a running session, so since 1.38.0 the budget line\nsays so once: the installed version, the running one, and that a relay or cap\nset in that session follows the older rules until it restarts.\n\n**Two things that stopped it in practice, both fixed in 1.36.0.** A fresh\nClaude Code start asks two questions nobody is there to answer at four in the\nmorning: whether to trust the folder, and whether bypass permissions is meant.\nOn 2026-09-20 the wake opened its window and sat at the trust question until\nmorning. Arming now writes both answers into .claude.json for the folder the\nrelay will resume in (every spelling of the key, with a backup beside it), the\nwake writes them again right before the launch, and doctor reports when they\nare missing; relay preflight [cwd] does it by hand. And the relay used to hold\none slot, so a second session arming on the same night was refused or\ndisplaced the first. Each session now has its own record and its own scheduled\ntask; status lists them all, relay cancel takes down this session's, and\nrelay cancel --all takes down every one.\n\n**1.37.0 fixed the arm that failed twice on 2026-09-20.** `relay arm` reported\n`Value for '/TR' option cannot be more than 261 character(s)` - schtasks refusing\nthe task action, which carried node's path, the plugin cache path, the session\nid and the config directory: 326 characters. That was only the fallback. The\nprimary ScheduledTasks route had already been killed at a fixed eight-second\nceiling while PowerShell was still loading the module (32 seconds on that\nmachine), and a timeout has no stderr, so nothing reported it. The task now\nruns a small launcher in the config directory (`relay-task-<id>.cmd`) so the\naction has one fixed length whatever the plugin path; the PowerShell route\ngets a minute from the command line and the hook's own deadline from a hook;\nand a failure names both routes side by side. `relay doctor` also reports\nwhether a login is there to resume under. When that login expires is not\nchecked: `claude auth status` does not report it and the relay does not read\n`.credentials.json`, so renew `/login` before a relay that fires hours later.\n\nSmaller changes in the same release: the budget line names both account\nreadings when Claude Code's cache and the plugin's live reading differ by more\nthan five points (`5-hour 20% (the live reading; Claude Code's cache says\n14%)`) rather than showing one number that jumps; its standing instruction is\nsaid in full once per session and as twelve words after that\n(`USAGE_LIMITS_BRIEF_FULL=1` keeps the full form); one clause is added on the\nprompt right after a prompt-cache miss the user caused - a changed tool list\nor system prompt, read from the status line's `prompt_cache` - and nothing\notherwise; the mid-turn pulse's tight sentence is throttled to the same ten\nminutes as its fan-out advice; a subagent message written as several content\nblocks is priced by its last block, which carries the real output count\n(measured on 179 agent transcripts: 1,991 of 2,504 such messages ran like\n1, 1, 202); and the headless resume runs with `DISABLE_AUTOUPDATER=1`.\n\n| | |\n| --- | --- |\n| **Off by default** | Scheduling an agent to run while nobody is watching is a decision you make on purpose, not one a plugin makes for you. |\n| **Only with work to carry** | It reads the session's own todo list and approved plan out of the transcript. An idle chat is not a project and never arms. |\n| **`notify` by default** | It raises a notification with the continuation ready to open, and starts nothing. `mode resume` is the opt-in that runs the CLI itself. |\n| **It re-checks the meter** | The reset time is a prediction; the meter is the fact. If the window has not actually turned over it books another wake rather than spending the first minute of a fresh window on a refusal. |\n| **It survives sleep** | Registered through the ScheduledTasks module with `StartWhenAvailable` and `WakeToRun`, so a machine asleep at the moment fires on wake instead of missing it silently. |\n| **It cleans up after itself** | The task carries an expiry, and the wake unregisters it once the outcome is recorded. |\n| **Codex too** | `codex queue --thread` puts the continuation into a live session; `codex exec resume` revives a dead one. |\n\nTwo honest limits:\n\n- **It cannot type into your terminal.** If Computer Use is installed the relay\n  uses it to tell whether you are at the keyboard — and if you are, it leaves a\n  notification instead of starting a second agent in the directory you are\n  working in. It does not send keystrokes to a shell or an editor, because that\n  plugin refuses to on purpose and routing around a safety rule because it is\n  inconvenient is how safety rules stop meaning anything.\n- **Claude Code's own `autoContinueAtUsageLimit` is better where it applies.**\n  It waits inside the open session, so the process never dies and no context is\n  reconstructed. It is documented not to offer the wait for `-p` runs or\n  background sessions, and it cannot help a terminal that has been closed or a\n  machine that slept — and it sends a fixed prompt of its own rather than the\n  plan your session actually wrote. That is the gap this fills.\n\n`/usage-limits:relay` on its own reports where it stands: whether it is on,\nwhat is armed, when it wakes, what is available on this machine, and what the\nlast relay actually did.\n\n## Voice: so the prompt it writes sounds like you\n\nThe prompt that restarts your work is written by the plugin, not by you. A\nprompt that reads like a form letter gets a reply that reads like a form\nletter, so the plugin keeps a small profile of how you write and uses it there.\n\nIt is counters — message length, how often you start lowercase, whether you end\nwith a full stop, dropped apostrophes, capitals for emphasis, how you open —\nplus at most two short lines of your own text kept as examples. No model call\nis involved, nothing leaves the machine, and it says nothing at all until it\nhas seen a dozen prompts, because style measured on less than that is noise.\n\n```\n/usage-limits:voice                       what it knows, including the kept lines\n/usage-limits:voice set \"blunt, no preamble\"\n/usage-limits:voice forget                deletes it outright\n```\n\n`set` is the other half, and the more useful one: it is not what the plugin\nlearned about you, it is you saying how you want to be talked to. It goes in\nfront of every prompt and it wins over anything learned.\n\nOne deliberate omission: misspellings. They are the most individual thing in\nanyone's writing and the worst thing to put in a prompt — told that somebody\nmakes mistakes, a model makes mistakes everywhere. Only patterns that are\nchoices are recorded, and the card says outright not to introduce errors.\n\n## Releasing\n\n```\nnpm version patch\ngit push --follow-tags\n```\n\nPushing the tag runs the tests and publishes to npm. That goes through npm's\ntrusted publishing over OIDC, so there is no publish token stored in the repo\nor in CI. `npm version` also syncs the version in the plugin manifest, so the\nmarketplace and the npm package never disagree about which release is current.\n\n## Right next to the chat\n\n```\nnpx claude-usage-limits panel --open\n```\n\nThat opens a narrow pane to the right of the one Claude Code is running in\n(Windows Terminal, tmux, WezTerm, kitty, zellij and iTerm2 are all understood)\nand draws the limits in it, live:\n\n```\n✻ Claude usage\nFable 5.1 · xhigh · working\n\nCurrent session\n███████░░░░░░░░░░░░░░░░░░░░░ 24%\nresets in 4h 12m at 6:40 PM\n\nCurrent week (all models)\n█░░░░░░░░░░░░░░░░░░░░░░░░░░░ 4%\nresets in 1d 5h at Sun 7:00 PM\n\nCurrent week (Fable)\n█░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3%\nresets in 1d 5h at Sun 7:00 PM\n\nSessions · 1 working, 1 idle\n✳ Fable 5.1  usage-limits  working\n· Opus 5  ridelink  idle 4m ago\n\nlive, updated 12s ago\nq quit · r refresh\n```\n\nFour things about it are deliberate.\n\n**It is drawn the way Claude Code draws things.** The colours are Claude\nCode's own theme, read out of the CLI rather than approximated: the bar is the\none `/usage` paints, the title is the Claude orange, the spinner is Claude's\nspinner with Claude's frames. A bar turns yellow at 80 percent and red at 90,\neach window judged on its own. While Claude is working the title shimmers and\nthe spinner turns; while it waits, they stop. Under ultracode both go rainbow,\nwhich is what Claude Code does with its max effort tag.\n\n**The numbers are the ones Claude Code uses.** Every reading is the same GET\nthat `/usage` makes, with the login Claude Code already holds, plus the\nrate-limit headers on Claude's own API responses whenever the status line\nbelow is installed. Whichever is newer wins, and the footer says how old it\nis. The week for one model (the Fable line above) only appears while that\nmodel is the one running, because it cannot stop work on any other; when the\nmodel cannot be told at all, nothing is hidden on a guess. The\nreading is kept in `usage-limits-live.json`, and the report, the hooks and the\nstatus line all prefer it whenever it is newer than Claude Code's own cache,\nwhich can sit hours behind.\n\n**It keeps drawing when things go wrong.** Offline, it shows the last reading\nand says how old it is, and tries again at a widening interval. Signed out, it\nsays so in red and keeps checking, because Claude Code refreshes the login on\nits own next call. Told to slow down by the endpoint, it waits exactly as long\nas it was told. Too narrow a pane loses the breathing room, then the footer,\nnever the bars. Nothing in it refreshes or rotates the token, and the token is\nnever written anywhere by this plugin.\n\n**It knows about the other Claudes.** Two windows share one limit, so the\npanel lists every session this machine has heard from in the last quarter of\nan hour: what it runs, where, and whether it is working right now, each with\nits own spinner. The hooks are what say so (a prompt marks a session working,\nevery tool call keeps it so, the Stop hook marks it idle), so the list is live\nwithout anyone polling anything. The status line adds `+1 working` when\nanother session is spending.\n\nUnder the bars it says when the binding window runs out at the pace of the\nlast hour, measured from every session's spend, whenever that comes before\nthe reset: `at this pace the 5-hour window runs out in 25m, about 12 turns`,\nyellow inside half an hour and red inside ten minutes. The pane rings the\nterminal bell once when a window turns yellow and once more when it turns red.\n\n`panel` alone runs it in the current pane, `--once` prints one frame, `--json`\nprints the fields, `--no-fetch` (or `USAGE_LIMITS_FETCH=off`) keeps it\nentirely offline on the reading already on disk, and `--poll N` sets the\nseconds between readings (30 while Claude works and 120 while it waits\notherwise). Installed as a plugin, `/usage-limits:panel` opens it from inside\nthe chat.\n\nNot on the desktop app or claude.ai, which show the limits themselves. This is\nfor the terminal and the VS Code extension, where the only way to see them is\nto ask with `/usage`.\n\n## Status line\n\nThe same bars, one line under the prompt:\n\n```\n✻ Fable 5.1 · xhigh  session ████░░░░░░ 42%  week █░░░░░░░░░ 7%  fable █░░░░░░░░░ 3%  +1 working\n```\n\n```\nnpx claude-usage-limits statusline on\nnpx claude-usage-limits statusline off\n```\n\n`on` points Claude Code's `statusLine` setting at a small launcher in the\nconfig directory that finds wherever the plugin is currently installed, so a\nplugin update does not leave the status line pointing at a folder that has\ngone. A status line that was already there is kept and printed above ours;\n`--no-chain` replaces it instead, and `off` restores exactly what was there,\nincluding nothing. `--refresh N` re-runs it every N seconds as well as on every\nchange, which keeps the spinner turning between responses at the cost of a\nNode process every N seconds. The change applies to new sessions.\n\nThe line is also where the panel learns what Claude is doing. Claude Code\nhands the status line the model in use, the effort level, and the rate limits\nfrom its own response headers, and the line records them for the panel, which\nnever sees that JSON. It reads no transcripts and makes no network calls, so it\ncosts about a tenth of a second on every redraw. It shrinks to fit narrow\nwindows, honours `NO_COLOR` and Claude Code's `prefersReducedMotion`, and\nprints nothing rather than an error if anything goes wrong.\n\nThe older one-line form is still there as `usage.js --status`, which prints\n`5h 62% 1h 40m  wk 75% 2d 4h` and prefixes `LOW` past 90 percent.\n\n## It tells you where you stand, every time\n\nInstalled as a plugin, a hook measures the budget before each prompt and puts\none line into Claude's context:\n\n```\n[usage-limits] binding window is 5-hour 47% used, about 75 turns of headroom,\nresets in 3h 52m. Other windows: weekly 16%. This session: 229 turns, 14.2M tokens, $64.16.\n```\n\nIt names the window that will stop the work first and hangs the figures off\nthat one. Two windows run at once and they are rarely in the same place, so\n\"weekly 16%\" sitting next to \"75 turns\" would read as far more room than\nexists.\n\nClaude opens with it. When there is room that is a single line and it moves on:\n\n> The 5-hour window is the binding one: 47% used, about 75 turns of headroom.\n> This fits easily.\n\nWhen there is not, the line becomes a plan rather than a status:\n\n> The weekly window has about 22 turns left. That covers the parser change and\n> its tests, but not the migration or the docs pass, so I will do the first two\n> and leave the rest for after the reset at 09:00.\n\nThe wording changes with the pressure, not only the numbers. The trigger worth\nexplaining is pace: two days into a week you should be near 29 percent spent, so\n60 percent means you will not last the week, and that is worth hearing at 60\nrather than at 85.\n\nThe percentages behind the line are kept fresh too. If the reading on disk is\nolder than three minutes when a prompt goes in, the hook first takes the same\nreading Claude Code takes for `/usage`, and the mid-turn pulse does the same\nevery two minutes through a long turn. That is what stops a burst of parallel\nagents from emptying a window between two readings: eight of them once spent\nhalf a window in five minutes while the line, seventeen minutes old, still\nsaid 42 percent. Offline that is one quick failure and then a widening\nbackoff, never a wait on every prompt.\n\nOne limit worth knowing: the hook fires when a prompt is submitted, so a\nmessage sent while Claude is already working does not refresh it. Claude Code\ndelivers those into the running turn without re-running hooks, which no plugin\ncan intercept. The skill handles it by telling Claude the figures age during a\nturn, and to re-read them before claiming a job fits rather than trusting a\nnumber from several tool calls ago.\n\nIt has to be cheap, because it runs on every prompt. The percentages come from\none small file. The transcript scan behind \"turns of headroom\" is cached for a\nminute, so it costs about 400ms cold and 120ms warm.\n\n| Variable | Default | Effect |\n| --- | --- | --- |\n| `USAGE_LIMITS_BRIEF` | on | Set to `off` to turn the before-prompt line off entirely. |\n| `USAGE_LIMITS_BRIEF_FULL` | off | Set to `1` to say the line's standing instruction in full on every prompt. By default it is said in full once per session and as twelve words after that. |\n| `USAGE_LIMITS_NEAR` | 90 | Percent used at which the budget counts as tight. Nothing below it is discouraged. |\n| `USAGE_LIMITS_FEW_TURNS` | 10 | Turns of headroom at or below which the budget counts as tight. |\n| `USAGE_LIMITS_RUNWAY` | 10 | Minutes of runway at the current pace below which the budget counts as tight. |\n| `USAGE_LIMITS_CACHE` | 60 | Seconds the measured half stays good for. |\n| `USAGE_LIMITS_FLOOR`, `USAGE_LIMITS_AHEAD` | 40, 15 | Only feed the reported pace figure; they no longer change the wording. |\n| `USAGE_LIMITS_PULSE` | on | `off` silences the mid-turn line; `always` prints it even when there is room. |\n| `USAGE_LIMITS_PULSE_SECONDS` | 120 | How often the mid-turn line can fire. |\n| `USAGE_LIMITS_TALLY` | on | Set to `off` to turn off the after-reply tally, the closing line and the session history. |\n| `USAGE_LIMITS_FETCH` | on | `off` keeps the panel and the hooks off the network; they show the reading already on disk. |\n| `USAGE_LIMITS_REFRESH` | 180 | Seconds a reading may age before the before-prompt hook takes a fresh one. The mid-turn pulse uses its own interval. |\n| `USAGE_LIMITS_POLL` | 30 / 120 | Seconds between the panel's readings, working / idle. Never under 15. |\n| `USAGE_LIMITS_MOTION` | on | `off` stops the spinner, the shimmer and the rainbow. Claude Code's `prefersReducedMotion` setting does the same. |\n| `USAGE_LIMITS_STATUSLINE` | on | `off` blanks the status line while still recording the feed the panel reads. |\n| `USAGE_LIMITS_CLOCK` | from settings | `12h` or `24h` for reset times; otherwise follows Claude Code's `timeFormat`. |\n| `USAGE_LIMITS_COLOUR` | detected | `256` or `none` to override colour detection. `NO_COLOR` and `FORCE_COLOR` are honoured. |\n| `USAGE_LIMITS_ASCII` | off | `1` draws the bars and the spinner with plain characters. |\n| `USAGE_LIMITS_BELL` | on | `off` silences the panel's terminal bell when a window turns yellow or red (`--no-bell` does the same). |\n\n## What a session cost\n\nThe other half of the question. After every reply, a `Stop` hook shows you one\nline with what that reply cost and what the session has cost so far, tokens\nfirst because that is what people ask:\n\n```\n[usage-limits] this reply: 6 turns, 210k tokens, $0.95. This session: 9 prompts,\n48 turns, 3.1M tokens (2.9M cache read, 61k output), about $12.40, roughly 31\npoints of the 5-hour window. Context is now about 130k tokens.\n```\n\nIt goes to you, not into the context, so it costs the model nothing. It reads\nonly the bytes of the transcript written since the previous reply, including\nany subagent transcripts under the session's own folder, so it takes a few\nmilliseconds however long the session has run. When the session closes, a\n`SessionEnd` hook prints the closing line:\n\n```\n[usage-limits] session closed after 1h 42m: 9 prompts, 48 turns, 3.1M tokens, about $12.40.\n```\n\nClaude is also asked to end finished work with the total in its own words, one\nplain line, and to skip it on partial progress. The before-prompt line carries\nthe session's tokens, what the last reply cost, and how large the context has\nbecome, with one clause of advice once it passes 150k tokens, because the\ncontext is re-sent on every call and past a point it is the cost of the session.\n\nThe history is kept in `usage-limits-sessions.json` beside the other caches:\n\n```\nnode skills/usage-limits/scripts/usage.js --sessions\nnode skills/usage-limits/scripts/usage.js --session last\n```\n\n```\n  Id        When        Project                 Prompts    Turns   Tokens     Cost\n  4940f126  9m ago      C--Users-OWNER                1       16     2.8M   $11.36  open\n  380e664a  9m ago      C--Users-OWNER               10   112+35    51.0M   $93.11  open\n```\n\n`--session last` (or an id, or a unique prefix of one) shows one session in\nfull: the token split, the model mix, the subagent calls and the context size.\nInstalled as a plugin, `/usage-limits:session` reads the same thing back.\nTurns are main-thread calls; `+N` is what subagents made on top. Set\n`USAGE_LIMITS_TALLY=off` to turn all of this off.\n\nIf you installed the plain skill rather than the plugin, add the two hooks\nbeside the first one in `settings.json`: `Stop` running `scripts/stop.js` and\n`SessionEnd` running `scripts/sessionend.js`.\n\n\n## What would this job cost\n\n```\nnode skills/usage-limits/scripts/usage.js --forecast 15\n```\n\n```\nForecast for 15 turns\n\n  Window                 Would cost    Leaves   Verdict\n  5-hour               7.4% to 8.4%       45%   fits\n  weekly               0.8% to 0.9%       83%   fits\n\n  Priced from 64 recent turns: $0.296 typical, $0.333 at the expensive end.\n\n  There is room for this. No need to work around the limit.\n```\n\nIt prices turns at what turns have really cost on your account, and gives a\nrange rather than one number, because a turn that reads three files costs many\ntimes one that answers from context. The upper end is the honest one for a long\nrun, since turns get dearer as the context grows.\n\n\n## Which effort and model should this run at\n\n```\nnode skills/usage-limits/scripts/usage.js --recommend        # against the headroom\nnode skills/usage-limits/scripts/usage.js --recommend 15     # against a 15 turn job\n```\n\n```\nRecommendation for 15 turns\n\n  Posture   tight - a 15 turn job fits, but only just (5-hour window, 12% left, resets in 1h 40m)\n  Effort    xhigh -> medium; one notch covers the mechanical stretches; keep judgement calls at full effort\n            this session: /effort medium   (only the user can run it)\n            new sessions: node scripts/lowpower.js on --effort medium\n  Model     keep opus for the judgement; the saving is in where the mechanical bulk runs\n            dispatch self-contained mechanical work to a subagent on sonnet at low effort, and keep the judgement here\n```\n\nIt weighs the binding window, the measured cost of a turn, and how much of the\noutput is actually reasoning, then names a posture - roomy, tight, critical, or\nreset-first - and the exact commands. When there is room it says to keep\neverything as it is, out loud, because turning effort down when the budget is\nnot tight buys nothing and costs quality. When reasoning is only a sliver of\nthe output it says so too, and leaves effort alone: the reasoning share is the\nceiling on what lowering effort can save. `--json` returns the decision as an\nobject.\n\nThe three levers it recommends across belong to different hands. The running\nsession's effort and model are the user's alone (`/effort`, `/model`, applied\nimmediately); new sessions belong to `lowpower.js`, which writes `settings.json`\nfor the next launch; and delegated work belongs to the agent itself, which can\ndispatch a subagent on any model at any effort, mid-session, with no one asked.\nNo script or hook can change the model or effort of a session already running -\n`settings.json` is read at launch and hook output has no model field - which is\nwhy the recommendation separates \"this session\" from \"new sessions\" instead of\npretending one command covers both.\n\n\n## Plans\n\nIt reads which plan you are on and adjusts what it tells you, because the\nadvice differs even though the arithmetic does not:\n\n| Plan | Read from | What changes |\n| --- | --- | --- |\n| Pro | `claude_pro` | Smallest budget. The 5-hour window usually binds first. |\n| Max 5x | `claude_max` plus `default_claude_max_5x` | Room for Opus on most work. The weekly window is the one that bites. |\n| Max 20x | `claude_max` plus `default_claude_max_20x` | Rarely binds. No reason to slow down unless the weekly is already high. |\n| Team, Enterprise | `claude_team`, `claude_enterprise` | Seats are pooled and overage is an org setting. |\n\nThe window maths never needs to know the plan. It calibrates against what your\nown account reports, so it is right on any tier, including ones that did not\nexist when this was written. The plan only decides which line of advice you\nget at the bottom of the report.\n\n## Codex\n\nIt reads Codex's limits too, from the same repo and the same commands.\n\nCodex writes its session rollouts to `~/.codex/sessions`, one JSON object per\nline, and every model request appends a record carrying both the account meter\nand what that request cost in tokens. That is the same pair of things this tool\nneeds from Claude Code, so the window arithmetic, the turn estimates, the\nforecast and the concurrent-session counting all work unchanged. Nothing is\nuploaded and no credentials are read.\n\n```\nnpx claude-usage-limits --host codex\nnpx claude-usage-limits --host codex --refresh\nnpx claude-usage-limits codex-hook on\n```\n\nThe host is detected, so `--host` is only needed on a machine with both\ninstalled. `--refresh` asks Codex itself for a live reading rather than the\nnewest one it happened to write; it starts a short-lived `codex app-server` and\ntakes about a second, and it is the Codex equivalent of `/usage`.\n\nAs a plugin, Codex installs it from this repo directly:\n\n```\ncodex plugin marketplace add https://github.com/ridelink0/claude-code-usage-limits\ncodex plugin add usage-limits@usage-limits\n```\n\nThe panel works under Codex too, GPT-6 Astra included:\n\n```\nnpx claude-usage-limits panel --open --host codex\n```\n\nIt reads Codex's own meter the way `/status` does, through a short-lived\n`codex app-server`, and draws the same bars under the title `Codex usage`,\nwith the model named the way Codex names it. Codex has no status line and no\nhooks, so there is no spinner for a working session and no Sessions list; the\nnumbers are the point.\n\n### One thing is different, and it is worth being straight about\n\nUnder Claude Code the budget line arrives on its own, because a plugin can ship\nhooks. Under Codex it does not, and not for want of trying:\n\n- Codex has the whole hook engine. The binary carries `UserPromptSubmit`,\n  `SessionStart`, `PreToolUse` and the rest, and `codex features list` reports\n  `hooks` as stable and enabled.\n- A plugin cannot ship one: `plugin_hooks` is reported as `removed`.\n- And on `codex-cli 0.151.0-alpha.7.2` nothing fires it. Tested with a hook\n  whose only job was to write a file, from `~/.codex/hooks.json`, from a\n  `[hooks]` table in `config.toml`, and from `~/.codex/hooks/`, in both\n  `codex exec` and the desktop app. The engine is present and inert.\n\nSo `codex-hook on` installs two things. A marked block in `~/.codex/AGENTS.md`,\nwhich Codex reads at the top of every session and which is what actually works\ntoday; and the hooks themselves, ready for the build that runs them. `status`\nreports both, `off` removes both, and neither touches anything else in those\nfiles.\n\nThe practical difference is that under Codex the budget is read deliberately\nrather than being handed to you before every prompt: once at the start of a\npiece of work, again every ten or so tool-heavy turns and before the last long\nstep, and when the turns left are fewer than the steps still ahead the block\ntells Codex to stop at a clean boundary, write WORK-PLAN.md and commit rather\nthan run into the limit. That last rule exists because a Codex session on\n7 September 2026 read \"about 32 turns left\", carried on through forty minutes\nof publishing, and was cut off with the handoff unwritten.\n\nTwo smaller differences. There is no money column: Codex meters a share of an\nallowance and never quotes a price, so the percentages stand alone. And\n`lowpower` is Claude Code only, because it writes Claude's `settings.json`.\n\n## VS Code\n\nThe Claude Code extension for VS Code shows the limits only when you ask with\n`/usage`, and it does not render a custom status line. So there is an\nextension of its own in [vscode/](vscode/): the same bars as one full-height\nview in the right sidebar, beside the chat, opened for you when VS Code\nstarts, with the Sessions list and the same animations in CSS. Nothing at the\nbottom unless you turn `claudeUsageLimits.statusBar` on. It carries the plugin's scripts inside it, so it has no dependencies and\nreads the same files and takes the same reading as the terminal panel.\n\n```\ncd vscode && npm run package\ncode --install-extension claude-usage-limits-<version>.vsix\n```\n\nThe `.vsix` is attached to each GitHub release. It is not on the Marketplace\nyet; that needs a publisher account, and the steps are in\n[vscode/README.md](vscode/README.md).\n\n## Where it works\n\nEvery surface of Claude Code on a machine shares one config directory, so\nthis reads all of them and does not care which one you are in:\n\n| Surface | Works | Notes |\n| --- | --- | --- |\n| Terminal (`claude`) | yes | |\n| VS Code extension | yes | The VS Code extension above puts the bars under the chat and in the status bar. |\n| JetBrains extension | yes | |\n| Desktop app | yes | The budget line and the hooks. The panel, the status line and the VS Code extension are for the terminal and VS Code; the app shows the limits itself. |\n| Headless (`claude -p`) | yes | Scripts run fine, but there are no slash commands, so `lowpower.js` is the only way to change effort. |\n| Cloud and web sessions | partly | Those run on a remote machine with their own config directory. Percentages are per-account and stay correct; the pace is measured from whatever transcripts are local to wherever you run the script. |\n\nSessions from different surfaces land in the same `~/.claude/projects` tree\nand are counted together. On this machine the transcripts carry both `cli` and\n`claude-vscode` entrypoints, and the report totals both.\n\nWindows, macOS, and Linux all work. `CLAUDE_CONFIG_DIR` is honoured if you have\nmoved the config directory.\n\n## Budget modes\n\nThis plugin is not free. It puts a line into the model's context before every\nprompt, refreshes readings after tool calls, and keeps a status line alive. A\nmode called \"save tokens\" that still injects four hundred tokens of advice per\nturn is not saving anything - it is charging you for the advice about saving.\n\nSo a mode changes two things, not one: what the plugin tells the agent to do,\nand what it costs to say it.\n\n```\nclaude-usage-limits mode                  which one, where it came from\nclaude-usage-limits mode max              set it\nclaude-usage-limits mode off --guard 95   off, except one line near the wall\nclaude-usage-limits mode auto             pick from pressure, always reported\nclaude-usage-limits mode --list           all four, and the aliases\nclaude-usage-limits mode --ledger         measured cost per turn, per mode\n```\n\n| mode | what it does | what it costs |\n| --- | --- | --- |\n| `max` | fewest tokens that can still finish the job | one terse line, readings every 10 minutes, silent while nothing a decision depends on has moved |\n| `high` | full capability, re-costed every two minutes mid-turn | the normal line, **plus a standing directive on every prompt** (about 650 characters, so a `high` briefing runs roughly 40% longer than `standard`), plus a short re-cost the first time a cheaper tier would do the same job - re-measured every two minutes, said only when the answer changes |\n| `standard` | what the plugin has always done | today's line, today's cadences, unchanged |\n| `off` | nothing at all | every hook returns before reading anything: no scan, no state write, no line, no end-of-reply tally |\n\n`high` is the mode that spends a little more to waste a lot less: it carries a\nstanding directive and re-measures mid-turn, so its own line is longer than\n`standard`'s. `max` is the one that costs less to say. Picking `high` because\nthe word sounds efficient and expecting a shorter line is the one\nmisunderstanding worth heading off.\n\nAliases, because people ask for these in their own words: `ultra`,\n`ultra-efficient`, `maxtoken`, `maxefficient` for `max`; `smart`,\n`high-efficient` for `high`; `efficient`, `token-efficient`, `default`, `on`\nfor `standard`; `none`, `quiet`, `silent`, `ignore` for `off`.\n\n**`normal` is deliberately not an alias.** To some people it means \"the plugin\nworking as usual\" (`standard`); to others it means \"the plugin stays out of the\nway\" (`off`). Those are opposite instructions, so guessing is wrong half the\ntime. Ask for `normal` and you get a question back, not a setting.\n\n`off` means off, including at 100 per cent used. That is what it says and it is\nhonoured literally - which is also the failure this plugin exists to prevent,\nso setting it prints the consequence once and offers `--guard 95`: one short\nline when the window is nearly spent, and nothing else, ever. The default guard\nis none. Discoverable, not imposed.\n\nThe one thing a mode never does is lower the quality of the work. When things\nare tight you change the ORDER of the work, never the amount or the quality.\nThe savings come from ceremony - speculative reads, re-reads, preamble,\nsubagents nobody needed, workflows that cost more context than they save - and\nthe directives say that outright, because a model reading \"use fewer tokens\"\nwill otherwise quietly decide to skip the hard part. There is a test for it,\nand another one that checks the `max` line is never longer than the `standard`\nline for the same reading.\n\n### Two planes, and which one is whose\n\nThere are two separate things people mean by \"change the model\":\n\n- **The user plane** is your `settings.json` (`model`, `effortLevel`), the\n  `/effort` and `/model` pickers, and `lowpower.js`. It is you saying what you\n  want for yourself. The plugin reads it, shows it, and **never writes it on\n  its own initiative.** Claude may recommend a change, and make one if you ask;\n  it may not make one unasked. There is a test that exercises every mode, every\n  alias, `auto`, the bounds and the guard, and then checks `settings.json` is\n  byte-identical.\n- **The agent plane** is the tier actually running the turn, and the tier of\n  everything the turn spawns. That is what costs money, and that is what the\n  modes govern.\n\n`claude-usage-limits mode --baseline` shows both side by side. The budget line\nnow says the tier as well, and where the reading came from, because the number\nthat decides what a turn costs was the one number the line never printed. It\nnames the version, not only the family (`opus 5.5/xhigh`, not `opus/xhigh`),\nread from the newest assistant message in the session's transcript: a settings\nalias such as `opus` cannot say which Opus answered.\n\nWhen the model running is an older release of a family that has a newer one at\na lower price - Opus 5 or 4.8 against Opus 5.5 ($4/$20, cache reads $0.20\nagainst $0.50), Fable 5 against Fable 5.1 (reads $0.25 against $1) - the brief\nsays so once per session, with the prices and how many turns the one-off cache\nrebuild takes to repay. In Claude Code it offers `/model <id>`, which switches\nthe session and saves the model as the default for new sessions; elsewhere it\noffers the host's own model setting and names no slash command. A relay whose\nown `model` is pinned to the older release is named too, since a wake starts\nwith that `--model` whatever the session switched to. Releases on\neither side of the 4.7 tokenizer change are not compared, because a price per\ntoken is not like for like across it. `mode --no-advice` mutes this with the\nrest of the advice.\n\nWhat Claude can genuinely move, stated without embroidery: the model on an\n`Agent` call, and the model and effort inside a `Workflow` script. Its own\nmodel and effort it cannot change mid-session - no hook output field exists for\nit, on either host - so the plugin names the exact command and leaves it with\nyou. It does not pretend otherwise.\n\nYou can bound what it may suggest:\n\n```\nclaude-usage-limits mode --floor sonnet/medium   # never point below this\nclaude-usage-limits mode --ceiling opus/xhigh    # nor above it\nclaude-usage-limits mode --pin                   # report only, suggest nothing\nclaude-usage-limits mode --decline               # no, and stop suggesting that\n```\n\nAnd when you say \"put it back\", there is something to put it back to:\n\n```\nclaude-usage-limits mode --history   what changed, when, at whose instruction\nclaude-usage-limits mode undo        reverse the last change, naming it first\n```\n\n`undo` reverses what the plugin owns. For a change to your own settings it\nnames the entry and the command that undoes it and leaves the file alone -\nwhich is the same rule as everywhere else, and the reason the byte-identical\ntest can never go green by accident.\n\n## Working cheaply on purpose\n\nHalf the problem is measurement. The other half is that a high effort setting\nkeeps spending at the same rate whether or not there is room left.\n\n```\nnode skills/usage-limits/scripts/lowpower.js status\nnode skills/usage-limits/scripts/lowpower.js on                 # effortLevel -> low\nnode skills/usage-limits/scripts/lowpower.js on --effort medium --model sonnet\nnode skills/usage-limits/scripts/lowpower.js off                # puts back what was there\n```\n\nIt edits `effortLevel` in `settings.json` through a temporary file, saves the\nprevious values alongside, and keeps a `.usage-limits-backup` copy of the original.\nKeys it does not manage are left untouched. Running `on` twice does not\noverwrite the saved originals.\n\nThe file change applies to new sessions. For a session already running,\n`/effort low` does the same thing immediately.\n\n`--effort max` is refused: `settings.json` does not accept `max`, so saving it\nwould store a value the next session silently ignores. `max` lives in\n`/effort` and `CLAUDE_CODE_EFFORT_LEVEL` only.\n\nThat covers the setting. The larger saving is behavioural, and the skill file\nspells it out: batch tool calls, read line ranges instead of whole files, skip\nsubagents when the context already exists, stop retrying a fix that is not\nworking. Effort level does not control any of that, which is why those rules\napply even at `xhigh` or `max`. The reasoning behind each one is in\n[tactics.md](skills/usage-limits/references/tactics.md).\n\n## Requirements\n\nNode 18 or newer, and a Claude Code recent enough to write\n`cachedUsageUtilization` into `~/.claude.json`. If the report says it found no\nsnapshot, run `/usage` once inside Claude Code and it will be there.\n\nNothing is uploaded. The report and the status line read only files already on\nthe machine. The panel, and the hooks when the reading on disk is older than a\nfew minutes, take the same reading Claude Code takes for `/usage`: they read\nthe login token Claude Code keeps and send it to Anthropic's usage endpoint,\nnowhere else. The token is never written to disk by this plugin, never\nprinted, and never refreshed or rotated. `USAGE_LIMITS_FETCH=off` keeps all of\nit offline, on the reading Claude Code itself last cached.\n\n## How accurate is it\n\nGood enough to plan with, not a bill. The honest caveats:\n\n- The meter reports whole percent, so a reading of 2 percent is really\n  somewhere between 1.5 and 2.5. Low readings project badly, and the report\n  says so when it is in that range.\n- Transcripts are local. Usage from another machine or from claude.ai counts\n  against the same limit but leaves no local record, which makes the estimate\n  read low.\n- The dollar figures are an internal unit used to convert your token mix into\n  a percentage of the limit. On a subscription plan you are not billed them.\n- Turns left assumes the next turns look like the last hour's. A debugging\n  spiral breaks that assumption immediately.\n- A model released after this table was written is priced at its family's\n  average rate, and the report marks those rows with an asterisk rather than\n  passing the guess off as a published price.\n- Time of day is not modelled. Anthropic used to shrink the five-hour limit\n  during peak hours, but removed that on 6 May 2026 for Pro and Max while\n  doubling the limits. If demand-based limits ever return, the numbers here\n  follow automatically, because they are calibrated from what your traffic did\n  to the meter rather than from an assumption about the clock.\n- Subagent transcripts, written under the session's own folder, are read too.\n  Their calls count in the money and the tokens and are reported apart from\n  the turns, because a turn is one main-thread call.\n- The account's own list of limits is read as well as the per-window buckets,\n  so a per-model weekly such as `weekly (Fable)` shows up as a window of its\n  own, priced from that model's calls alone.\n- A per-model weekly only counts against you while you are running that model.\n  One at 88 per cent is not your wall if you are working on Opus: nothing you\n  do moves it. Those windows are still listed, marked `not in use`, but they\n  are never picked as the binding window, never raised as a warning, never a\n  reason a forecast says the job does not fit, and never what puts `LOW` on the\n  status line. Start using that model and they come straight back. Nothing is\n  suppressed unless both sides are recognised: an unknown model in the setting,\n  or a weekly scoped to a model this table has never heard of, is treated as\n  live, because hiding a limit that can stop the work is worse than showing one\n  that cannot.\n- The report also says what the room left buys in turns of each model, priced\n  from that model's own measured cost per turn, against the window its spend\n  lands in. Rows sharing a window are alternatives rather than additions. A\n  model that has only ever run as a subagent gets no projected turn count at\n  all - its errands are not turns - though what delegating to it has cost is\n  still reported. What each model cost is remembered in\n  `usage-limits-models.json`, one entry per family, so a session that opens on\n  a model it has not run this week still knows its price.\n- The turn cost behind \"turns of headroom\" is a median over at least five\n  turns, so one compaction cannot define your pace.\n- What a point of a window costs is learned once from the best sample seen and\n  remembered, rather than re-derived each time from whatever slice is to hand.\n  A thin baseline prices a point badly and every correction built on it\n  inherits the error, which is how a window truly at 70 percent once came out\n  at 82.\n- The cache only refreshes when Claude Code talks to the API, so after a gap it\n  can be hours old and its 5-hour window long since rolled over. Dropping that\n  window would hide the limit that actually stops short work, so it gets rebuilt\n  from your transcripts instead: whatever was spent inside the window the stale\n  reading describes equalled its percentage, and that price per point st","readmeFilename":"README.md"}