Dime
The token-frugal AI coding agent for VS Code. Bring your own OpenAI, Claude, or Gemini API keys — Dime makes every token count and shows you the receipt.

Dime is built for developers who prefer pay-as-you-go API billing and want to see where the money went. Before a request leaves VS Code, a local preflight shows the selected payload, route, safety mode, and remaining daily budget. Afterward, the Trust Receipt combines the dated cost estimate with the task's local impact.
✔ Dime Trust Receipt
models Claude Sonnet 5 (3 steps)
tokens 18.2K in (14.1K cached) · 2.4K out
cost ~$0.035 vs. same usage on provider flagship: ~$0.116 less (77%)
today ~$0.410 of $1.00 local daily ceiling
pricing estimate as of 2026-08-29; provider billing is authoritative
impact 2 files changed · 5 files inspected
tools 1 search · 1 approved command
safety diff approval · rollback ready · cross-provider failover off
Where Dime is different
| Capability |
Dime |
Subscription coding assistant |
Basic BYOK chat panel |
| Use your own OpenAI, Claude, or Gemini key |
Yes |
Usually no |
Often one provider |
| See payload, route, edit mode, and budget before sending |
Yes |
Rarely |
Rarely |
| Cost and local-impact receipt after every task |
Yes |
Rarely |
Usually cost only |
| Review every diff and roll back a whole task |
Yes |
Varies |
Rarely |
| Multi-model debate with read-only workspace access |
Yes |
Rarely |
No |
| Zero Dime telemetry or hosted relay |
Yes |
Varies |
Varies |
Dime is deliberately strongest for auditable, cost-controlled agent work. If your main need is inline autocomplete with no API setup, a subscription assistant may still be a better fit.
Why Dime costs less
- Surgical context — long files are sent as structure outlines (symbols + line ranges, ~hundreds of tokens) instead of full contents (often tens of thousands). The agent reads only the exact line ranges it needs.
- Smart model routing — searches, tests, and simple jobs go to economy models (fractions of a cent); flagship models are reserved for architecture and hard debugging. Pin any model manually whenever you want.
- Prompt caching — conversation history is cache-structured so providers re-read it at up to ~90% discount instead of full price.
- Targeted edits by default — the agent prefers small exact search/replace changes and uses full-file writes only when creating or deliberately replacing a small file.
- Conservative budget guard — before every call, Dime reserves an intentionally cautious input estimate plus the maximum affordable output. A per-task step cap also stops runaway loops. Provider-side billing caps remain the absolute protection.
Features
- Three providers, your keys — OpenAI, Anthropic (Claude), and Google (Gemini). Keys are stored in your operating system's secure keychain, never in files or logs.
- Local request preflight — see the approximate selected payload, exact or automatic route, edit safety mode, and remaining local daily budget while you type. The preview is calculated locally and makes no model call.
- Dime Trust Receipt — every completed task joins provider-reported token cost with privacy-preserving local impact: files inspected and changed, searches, approved commands, edit mode, rollback readiness, and failover state.
- AI Council — start a new Council chat, choose 2–5 configured models across OpenAI, Claude, and Gemini, watch their reviews and debate live, then receive the chair's final report in the same chat. Council mode is strictly read-only.
- Privacy-controlled provider failover — optionally allow Dime to switch providers after quota or service failures. It is disabled by default because switching sends the current conversation and context to another provider.
- Two editing modes — Approval (default): every file change is shown as a diff you accept or reject. Auto: edits apply immediately after a one-time warning. Checkpoints persist across restarts, and rollback refuses to overwrite files changed after the agent task.
- Skills — Coding, QA/Tests, Security review, and Docs built in. Create your own from the chat dropdown (
+ New skill…), or drop folder-based skills in ~/.claude/skills/, ~/.dime/skills/, or <project>/.dime/skills/ — any SKILL.md with YAML frontmatter is picked up automatically, including skills you already wrote for Claude Code.
- Clarifying questions — a vague request gets one short question with clickable options before any tokens are burned on the wrong interpretation.
- Attachments — attach text files (specs, requirements, logs) or images, or just paste a screenshot with Ctrl+V — with a token-cost preview before you send.
- Optional persistent chat history per project, saved as user-readable JSON at
~/.dime/history/. Disable dime.storeHistory to keep history in memory for the current session only.
- Guarded verification commands — Dime can request recognized build, test, lint, formatting, and read-only Git commands. Shell chaining, redirection, interpreters, publishing, destructive commands, and outside-workspace paths are rejected; every allowed command still requires approval.
- Workspace boundaries — lexical traversal and symlink/junction redirection are rejected. Dirty editor buffers must be resolved before an agent edit, and protected files are omitted from discovery.
Getting started
- Install Dime and click its icon in the activity bar.
- Click Set API Key… and paste a key for at least one provider (all three work together, but one is enough):
- Open a project folder and ask for something: "explain what this project does", "add input validation to the upload handler", "write tests for utils.py".
AI Council
Click New Chat, choose AI Council, select 2–5 models, and choose which selected model chairs the final report. To protect API credits, every run stops after three visible phases:
- Independent research and code review (read-only workspace tools)
- One peer debate and critique round
- One chair-written final report
Council members cannot edit or create files and cannot run terminal commands. Their individual reviews, debate responses, final report, and combined cost receipt stay in that Council chat.
Tip: also set a monthly spend cap in each provider's own billing console. Dime's daily budget is the first line of defense; the provider-side cap is the absolute stop.
Settings
| Setting |
Default |
What it does |
dime.mode |
approval |
approval reviews every change as a diff; auto applies immediately (checkpointed) |
dime.dailyBudgetUsd |
1.0 |
Conservative local daily ceiling; input and output are reserved before each call |
dime.maxStepsPerTask |
12 |
Maximum model calls per task |
dime.allowCrossProviderFailover |
false |
Permit context transfer to another configured provider after quota/service failure |
dime.storeHistory |
true |
Persist project chats under ~/.dime/history/; disable for session-only memory |
dime.protectedGlobs |
.env, keys… |
Files the agent may never read, send, or edit |
dime.customSkills |
[] |
Your own skills (easier: use + New skill… in the dropdown) |
Privacy & security
- 100% client-side: no Dime server, no account, no telemetry of any kind.
- Code goes to the selected AI provider over its official SDK. It goes to another configured provider only when you explicitly enable cross-provider failover.
- API keys live in the OS keychain (VS Code SecretStorage).
- Protected files (
.env, package credentials, cloud credentials, private keys, certificates) are omitted from discovery and cannot be read or edited. Common provider keys, PATs, JWTs, bearer tokens, passwords, and private-key blocks are redacted from model-bound text.
- Dime is disabled by VS Code in untrusted and virtual workspaces. Verification commands run unsandboxed with your OS permissions after an explicit warning and approval; use a dev container for high-risk projects.
- Chat history and rollback checkpoints are local files containing conversation or source text. Disable persistent history if that does not fit your security policy.
- Project rules: add an
AGENTS.md file to your repo and the agent follows it.
Read the full privacy disclosure and security policy and threat model before using Dime with sensitive or untrusted code. For bugs and feature requests, see support.
Cost estimate limitations
Dime calculates receipts from provider-reported token usage and a versioned local price table. Failed or aborted requests may still be billable even when the provider returns no final usage record, and provider pricing can change after an extension release. Treat the receipt and daily ceiling as conservative local controls, not as a replacement for the billing limits in OpenAI, Anthropic, or Google consoles.
Roadmap
- PDF attachments (images already supported)
- MCP (Model Context Protocol) tool support
- Remotely updated model registry — new models and prices without an extension update
- Local models (Ollama-compatible endpoints)
- Deeper language-aware context slicing for additional ecosystems
License
MIT — see LICENSE.
| |