Configuration

August 26, 2026 · View on GitHub

All settings are stored through DMS. Plugin updates do not overwrite user choices.

Settings

KeyValuesDefaultPurpose
languageOverrideauto, en_US, pt_BR, zh_CN, es_ES, de_DEautoUI language. auto follows the system locale.
providerSelectioncomma-separated IDscodex,claude,copilotEnabled providers; at least one is retained.
refreshInterval60000, 120000, 300000, 900000, 1800000120000Refresh interval in milliseconds.
showErrorProviderstrue / falsetrueKeep failed provider cards visible.
densityModecomfortable, compactcomfortableCompact cards hide the preview bar; expanded details remain available.
pillModeauto, custom, topautoDankBar pill providers: measurable providers, an explicit compact subset, or the most-used provider.
pillProviderscomma-separated IDsprovider selectionStrict provider subset used by custom pill mode. The settings UI exposes this as provider chips and never falls back to every tracked provider.
barWindowOverridesprovider:slot,...emptyPer-provider DankBar usage window, for example claude:secondary. Slot is primary (default), secondary, tertiary, or highest (most-constrained). Dashboard cards and history keep the primary window. Notifications follow this choice by default (notifyWindowScope = displayed). Providers whose payload lacks the chosen slot fall back to the primary window.
pillTooltiptrue / falsetrueHovering the DankBar pill shows the provider, the quota window the percentage came from, and the reset. With one provider in the pill it also appends resets in ....
pinnedProviderscomma-separated IDsemptyPinned cards sort before other cards.
providerLogoColorQML color stringcurrent DMS primary colorMonochrome tint used for provider logos and notification icons.
quotaNotificationstrue / falsetrueEnables quota threshold notifications.
notifyThreshold75, 85, or 9585Global notification threshold. Per-provider notifyThresholds overrides accept any value from 1–100.
notifyThresholdsprovider:percent,...emptyPer-provider threshold overrides, for example codex:75,claude:90. Settings validates the CSV inline: malformed pairs, unknown or duplicated providers, providers that are not tracked, and percentages outside 1–100 are reported as you type.
notifyWindowScopedisplayed, all, primarydisplayedWhich quota windows raise alerts. displayed follows barWindowOverrides — identical to primary until an override is set. all also alerts on Claude's 7 day, Codex's weekly, and every other secondary window. primary restores the pre-1.12 primary-only behaviour. Each window keeps its own dedupe key, so one provider can alert on both of its windows without either replacing the other.
notifyCooldownMinutes0, 60, 360, or 14400Minutes between repeat alerts; 0 means once per quota window.
historyRetention500, 2000, or 100002000Maximum history snapshots kept locally.
showClaudeProjectstrue / falsetrueShows Claude local project analytics.
showAntigravityModelDetailstrue / falsefalseIn expanded Antigravity cards, replaces concise Gemini / Claude & OpenAI family rows with individual model rows.

Exporting usage history

The local store (${XDG_CACHE_HOME:-~/.cache}/AiOverviewControl/usage-history.jsonl) is trimmed to historyRetention snapshots, so long-term data needs a copy. Settings offers Export usage history with two formats, and the same script is runnable directly:

./providers/export-usage-history csv     # spreadsheet-friendly
./providers/export-usage-history jsonl   # raw store
./providers/export-usage-history csv ~/some/directory

It prints the absolute path of the file it wrote on stdout and writes it 0600. The destination defaults to the XDG download directory, then ~/Downloads, then $HOME.

Resetting

Reset plugin settings in Settings restores every key in this table to its default, including tracked providers, pins, notification thresholds, and DankBar overrides. It is a two-step confirmation and never touches the recorded usage history.

Antigravity display

The default presentation mirrors Antigravity's Models screen: Gemini Models and Claude & OpenAI Models. Each family shows the most constrained model's usage and reset, which is the safe value to act on when models share a quota pool. A real model that cannot yet be classified appears under Other Models; internal placeholder entries are never displayed.

