広告

Claudeのコード制限を毎日切らさない方法

Dev.to / 2026/4/1

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • Claude Codeは、1日の最初のメッセージから開始するスライディングウィンドウに対してトークンの予算を割り当てます。早い段階でクォータを使いすぎると、実際に使えるウィンドウが短くなる可能性があります。
  • ガイドでは、GitHubのスケジュールされたアクションを通じて `claude-warmup` でウォームアップ用のメッセージを自動送信することで、ウィンドウを特定の時刻に「アンカー(固定)」することを提案しています。
  • この仕組みは、最初に受け取ったメッセージの「丸められた時刻」にウィンドウが合うために成立します(例:6:15にアンカーされると、ウィンドウは6:00に設定される)。その一方で、消費するトークン量はごくわずかです。
  • 導入は6ステップで行います:リポジトリのフォーク、OAuthトークンの生成(`claude setup-token`)、そのトークンをGitHubのシークレットに保存、タイムゾーンに合わせたcronの設定、そしてワークフローのテスト。
  • スクリプトにはデフォルトのスケジュール(平日9:15 UTC)が用意されており、cron式を正しく調整するためのタイムゾーン変換の例も示されています。

Claude Code はスライディングウィンドウで 5 時間分のトークン予算を割り当てますが、このウィンドウはその日の最初のメッセージから始まります。早めにメッセージを送って、その後に予算を使い切ってしまうと、仕事の一番生産的な時間帯の真ん中で「有用な時間」を失う可能性があります。この問題を避けるために、claude-warmup と GitHub の予定アクションを使って、事前ウォームアップメッセージを自動送信し、ウィンドウを特定の時刻に「固定(アンカー)」できます。

今日から Apidog を試す

なぜこれが機能するのか

Claude Code のトークンウィンドウは、最初のメッセージの「丸い時刻」(例:6時15分にメッセージを送ると、ウィンドウは6時00分に固定され、6時〜11時の期間になります)に合わせて調整されます。つまり、仕事を始める前にウォームアップメッセージを自動化することで、ウィンドウがいつ開いていつリセットされるかを正確に制御し、生産性が高い時間帯の途中での分断を避けられます。送信される「ピン」はごくわずかなトークン数しか消費しません。

設定(6 ステップ)

1. リポジトリを複製(Fork the repo)

gh repo fork vdsmon/claude-warmup --clone
cd claude-warmup

2. OAuth トークンを生成

Claude Code がインストールされているマシンで、次を実行してください:

claude setup-token

表示されるトークン sk-ant-oat01-... をメモします。これは約 1 年間有効です。

3. トークンを GitHub のシークレットとして保存

gh secret set CLAUDE_OAUTH_TOKEN

プロンプトにトークンを貼り付けます。GitHub のアクションが認証に使用します。

4. cron のスケジュールを設定

このアクションはデフォルトで平日の 9:15 UTC に実行されます。お使いのタイムゾーンに合わせてスケジュールを変更してください:

gh variable set WARMUP_CRON --body "15 13 * * 1-5"

時刻の対応例:

あなたのタイムゾーン 9時開始のためのウォームアップ Cron 式
UTC 8:45 UTC 45 8 * * 1-5
US Eastern (EST) 8:45 = 13:45 UTC 45 13 * * 1-5
US Pacific (PST) 8:45 = 16:45 UTC 45 16 * * 1-5
CET(中央ヨーロッパ) 8:45 = 7:45 UTC 45 7 * * 1-5

5. ワークフローをテスト

gh workflow run warmup.yml

フォークの「Actions」タブを確認して、実行されているか見てください。

6. それが機能することを確認

翌朝、Claude Code を開いて次を実行します:

/usage

リセット時刻はアンカーに対応している必要があります。たとえば 8:45 のウォームアップの場合、ウィンドウは 8:00 のリセット表示になります。

代替案:ローカルで実行

好みによっては、cron または launchd を使ってウォームアップをマシンから直接実行できます:

claude -p "hi" --model haiku --no-session-persistence

同じタイミングロジックで、このコマンドをローカルの crontab(crontab -e)に追加します。重要なのは、開始前にメッセージが送信されれば、送信元は何であっても構わないという点です。

予算を延ばすためのヒント

  • 深い思考(Extended Thinking)の影響を考えましょう。 これはトークンをすぐに消費します。複雑なタスク(アーキテクチャ、デバッグ)にのみ使い、単純な調査や、既知のコードスニペットには使わないようにしてください。
  • 軽いコンテキストを維持しましょう。 Claude Code は開いているファイルとターミナル出力を分析します。コンテキストが広いほど、トークン請求は増えます。不要なファイルは閉じ、スポット的なリクエストには --no-session-persistence を使ってください。
  • 質問をまとめましょう。 「小分けにした10個の質問」よりも、「明確で詳細な1つの質問」を推奨します。トークンを節約でき、より良い回答が得られます。
  • 単純な作業には Haiku を使いましょう。 変数名の変更や関数の雛形生成などの基本的なタスクでは、--model haiku を指定します。高度な推論が必要なときだけ Opus や Sonnet を使ってください。

Claude Code と並行して API を作っている場合

Claude Code を使って API の設計やテストを行うなら、Apidog は効果的な補完ツールです。スキーマを設計し、モックサーバーを生成し、自動化されたテストを実行する—これらを 1 つのツールの中で完結させ、Postman から Swagger へ移すなどの手間をかけることなく対応できます。Claude Code がエンドポイントを生成したら、コピー&ペーストせずにそのまま Apidog でテストしてください。

無料で始められ、REST API、GraphQL、gRPC に対応しています。

押さえておくべきこと

  • 一度決めたウィンドウは固定されます。 最初のメッセージが 5 時間分のウィンドウをロックするため、日中に移動させることはできません。
  • 予算は共有されます。 claude.ai、Claude Code、Claude Desktop は同じプールを消費します。深い思考やツール呼び出しは、より早くクォータを消費します。
  • 上限は 7 日分。 この方法は日次のウィンドウを制御しますが、週次の上限は制御しません。
  • トークン:ぴったり時刻にリセット。 8:47 のウォームアップは 8:00 にアンカーされます。目標の時刻の 15 分前に cron を組んでください。

Claude Code のセッションが意図しないタイミングで消耗してしまう場合、この解決策のセットアップには 10 分もかからず、毎日自動で動作します。リポジトリは github.com/vdsmon/claude-warmup から見つけられます。

広告