DGC v0.47.2 is out
Navigate
Install DGC
A coding agent for the models you run

Own your coding agent.

A native agentic loop for local and API models, plus delegated turns through supported coding subscriptions. In your terminal and your editor.

$curl -fsSL https://vibedgc.com/install.sh | bash
Python 3.10+ · no root · local, API, and subscription routes
94.4%Aider polyglot · pass@2
0agent-round timeouts · DGC
121.7 saverage measured round
Ollamallama.cppvLLMLM StudioOpenAIAnthropicOpenRouterGroqDeepSeekClaude CodeCodexQwen CodeKimiGitHub Copilot
01 The CLI

A real agentic loop, in your terminal.

Reads, edits, runs the tests and self-corrects. Permission modes, plans, skills, hooks and a multi-agent fleet in one focused TUI.

FIG.1 · Agentic loopread → edit → run → verify · until the tests passmeasured slice
fail → patch → rerun READread_file · grep EDITwrite · patch RUNgo test ./... VERIFYreal exit code ROUND 21 recovery round · suite passed
saved run · Go · alphametics
  1. 01readalphametics.go · tests2 files
  2. 02editcolumn backtracking solverfirst round
  3. 03runillustrative in-session testfirst round
  4. 04verifysuite still failingself-correct
  5. 05readresume · inspect rollbackline 137
  6. 06editpreserve winning assignmentfocused fix
  7. 07verifyisolated graderpassed · 0.4 s

Reconstructed from the retained DGC result for go/alphametics. The linked evidence bundle preserves scored rounds, grader and agent timings, usage totals, result hashes, and the input hash; the in-session UI steps, diff prose, and their pacing are illustrative because raw harness output is intentionally omitted.

dgc · scripted interface sequence

A small fix. A complete loop.

❯ Fix the clamp bounds and run the tests.
I’ll inspect the implementation and its tests first.
→ read_file clamp.py · test_clamp.py
✎ edit_file clamp.py
− return min(lower, max(upper, value))
+ return max(lower, min(upper, value))
$ bash python3 -m unittest -v
✓ 3 tests passed
Fixed the bounds. Values inside and outside the range now pass.
Edit & test
Scripted UI illustrations · native local/API workflows.
02 The extension

The same harness, native to your editor.

On native local/API routes: structured tools, readable diffs, goal-aware turns, permission decisions, and plan feedback. Subscription routes retain DGC's local goal record and presentation while the vendor owns its turn.

FIG.3 · Editor surfaceActual extension · 0:31 · real timeVS Code · Cursor

Actual extension surface · deterministic protocol fixture · real disposable-file edit and unittest run · not a live model session · real time, no speed adjustment.

DGC · actual extension surface · 0:31

Actual extension surface · deterministic protocol fixture · real disposable-file edit and unittest run · not a live model session · real time, no speed adjustment.

Structured tools

Native-loop intent, target and result stay scannable.

Reviewable diffs

Additions and removals remain first-class.

Goal controls

Local record, timer, progress, pause and cancel at hand.

Native plan review

Approve, revise, or keep researching on local/API routes.

02b Specialists

Named agents, with a face.

Explorer, researcher and critic are first-class task specialists. In the editor they land as coloured chips — the mark swirls while they work, stills when they finish. Click a chip for that agent’s own page: duration, answer, files. Child greps stay off the parent thread. A background task can outlive the turn; the composer stays free and DGC wakes a new turn when it lands.

map auth working
review findings finished
options research working
DGC · editor
Map auth and have a critic review the findings.
map auth working
review findings finished

Identity marks · live while working · click opens the agent page

Named types

Explorer maps. Researcher writes one findings file. Critic reviews it. Worker implements.

Living chips

Eight identity marks. Same face for the same id. Animate only while the agent is working.

Inner page

Back, duration, the child’s tools and a FILES card. Composer stays on the parent.

Background wake

A detached specialist keeps going after the turn ends. The pill stays; DGC starts a new turn when it lands.

03 Native plan artifacts

Review the plan as a real page.

On local/API routes during the current process, a DGC plan can open as a clean page on a private loopback port—not raw Markdown racing past your terminal. The plan text saves with the session, so you can reopen it in DGC after a restart.

NATIVE ROUTES · PRIVATE LOOPBACK PREVIEW · PLAN TEXT SAVED WITH THE SESSION

127.0.0.1:45000/plan/refactor-auth
/// PROPOSED PLAN

Refactor auth into its own package

Move token and verification helpers into one package and update the callers, without changing behavior.

  1. Create the package and move the helpers.2 files
  2. Re-export the public surface.1 file
  3. Update callers and run the suite.7 imports
Approve in terminal← → views · plan text saved
04 Providers

Point it at anything that serves a model.

Local inference, direct APIs, or a subscription you already pay for. One harness and one /connect surface.

Local · on device

Your machine, your weights

