Automate from your shell
Run coding tasks, discover local models, and reuse workspace profiles from scripts or your normal terminal.
Explore CLILocal-first coding agents
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 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
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 clientsClient surfaces
One agent across your shell, terminal, editor, and desktop workspace.
Run coding tasks, discover local models, and reuse workspace profiles from scripts or your normal terminal.
Explore CLIUse a full-screen workspace with files, editor, Git diff preview, chat, shell output, approvals, and model controls.
Explore TUIGet streaming chat, file context, inline completions, agent modes, approvals, and Git commit-message help in VS Code.
Explore VS CodeUse the standalone Electron app for file browsing, diffs, terminal commands, chat, approvals, and a built-in Git workflow.
Explore desktopBuilt for real work
Bring your own model, keep workspace context close, and review what the agent can do before it acts.
Discover and connect Ollama, LM Studio, llama.cpp, or another OpenAI-compatible local endpoint—without a cloud account.
Read, write, search, grep, and terminal tools run through agent modes and an explicit approval policy.
Conversations, implementation plans, workspace memory, Git-aware status, and deterministic commands keep work moving.
Open files, recent edits, Git changes, plans, and workspace memory give the agent useful context without sending the whole repository.
Choose the permission policy that fits the task, then review requested reads, writes, terminal commands, and network work before it runs.
Providers, tools, context sources, memory, and clients are separate interfaces—so new capabilities do not rewrite the agent runtime.