{#if keys.length === 0}

No keys available.

{:else}
{#if claudeAccounts.length > 0 || claudeLoading || claudeError}
Claude anthropic {#if claudeLoading} {/if}
{#if claudeAccounts.length === 0 && claudeLoading}
Loading...
{:else if claudeAccounts.length === 0 && claudeError} {:else} {#if 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 tp >= 0}
{/if}
{#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 tp >= 0}
{/if}
{#if b.resetsAt} Resets: {formatDate(b.resetsAt)} {/if}
{/if}
{/each} {/if}
{/if} {#each nonClaudeEntries as entry (entry.keyId)}
{formatKeyId(entry.keyId)} {entry.provider} {#if entry.loading} {/if}
{#if entry.loading && !entry.data}
Loading...
{:else} {#if 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 tp >= 0}
{/if}
{#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 tp >= 0}
{/if}
{#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 tp >= 0}
{/if}
{#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}
{/each}
{/if}