Claude
anthropic
{#if claudeLoading}
{/if}
{#if claudeAccounts.length === 0 && claudeLoading}
Loading...
{:else if claudeAccounts.length === 0 && claudeError}
{claudeError}
{:else}
{#if claudeError}
{claudeError}
{/if}
{#each claudeAccounts as acct, idx (acct.source)}
{#if idx > 0}
{/if}
{acct.label}
{#if acct.subscriptionType}
{acct.subscriptionType}
{/if}
{#if acct.error}
{acct.error}
{/if}
{#if hasBucketData(acct.fiveHour)}
{@const b = acct.fiveHour!}
{@const u = b.utilization ?? 0}
{@const p = Math.round(u * 100)}
{@const tp = cycleElapsedPct(b.resetsAt, FIVE_HOUR_MS)}
5-Hour
{p}%
{#if b.resetsAt}
Resets: {formatDate(b.resetsAt)}
{/if}
{/if}
{#if hasBucketData(acct.sevenDay)}
{@const b = acct.sevenDay!}
{@const u = b.utilization ?? 0}
{@const p = Math.round(u * 100)}
{@const tp = cycleElapsedPct(b.resetsAt, SEVEN_DAY_MS)}
Weekly
{p}%
{#if b.resetsAt}
Resets: {formatDate(b.resetsAt)}
{/if}
{/if}
{/each}
{/if}
{formatKeyId(entry.keyId)}
{entry.provider}
{#if entry.loading}
{/if}
{#if entry.loading && !entry.data}
Loading...
{:else}
{#if entry.error}
{entry.error}
{/if}
{#if !entry.data}
No data.
{:else if entry.data.provider === "opencode-go"}
{#if entry.data.unavailable}
Usage data not available. Set OPENCODE_COOKIE env var to enable.
{#if entry.data.limits}
Limits: {entry.data.limits.fiveHour}/5h · {entry.data.limits.weekly}/wk · {entry.data.limits.monthly}/mo
{/if}
{#if entry.data.consoleUrl}
View usage on opencode.ai
{/if}
{:else}
{#if hasBucketData(entry.data.fiveHour)}
{@const b = entry.data.fiveHour!}
{@const u = b.utilization ?? 0}
{@const p = Math.round(u * 100)}
{@const tp = cycleElapsedPct(b.resetsAt, FIVE_HOUR_MS)}
5-Hour
{p}%
{#if b.resetsAt}
Resets: {formatDate(b.resetsAt)}
{/if}
{/if}
{#if hasBucketData(entry.data.weekly)}
{@const b = entry.data.weekly!}
{@const u = b.utilization ?? 0}
{@const p = Math.round(u * 100)}
{@const tp = cycleElapsedPct(b.resetsAt, SEVEN_DAY_MS)}
Weekly
{p}%
{#if b.resetsAt}
Resets: {formatDate(b.resetsAt)}
{/if}
{/if}
{#if hasBucketData(entry.data.monthly)}
{@const b = entry.data.monthly!}
{@const u = b.utilization ?? 0}
{@const p = Math.round(u * 100)}
{@const tp = cycleElapsedPct(b.resetsAt, THIRTY_DAY_MS)}
Monthly
{p}%
{#if b.resetsAt}
Resets: {formatDate(b.resetsAt)}
{/if}
{/if}
{/if}
{:else if entry.data.provider === "github-copilot"}
{@const p = Math.round(entry.data.percentUsed ?? 0)}
{#if entry.data.tokensConsumed !== undefined && entry.data.tokensRemaining !== undefined}
{entry.data.tokensConsumed.toLocaleString()} / {(entry.data.tokensConsumed + entry.data.tokensRemaining).toLocaleString()} tokens
{:else if entry.data.plan}
{entry.data.plan}
{:else}
Usage
{/if}
{p}%
{#if entry.data.resetAt}
Resets: {formatDate(entry.data.resetAt)}
{/if}
{:else if entry.data.provider === "google"}
{#if entry.data.currentUsage}
{@const u = entry.data.currentUsage}
Current
{u.percentUsed}%
{#if u.resetsAt}
Resets: {u.resetsAt}
{/if}
{/if}
{#if entry.data.weeklyUsage}
{@const w = entry.data.weeklyUsage}
Weekly
{w.percentUsed}%
{#if w.resetsAt}
Resets: {w.resetsAt}
{/if}
{/if}
{#if !entry.data.currentUsage && entry.data.models && entry.data.models.length > 0}
{@const m = entry.data.models[0]}
Models
{entry.data.models.length} available
{#if m && m.rpm > 0}
RPM
{m.rpm}
{/if}
{#if m && m.requestsPerDay > 0}
RPD
{m.requestsPerDay.toLocaleString()}
{/if}
{#if !entry.data.currentUsage}
Set GEMINI_COOKIE (__Secure-1PSID) for usage %
{/if}
{/if}
{/if}
{/if}