こんにちは。ダタク [ @iQeeeda ] です。
Claude Max に課金しているのに、なぜか毎日トークンの残量に一喜一憂しています。
上限、リセットのタイミング、使い切ったときの降格。
定額にしたはずが、別のものに振り回されているんですよね。
先に結論です。
- 定額の Claude Max でも、トークン上限・リセット・降格に振り回される
- 対処に使い始めたのが、利用枠をメニューバーに可視化する `CodexBar` (無料・OSS)
- リセット時刻が見えて計画しやすくなった。ただし残量が見えすぎて勿体ない病は加速する副作用も
- 上限に悩む Max / Pro ユーザーなら、入れておいて損はない
※ 体験はぜんぶ僕の実体験。CodexBar の仕様は公式・GitHub で確認済み。
そんな僕が、対処として使い始めたのが CodexBar です。
今回は、導入した理由と正直な感想を書きます。
そもそも何に振り回されていたか
CodexBar の前に、僕が抱えていた困りごとを 3 つだけ。
- 使い切らないと勿体ない病 — 残量が気になって、つい枠を回してしまう
- リセットが読めない — いつ枠が戻るか分からず、重いタスクを始めるか迷う
- 切れると降格 — トークンが尽きると旧モデルや mini に格下げされ、手が止まる
要は「今どれだけ使ったか / いつ戻るか」が見えないのが、いちばんの不安でした。
CodexBar とは
CodexBar は、AI コーディングの利用上限をメニューバーに表示してくれる macOS アプリです。
Claude や Codex、Cursor、Gemini、Copilot など多くのプロバイダに対応。
それぞれの利用枠と「いつリセットされるか」が、常に見えるようになります。
- 無料 & オープンソース (作者は steipete 氏)
- ログイン不要。既存のセッションを読むだけで、パスワードは保存しない
- Dock アイコンなし・最小 UI でメニューバーに常駐
CodexBar のインストール
macOS なら Homebrew で一発です。
# CodexBar をインストール (macOS 14 以上)
brew install --cask codexbar うまくいかなければ、GitHub Releases から直接ダウンロードもできます。
CodexBar でできること
- プロバイダごとに、セッション・週次・月次の利用枠を表示
- 枠ごとに「次のリセットまでの残り時間」をカウントダウン
- 複数プロバイダをまとめて 1 アイコンに集約する表示も選べる
codexbarという CLI も同梱。ターミナルからも残量を確認できる
僕がいちばん助かっているのは、リセットまでのカウントダウンです。
使ってみた正直な感想
良かったところ
- リセット時刻が見えるので、重いタスクを枠が戻った直後に回せる
- 上限が近いと分かるので、作業の途中で急に止まる事故が減った
困ったところ (副作用)
ただ、正直に言うと副作用もあります。
残量が常に見えるせいで、逆に「まだ枠がある、回さなきゃ」と急かされるんですよね。
そう、勿体ない病が加速します。
可視化は諸刃の剣だな、と痛感しました。
CodexBar が「Claude OAuth token expired」で止まるときの直し方
ここからは、僕が実際にハマったトラブルの話です。
ある日から codexbar が、このエラーで止まるようになりました。
Error: Claude OAuth token expired. Run `claude login`, then retry. 言われたとおり claude login で入り直しても、まったく直らない。
それどころか、キーチェーンの許可ポップアップが何度も何度も湧いてきます。
原因は「古い認証ファイル」がキーチェーンに勝つこと
CodexBar が Claude の認証情報を読む順番は、公式ドキュメントによるとこうなっています。
- CodexBar 自身の OAuth キャッシュ
- ファイル
~/.claude/.credentials.json - キーチェーンの
Claude Code-credentials
Claude Code は macOS だとキーチェーンにトークンを保存していて、claude login で更新されるのもキーチェーン側です。
ところが僕の手元には、1 ヶ月前に期限切れになった古い ~/.claude/.credentials.json が残っていました。
順番どおり、この化石ファイルがキーチェーンより先に読まれて勝ち続けていたわけです。
再ログインが効かないのは、そもそも見ている場所が違ったから。
診断は verbose ログの source= を見るだけ
犯人を特定できたのは、この 1 行でした。
codexbar usage --provider claude --verbose
# → source=credentialsFile expiresAtMs=1781262153629 isExpired=true source=credentialsFile— キーチェーンではなくファイルを読んでいるexpiresAtMsを日時に直すと 1 ヶ月前 — ファイルの中身が化石
念のためキーチェーン側も確認したら、こちらは有効なトークンでした。
# キーチェーンのトークンを確認する
security find-generic-password -s "Claude Code-credentials" -w 対処は「化石ファイルを退避して、GUI で一度だけ許可」
まず古いファイルを退避します (削除でも可)。
# 古い認証ファイルを退避する
mv ~/.claude/.credentials.json ~/.claude/.credentials.json.bak するとエラーが credentials not found に変わります。
CodexBar の CLI は仕様上キーチェーンの許可ダイアログを出さないので、ここから先は GUI の出番です。
- メニューバーの CodexBar → Refresh
- キーチェーンのダイアログが出たら「常に許可」
- 出ない場合は Preferences → Providers → Claude → Keychain prompt policy を
Always allow promptsにして、もう一度 Refresh
これで無限ポップアップから解放されました。
再発するなら Usage source を CLI か Web に逃がす
ちなみに CodexBar には、Claude Code の refreshToken を先に消費して Claude Code 側を毎日再ログインに追い込む、という不具合報告があります (issue #1161。現在は closed)。
「ある日突然トークンが期限切れになった」のも、これが尾を引いていた可能性があります。
再発するようなら、Usage source を CLI か Web に変えるとキーチェーン問題ごと回避できます。
# CLI ソースで動くか確認する
codexbar usage --provider claude --source cli 教訓はひとつ。
「再ログインしたのに期限切れ」と言われたら、ツールがどの認証情報を見ているかを疑いましょう。
verbose ログの source= を見れば一発です。
macOS の「キーチェーン + 遺物ファイル」の二重管理、地味に事故のもとでした。
トークン上限に悩むなら入れておいて損はない
CodexBar は、上限そのものを増やしてはくれません。
でも「今どれだけ使ったか / いつ戻るか」が見えるだけで、振り回され方はだいぶマシになります。
Claude Max や各種 Pro プランでトークン上限に悩んでいるなら、入れておいて損はないです。
……勿体ない病だけは、自己責任で。
まだコメントはありません