One detected account stays in the normal provider-card layout. When two or more local Antigravity sessions are found, the expanded card shows one clearly labelled block per account and install. If one session fails while another succeeds, the card remains live and shows a partial-account warning with the failed stage and reason. Enable Show individual Antigravity models only when diagnosing a model-specific difference; it intentionally adds more rows.

Environment variables

Environment variables must be present in the process that starts DMS. Shell-only exports (including ~/.zshenv) may not reach a graphical session. For a systemd-managed DMS session, either run cmd login for Command Code (the plugin safely reads its CLI-owned ~/.commandcode/auth.json fallback), or import an already-exported key and restart DMS:

systemctl --user import-environment COMMAND_CODE_API_KEY
systemctl --user restart dms.service

For a durable environment-variable setup, configure your display manager or user-service environment rather than relying on an interactive shell.

Provider readiness labels

The settings health check describes whether the plugin can run an adapter in the current DMS process; it is not a claim that the provider publishes a quota API.

  • Ready means the required CLI, local session, database, or environment variable was found.
  • Missing names the credential or executable that DMS cannot see. In particular, a key exported only by an interactive shell is invisible when DMS was started by the graphical session.
  • Informational means the provider does not expose a stable public read-only quota surface. The plugin can still show a card that points to the official usage page.
  • Checking… is transient while the asynchronous readiness command runs. Provider changes made during a running check are queued and checked immediately afterward.
ProviderVariables
CopilotCOPILOT_GITHUB_TOKEN, GH_TOKEN, or GITHUB_TOKEN
GeminiGEMINI_API_KEY, GOOGLE_API_KEY, or GOOGLE_GENERATIVE_AI_API_KEY
OpenRouterOPENROUTER_API_KEY
DeepSeekDEEPSEEK_API_KEY
KimiBalance: MOONSHOT_API_KEY or KIMI_API_KEY (optional MOONSHOT_API_BASE). Kimi Code subscription quota: KIMI_CODING_API_KEY (or a sk-kimi- prefixed KIMI_API_KEY; optional KIMI_BASE_URL)
MiniMaxMINIMAX_API_KEY
Command CodeCOMMAND_CODE_API_KEY, or the apiKey saved by cmd login in ~/.commandcode/auth.json
GLM / Z.aiZAI_API_KEY, GLM_API_KEY, or ZHIPU_API_KEY; optional GLM_API_BASE
MistralMISTRAL_API_KEY
Ollamaoptional OLLAMA_HOST; requires the ollama CLI in PATH
Hermesoptional HERMES_HOME (defaults to ~/.hermes)
Claude Codeoptional CLAUDE_CONFIG_DIR (defaults to ~/.claude)
NVIDIANVIDIA_API_KEY
CloudflareCLOUDFLARE_AI_TOKEN or CLOUDFLARE_API_TOKEN; optional CLOUDFLARE_ACCOUNT_ID
Vertex AIrequires gcloud auth print-access-token to succeed at collection time; the readiness chip checks only that the gcloud CLI is in PATH. Optional GOOGLE_CLOUD_PROJECT, GCLOUD_PROJECT, or VERTEXAI_PROJECT enrich the reported identity
BytePlusBYTEPLUS_API_KEY or ARK_API_KEY
QwenDASHSCOPE_API_KEY or QWEN_API_KEY; optional DASHSCOPE_WORKSPACE_ID
TogetherTOGETHER_API_KEY
GroqGROQ_API_KEY
CohereCOHERE_API_KEY
ReplicateREPLICATE_API_TOKEN
FireworksFIREWORKS_API_KEY; optional FIREWORKS_ACCOUNT_ID enables quota data
AI21AI21_API_KEY
xAIXAI_API_KEY
KiloKILO_API_KEY

Health indicators

The settings page executes providers/get-provider-health for selected providers:

  • Green: required CLI, local database, or environment variable is present.
  • Amber: a prerequisite is missing.
  • Neutral: informational provider or no check is applicable.

Health checks do not send network requests and never print secret values.

Quota notifications require notify-send and flock in the DMS process environment. Antigravity readiness requires either secret-tool for keyring-backed sessions or sqlite3 plus a readable IDE state database.