Local-first coding agents

A coding agent that works your way.

Plan, edit, and review code with local models from the shell, terminal, VS Code, or desktop—with the same tools, workspace state, and approval controls everywhere.

truss-harness CLIlocal workspace

$ truss-harness chat "Review the current diff"

model: qwen3-coder | mode: edit | permissions: ask

assistant I found three changed files. I will inspect the diff first.

tool git diff --stat

ready for local execution

One runtime, four ways to work

Bring the agent to your workflow.

Start in a shell, stay in your terminal, work inside VS Code, or open a dedicated desktop workspace without changing your local model setup or safety controls.

Meet the clients

Client surfaces

Choose the interface, not a different agent.

One agent across your shell, terminal, editor, and desktop workspace.

CLI

Automate from your shell

Run coding tasks, discover local models, and reuse workspace profiles from scripts or your normal terminal.

Explore CLI
TUI

Keep your flow in the terminal

Use a full-screen workspace with files, editor, Git diff preview, chat, shell output, approvals, and model controls.

Explore TUI
VS CODE

Work where you edit

Get streaming chat, file context, inline completions, agent modes, approvals, and Git commit-message help in VS Code.

Explore VS Code
DESKTOP

Open a dedicated workspace

Use the standalone Electron app for file browsing, diffs, terminal commands, chat, approvals, and a built-in Git workflow.

Explore desktop

Built for real work

Powerful coding help. Clear control.

Bring your own model, keep workspace context close, and review what the agent can do before it acts.

01

Local by default

Discover and connect Ollama, LM Studio, llama.cpp, or another OpenAI-compatible local endpoint—without a cloud account.

02

Tools with boundaries

Read, write, search, grep, and terminal tools run through agent modes and an explicit approval policy.

03

State that carries forward

Conversations, implementation plans, workspace memory, Git-aware status, and deterministic commands keep work moving.

04

Context with intent

Open files, recent edits, Git changes, plans, and workspace memory give the agent useful context without sending the whole repository.

05

Approvals stay visible

Choose the permission policy that fits the task, then review requested reads, writes, terminal commands, and network work before it runs.

06

Built to be replaced

Providers, tools, context sources, memory, and clients are separate interfaces—so new capabilities do not rewrite the agent runtime.