Local-first coding agents

Truss

A modular coding-agent runtime for local models with a CLI, full-screen TUI, VS Code extension, and desktop app built on the same tools, safeguards, and workspace state.

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.

CLI

Automate from the shell

Run chat, model discovery, profiles, and durable workspace commands from scripts or your normal terminal.

CLI documentation
TUI

Stay in the terminal

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

TUI documentation
VS CODE

Work inside the editor

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

VS Code documentation
DESKTOP

Open a focused workspace

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

Built for real work

Everything stays under your control.

Local models are more useful when tools, context, and permissions are designed to work together.

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.