Native chat or an OpenAI-compatible local server.

  • Ollamanative chat
  • llama.cppOpenAI /v1
  • vLLMOpenAI /v1
  • LM Studiolocal server
API · direct

Your chosen endpoint

DGC sends model-conversation context to the endpoint you configure. Optional integrations receive directed requests; language servers also receive queried document text.

  • OpenAInative
  • Anthropicnative
  • OpenRoutermulti-model
  • Groq · DeepSeekcompatible
Subscription · official CLI

Use the plan you have

The vendor’s binary keeps ownership of login and terms.

  • Claude CodePro / Max
  • CodexChatGPT
  • Qwen · Kimicoding plans
  • GitHub CopilotGitHub
05 Plugins, apps and MCP

And point it at anything that serves a tool.

A model on your own machine is not a model with fewer tools. Install a plugin or connect a server and its tools join the same list as the built-ins — one route, one permission prompt, one set of hooks and redaction. The model is told what a connector brokers, so it stops calling a service unreachable that it can already read.

FIG.8 · A local model, running your appsScripted interface sequenceYour model. Your apps.
dgc · scripted interface sequence
MODELqwen3.8:27bhttp://localhost:11434 · on this machine

I’ll pull the open issues, then write the notes.

Step 1 of 4 · A model on your own machine
Scripted interface demo · the model never leaves this machine; the tool calls do.
Plugins

Install one, on the record

Every entry names its licence and, separately, what DGC actually verified — often less than “it works”.

Settings ▸ Pluginsdgc plugin install
Apps

Accounts you already have

GitHub, Notion, Linear, Sentry, Supabase, Stripe. Installed is not connected, and the model is told which.

browser sign-innamed token
Connectors

Many services, one server

Composio, Zapier, Arcade, Make, or n8n on your own instance. Several run the request in their own cloud — DGC says so before you connect.

mcp_searchrevoke upstream
MCP

The wire underneath

Stdio or remote, the 2026 protocol or the legacy handshake. Bounded frames, consent before any URL opens.

/mcpmcp__server__tool
06 Bring your own subscription

Already pay for a coding model? Run it here.

Pick the vendor in /connect. DGC passes each turn to its official CLI using that vendor account route—without configuring a separate DGC API key. Vendor plan, usage, and fee terms still apply.

Claude · ChatGPT

Your existing plan

Pro, Max, ChatGPT, and other supported first-party subscriptions.

Qwen · Kimi · Copilot

Official route

Each vendor binary owns authentication, account policy, and its model/tool turn.

DGC delegation

One place to start

DGC maps the mode, retains session history, runs SessionStart/Stop hooks, and presents the vendor’s result.

DGCpasses prompt + mapped mode
→
Official CLIowns sign-in, model + tools
→
DGCrecords and presents the result
07 Benchmark

Measured on a model you run yourself.

A measured slice of 90 tasks across six languages. Every manifest records the same model alias, caller-declared digest, endpoint URL, hardware, and 600-second allowance per round; model weights were not independently verified.

FIG.4 · Harness evaluationpass@2 · 90 problems · 600 s/roundmeasured slice
0agent-round timeouts · DGC only
121.7 saverage round · fastest measured
-24.6%output tokens vs goose
85 / 90solved · rank 2, tied with pi
Accessible table view
HarnessSolvedpass@2Evidence note
goose86 / 9095.6%direct result rows
DGC85 / 9094.4%0 timeouts · 121.7 s/round · 293,675 output tokens
pi85 / 9094.4%direct result rows
OpenCode80 / 9088.9%direct result rows
Codex CLI79 / 9087.8%direct result rows

Every manifest records qwen3.8:27b-orig, the same caller-declared digest, endpoint URL, and hardware. The runner verified context size; model weights were not independently verified. The saved manifest reports DGC 0.24.0; its runner commit was not recorded, so this is labelled a measured slice rather than a release-gating league.

Method, caveats, raw-source checksums and reproducible commands live on the full benchmark page →

From the founder
DGC’s bet is that the harness matters more than the model. We parse tool calls straight from the model’s text, so a local model with no function-calling API still runs the full read → edit → run → verify loop. The capability lives in the harness—not the weights.
Mohit KalraFounder · Vibe DGC
08 Power tools

Built for real, long, autonomous work.

Optional modes for data-heavy tasks, verified unattended native-model runs, and turning your own sessions into scrubbed training data.

Persistent state

A Python workspace across turns

Load a dataset once, then operate on variables without repeating it into context.

Command: /code-action on
Native autonomous gate

Run until the check passes

On local/API routes, failures return to the next turn and completion waits for a real exit code. Delegated vendor turns bypass this gate.

Command: dgc --autonomous-gate "npm run check"
Trace → training

Your usage becomes your data

Export heuristic-filtered sessions as bounded, credential-scrubbed JSONL; review them before training.

Command: dgc export-training --successful-only
Checkpoints

Every turn is a point of return

