read_filesLABSCO SUMMARY
It shows its work, and it survives format-on-save.
Two things here come from real annoyance rather than a feature list. The UI prints what each tool actually returned to the model, which is the only way to diagnose an agent that has quietly drifted. And the format-on-save reconciliation fixes a failure mode almost nobody handles: your formatter rewrites the file, the model's search block no longer matches, and every subsequent edit fails for a reason that looks like nothing.
What it is
An autonomous coding agent that reads, searches, edits and runs commands over your codebase, written in Rust and shipping four ways to use it: a native GUI built on Zed's GPUI, a terminal mode, an ACP agent for editors like Zed, and a headless MCP server for clients like Claude Desktop.
What you get
- A UI that shows which tools ran and what each handed back as context, instead of a collapsed "called 5 tools" — when the agent goes wrong you can see where
- File edits reconciled with your formatter: when a project auto-formats on save, the agent's picture of a file goes stale and later edits fail for non-obvious reasons; it runs the formatter and reconciles the model's own edits against the result without re-reading the file —
replace_in_file,write_file - File reads that preserve encoding, BOM and CRLF/LF, giving the model clean text and writing it back the way it was stored
- Documents as first-class input — Word, Excel, PowerPoint and PDF are consumed as Markdown, so the agent can work from a spec alongside the source
- Command execution and directory listing under permission tiers and a command sandbox —
execute_command,list_files - Optional web search through
perplexity_ask, enabled by settingperplexity_api_key - Streaming with filtering that blocks unsafe tool combinations, such as editing a file the model has not read
- Sub-agents, per-project sessions with branching and persistent state, and automatic context compaction when the window fills
- MCP client mode as well as server mode — it can consume other MCP servers' tools while exposing its own
- Adaptive tool syntax chosen per session — native function calling, XML tags or triple-caret blocks — to fit the model in use
Requirements
A prebuilt binary from the Releases page for macOS (Apple Silicon or Intel), Linux or Windows — no toolchain needed. On first launch it opens a Settings screen where you pick a provider, paste an API key and choose a model. Building from source needs the Rust toolchain, plus the gpui system libraries on Debian/Ubuntu and the Metal toolchain on macOS; the binary lands at target/release/code-assistant. For MCP, point your client at the binary with the server argument. Providers include Anthropic, OpenAI, Google Vertex AI, Ollama, OpenRouter, SAP AI Core, Groq, Cerebras and Mistral.
Setup effort
One command plus a key — code-assistant server, then supply credentials
USE CASES
Working out why an agent went off the rails
Read the GUI's per-tool view of what was returned as context, rather than inferring it from the final answer.
Editing in a repo that auto-formats
Let it run your formatter and reconcile the model's edits against the formatted result, so follow-up edits still match.
Building from a spec document, not just source
Point it at the Word or PDF alongside the code; both are read as Markdown into the same session.
Using it from Claude Desktop instead of its own UI
Run it headless with the server argument and register it as an MCP server in the client config.
Keeping a session per project
Sessions persist with branching and draft messages, so returning to a project resumes state rather than starting over.
16 tools
Listed in project docs. Your client may show a different list.
list_filessearch_filesglob_filesweb_searchweb_fetchperplexity_askexecute_commandwrite_filereplace_in_fileeditdelete_filesupdate_planread_skilllist_skillsspawn_agentBEFORE YOU INSTALL
What to know first
Tools you get
16 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
code-assistant serverMCP Clients
Claude Desktop
{
"mcpServers": {
"code-assistant": {
"command": "<YOUR_PATH_TO_CODE_ASSISTANT>",
"args": [
"server"
],
"env": {
"SHELL": "/bin/zsh"
}
}
}
}