OPEN-SOURCE CODING AGENT

Dirac is an efficiency-focused open-source coding agent built for complex, real-world codebases.

Available for VS Code, Open VSX, CLI, and ACP.
Install for VS Code
Goal mode01A

Goal mode / 01

Goal mode

Give Dirac a /goal and walk away, it will continue working on it for hours or days without drift. The goal can run autonomously and pause only when it needs your input.

DIRAC / Goal mode01B
Dirac Goal mode summary with an achieved goal, completed work, and timing and token accounting
Dirac can extend itself02A

Dirac can extend itself / 02

Dirac can extend itself

Build new tools tailored to your workflow on the fly. Use /new-tool with tool description you want, Dirac will build the tool and make it available right away, within the same conversation.

DIRAC / Dirac can extend itself02B
A new-tool request followed by the completed tool and its immediate use in the same Dirac conversation
Low-verbosity response setting03A

Low-verbosity response setting / 03

Low-verbosity response setting

Models speak less.

DIRAC / Low-verbosity response setting03B
A concise Dirac task-completion response with changes and verification results
Steer it as it works04A

Steer it as it works / 04

Steer it as it works

Something occurred to you after the task started? Send Dirac a message anytime, it will pass on the message to the model with the next tool response without disturbing the task.

DIRAC / Steer it as it works04B
A user correction queued while Dirac continues reading files and working on the active task
Utility model05A

Utility model / 05

Utility model

Use a separate cheaper utility model to take expensive tasks such as context compactions or new task creations off of the main model's plate.

DIRAC / Utility model05B
Utility model settings for conversation condensation, task handoffs, commit messages, and permission requests
No more approval fatigue06A

No more approval fatigue / 06

No more approval fatigue

The utility model can be configured to act as a first pass for all permission requests that would otherwise come to you. It will follow the exact permission policy you give it, and approve the request when safe, escalate to you when unsafe. Auto-approvals will leave an entry in transcript along with approval reason.

DIRAC / No more approval fatigue06B
Utility model permission settings with a written policy for safe approval and escalation
Anchored file editing07A

Anchored file editing / 07

Anchored file editing

Dirac uses a custom hash-anchoring protocol that makes code editing extremely efficient. Instead of using search-replace, it uses stable line anchors so model can say 'replace the text between anchor X and anchor Y with this new text'.

DIRAC / Anchored file editing07B
src/services/UserService.tsexternal save

