UtterIDE reads your project, proposes code patches, explains SQL, generates diagrams and tracks cost — without applying changes before you approve.
Try the beta.
Bring your own API key.
Use DeepSeek for low-cost coding, or switch to Claude, Gemini or OpenAI when you choose.
AI proposes. You review the diff. UtterIDE applies.
Review-first · BYOK · Provider choice · No central backend
Most AI coding tools hide the real tradeoff: you either pay a fixed premium subscription, or you bring your own API key and pay for actual usage.
UtterIDE is built for developers who want a real code agent inside VS Code, but still want control over provider, cost, privacy and approval.
Use your own provider key and see the estimated cost of each run.
UtterIDE proposes patches and waits for your approval before applying changes.
It reads relevant files, database schemas and local project memory to understand your workspace.
DeepSeek by default. Claude, Gemini and OpenAI when you choose.
A chatbot answers questions.
A code agent works inside your project.
UtterIDE can read relevant files, understand project context, propose patches, show a VS Code diff, wait for approval, apply the change and summarize what happened.
Not just chat. Actual project work — with review before action.
Turn your VS Code workspace into a review-first AI development environment.
Optional: Connect PostgreSQL/PostGIS to let UtterIDE inspect schemas, explain slow SQL, generate Mermaid diagrams and help with database-aware development.
UtterIDE can inspect project files and database schemas, suggest scripts or SQL improvements, then show proposed changes as a reviewable diff.
import os
import psycopg
from time import perf_counter
DATABASE_URL = os.environ["DATABASE_URL"]
QUERY = """
SELECT *
FROM orders
WHERE customer_id = %s
ORDER BY created_at DESC
LIMIT 20;
"""
def main(customer_id: str):
with psycopg.connect(DATABASE_URL) as conn:
start = perf_counter()
with conn.cursor() as cur:
cur.execute("EXPLAIN (ANALYZE, FORMAT JSON) " + QUERY, (customer_id,))
plan = cur.fetchone()[0]
elapsed_ms = (perf_counter() - start) * 1000
print(f"Query analysis completed in {elapsed_ms:.1f} ms")
print("UtterIDE suggestion: consider an index on orders(customer_id, created_at DESC)")
if __name__ == "__main__":
main("demo-customer")
# Result:
# ✓ Schema inspected
# ✓ PII masking enabled
# ✓ Python script proposed
# ✓ QA agent reviewed patch
# ✓ VS Code diff ready for approval
# Estimated cost: 0.04 kr
UtterIDE is provider-flexible. Use DeepSeek for low-cost everyday coding. Switch to Claude, Gemini or OpenAI when the task benefits from another model.
Low-cost everyday coding
Best for:
- fast code patches
- agent runs
- refactors
- cost-sensitive workflows
Architecture and careful review
Best for:
- architecture decisions
- UI/UX reasoning
- careful critique
- complex tradeoffs
Large context and long files
Best for:
- long files
- broad project reading
- large documentation
- repository-wide understanding
Versatile reasoning
Best for:
- general coding help
- explanations
- mixed tasks
- fallback workflows
UtterIDE is currently free to use during beta. You bring your own API key and pay your chosen AI provider directly. DeepSeek is recommended for low-cost everyday coding workflows, while Claude, Gemini and OpenAI are available when you prefer another model. Future versions may introduce paid plans, premium features or commercial licensing.
You pay your selected provider directly.
UtterIDE shows live runtime signals so you understand what the agent is doing and what it costs. Track provider, model, cost, CPU, RAM, GPU and run status without leaving VS Code.
From code patches to SQL analysis, UtterIDE works where your project actually lives.
Reads files, understands context, proposes diffs and waits for approval before applying changes.
Explains schemas, analyzes slow queries, suggests indexes and masks sensitive data before cloud calls.
Creates helper scripts, refactors code and helps run checks without hiding what changed.
Generates architecture diagrams, database diagrams and flowcharts directly in the chat.
One agent builds. Another reviews. You approve the final patch.
See what was read, changed, approved, rejected, touched and what it cost.
UtterIDE can run a second AI reviewer before you see the final patch. One agent proposes the change. Another agent reviews it for bugs, edge cases and architecture issues. You still approve the final diff.
UtterIDE is review-first. It proposes code changes as patches, shows a diff and waits for your approval before applying changes. The Run Ledger shows what was read, changed, approved, rejected, touched and what it cost.
UtterIDE stores project memory, run logs and settings locally in your workspace. When you use a cloud AI provider, selected context is sent directly from your machine to the provider you configure. Sensitive data masking is designed to reduce risk before cloud calls, but users should still review what is sent.