Each turn DGC runs opens a recovery point—the exact conversation and the pre-edit bytes of every file the edit tools touch, saved before the tool runs. Rewind restores both, survives resume and compaction, and refuses a file-tool edit it cannot snapshot.

Command: /rewind
09 Focus pane

Keep working while it works.

A second surface under the transcript. Open the file explorer, browse and pick files for the next prompt, watch the model’s edits land—the agent never stops streaming above it. And a measured estimate of when the turn will finish, so you can walk away.

FIG.6 · Focus paneScripted interface sequenceTwo surfaces. One workflow.
dgc · scripted interface sequence
AGENT TRANSCRIPT

I’ll read the implementation and tests, then fix the bounds.

→ read_file clamp.py · test_clamp.py
FILESAgent working above · browse below
PROJECTclamp-demo/Current workspace
FILES
README.md · preview
# Clamp example

Keep a value within a range.

Run the tests:
python3 -m unittest -v
↑↓ browseEnter · add @pathq · return to prompt
❯Ask DGC anything…
Step 1 of 4 · Browse while it works
Scripted interface demo · explore the file names, or step through the sequence.

/files · a file explorer in the loop

Three columns, previews, copy/cut/paste, rename, trash with undo. Enter drops @path into your prompt; files the model changed this turn carry a mark.

Turn ETA · know when to come back

A range, not a promise: ~2–4 min left with the task count beside it, from this project’s own history and the turn’s task list. /eta stats reports how often it held.

/notify · walk away

A terminal notification, an editor toast, or your Stop hook when the turn ends. Your choice.

Native routes, real safety

Writes follow the permission mode and stay inside the project; nothing enters the model’s context unless you insert it. No shell, ever.

10 Live diff

See every change as it lands.

/diff opens a live view of everything the model has changed—every file with its added and removed line counts, and the diff itself—under the transcript while the turn keeps running. Select the lines you want to talk about and press Enter: they land in your next prompt as a quoted diff, so “why did you change these two lines?” quotes exactly those two lines.

FIG.7 · Live diffScripted interface sequenceRead. Select. Ask.
dgc · scripted interface sequence
AGENT TRANSCRIPT

I’ll inspect the bounds and make the smallest fix.

→ read_file clamp.py
DIFFWorking tree against HEAD · no changes yet
CHANGED FILES

No changes yet

clamp.py · working tree vs HEAD

Changes appear here as the agent edits.

Read-only view · your working tree stays unchanged
❯Ask DGC about a change…
Step 1 of 4 · Watch changes arrive
Scripted interface demo · click the changed lines to select them.

/diff · what changed, live

Git’s own answer, read-only: the working tree against HEAD, staged and untracked files, +12 −3 per file, the whole set summed in the header. Re-read every two seconds while it is open, so edits appear as they land.

Select lines → your prompt

Space starts a selection, Enter attaches it as a fenced diff block with the file and line range; a takes the whole hunk. Nothing else about the file enters the model’s context.

Side by side, or one at a time

Wide terminals show the file list and the diff together; narrow ones swap between them with Tab. J / K step through files without leaving the diff.

Looking, not committing

It never writes, stages or runs a shell command. Approving or undoing a turn stays with /review and the editor’s Changes view; /diff is for looking and asking while the work is still moving.

11 What’s inside

A complete harness, not a wrapper.

On native local and API routes, the model proposes while DGC orchestrates boundaries, execution, persistence, verification, and the evidence you review. Subscription routes delegate the model-and-tool turn to the vendor CLI.

FIG.5 · Native local/API pipelinethe model proposes · DGC orchestrates the loopstep 01 · prompt
FIG.2 · Permission matrixShift + Tab cycles · /mode setsactual contract
ModeRead filesEdit filesShellUse it for
planread-only · proposes a plan●——Understand a codebase and review the proposal before model-requested edits or shell commands.
defaultasks before writes and shell●??Everyday work on a repository you care about.
acceptEditsedits apply · shell still asks●●?Long edit sessions where the diff is the review.
automodel tool actions auto-approved●●●Unattended work in a sandbox or throwaway repo; some integration prompts remain user-gated.
● runs without asking? asks first— unavailablestanding rules: /permissions allow · ask · deny
Control

Gate the loop

Permission modes, plan review and thinking control.

permissionsplanthinking
Execution

Bound the work

Sandbox, MCP, artifacts and lifecycle hooks.

sandboxMCPhooks
Memory

Keep useful state

Standing goals, sessions, rewind and project memory.

/goalsessionsrewind
Scale

Run in parallel

Fleet sessions, isolated sub-agents and reusable skills.

fleettaskskills
DGC · real local-model capture · 0:47

Actual current DGC 0.47.2 full-screen TUI · real local Ollama run · qwen2.5:14b · disposable controlled fixture · one-line code edit · python3 -m unittest -v passed 3/3 · real time, no speed adjustment · no user config or session persisted.