Cider§async load(userId: string) {

Quartz§ const user = await this.store.get(userId)

Harbor§ return this.hydrate(user)

Harbor anchor invalidated after external saveFresh anchored read requested
AST code inspection08A

AST code inspection / 08

AST code inspection

Dirac leverages the underlying syntax trees to perform precise code inspection. For example, model can use inspect_ast('outline', 'utils/db.py') to get all classes and methods defined in a list of files, inspect_ast('implementation', 'utils/db.py', 'DBManager::init_db()') to extract a single method.

DIRAC / AST code inspection08B
Dirac AST inspection results listing extracted functions and inspected source files
AST code manipulation09A

AST code manipulation / 09

AST code manipulation

Dirac can replace a function like edit_ast('replace, 'utils/db.py', 'replacement', '{code}') or rename 100s of symbol like edit_ast('rename', 'src/', 'old_name', 'new_name') in one call.

DIRAC / AST code manipulation09B
A structural AST replacement applied to many indexed symbols
Parallel code edits10A

Parallel code edits / 10

Parallel code edits

Dirac tooling protocol enables and encourages models to perform multiple file edits together.

DIRAC / Parallel code edits10B
Many file edits applied together during one Dirac tool turn
Concurrent subagents11A

Concurrent subagents / 11

Concurrent subagents

Subagents are a first class citizens that can do (almost) everything the main task can do. Dirac's infra detects any file staleness at edit time. The subagents can have their own tools, prompts, timeouts and can inherit the context from parent.

DIRAC / Concurrent subagents11B
Eight named Dirac subagents running validation work concurrently
Ask Dirac questions about itself12A

Ask Dirac questions about itself / 12

Ask Dirac questions about itself

Every Dirac build ships with source, so you can simply use '/askDirac' to ask questions about the version of Dirac you are using.

DIRAC / Ask Dirac questions about itself12B
A slash askDirac question about the edit_file tool followed by Dirac's answer
Opportunistic first request enrichment13A

Opportunistic first request enrichment / 13

Opportunistic first request enrichment

Dirac detects filenames, symbols, function names, directory paths etc from the first prompt you send, and before it reaches the agent, Dirac enriches the model's context to save on tool calls.

Multi-file change review13B

Multi-file change review / 13

Multi-file change review

Instead of reviewing multiple separate changes (when auto-approve is disabled), Dirac renders all changes in a single diff view.

Get started14A

Get started / 14

Ready to try?

Install Dirac, connect your preferred model provider, and give it a real task.

  1. 01

    Install your interface. Use Dirac in VS Code or from the terminal.

  2. 02

    Connect a model. Choose a provider, add its API key, and select a model.

  3. 03

    Start with the outcome. Describe the change you want, or begin with /goal for autonomous work.

DIRAC / SETUP14B

Choose how you work

Install Dirac

The extension and CLI share the same agent core. Pick the interface that fits your workflow.

EditorInstall for VS Code

Both guides cover provider credentials, model selection, and your first task.

0114

Published evidence / complete comparison

Results are only useful with the underlying data and method.

Terminal-Bench-2
65.2%#1 published result using Gemini 3 Flash Preview
Public-repository refactoring suite
8/8tasks completed correctly by Dirac
Average API cost per task
$0.18versus a $0.53 six-agent comparison average

Public-repository refactoring suite

Eight tasks. Seven agents. Every recorded outcome and cost.

Scroll horizontally to inspect every agent →

Results across eight refactoring tasks. Each agent cell shows the reviewed outcome and measured API cost.
Task (repository) Files Cline Kilo Ohmypi Opencode Pimono Roo Dirac
DynamicCache transformers 8 Correct$0.37 No resultN/A Incorrect$0.24 Correct$0.20 Correct$0.34 Correct$0.49 Correct$0.13
IOverlayWidget vscode 21 Correct$0.67 Incorrect$0.78 Correct$0.63 Correct$0.40 Correct$0.48 Incorrect$0.58 Correct$0.23
addLogging vscode 12 Incorrect$0.42 Correct$0.70 Correct$0.64 Correct$0.32 Correct$0.25 Incorrect$0.45 Correct$0.16
datadict django 14 Correct$0.36 Correct$0.42 Incorrect$0.32 Correct$0.24 Incorrect$0.24 Correct$0.17 Correct$0.08
extensionswb_service vscode 3 No resultN/A Correct$0.71 Correct$0.43 Correct$0.53 Correct$0.50 Correct$0.36 Correct$0.17
latency transformers 25 Correct$0.87 Incorrect$1.51 Correct$0.94 Correct$0.90 Correct$0.52 Correct$1.44 Correct$0.34
sendRequest vscode 13 Incorrect$0.51 Correct$0.77 Correct$0.74 Correct$0.67 Incorrect$0.45 Correct$1.05 Correct$0.25
stoppingcriteria transformers 3 Correct$0.25 Correct$0.19 Correct$0.17 Correct$0.26 Correct$0.23 Correct$0.29 Correct$0.12
Total correct — 5/8 5/8 6/8 8/8 6/8 6/8 8/8
Average cost — $0.49 $0.73 $0.51 $0.44 $0.38 $0.60 $0.18
Correct Incorrect No result Costs are the recorded API cost for each run.

Method

Public GitHub repositories, a clean slate for every run, zero intervention, a standardized model and configuration, plus local lint and syntax verification.

The $0.53 comparison baseline is the arithmetic mean of the six other agents’ published average costs. Dirac’s $0.18 average is 64.8% lower.

Qualifications

A Cline cache-read accounting bug slightly underreports the Dirac and Cline cost figures.

The Terminal-Bench-2 score used gemini-3-flash-preview; tooling beyond the agent itself also contributes to that result.