Skip to main content
Documentation menu

Getting started

Overview

Full reference for every feature. The README is the overview.

Contents: Setup · Install · Usage · Configuration · Outcome mode: review what was built, not the code · Goals: keep going until it's verifiably done · Verified mode (guardrails) · Learning from your corrections · Usage insights · Secrets · Resource limits · Computer use · Background agents and worktrees · Background and remote runs · Teams: parallel agents on one task · Voice input · Server · Compatibility with Claude Code and Codex · Benchmarks · Architecture · License · Driving another agent (ACP client) · Managing spend · USD costs, budgets, logs and telemetry · Durable memory · Permission modes · Tools · Sandbox · Sessions and checkpoints · Context management

A fast, local-first agentic coding CLI written in Rust, built around one rule: it has to prove its work before it calls the job done. It runs against local models through Ollama's native API or any OpenAI-compatible server (llama.cpp llama-server, LM Studio, vLLM, MLX, …), and against hosted models: the native Anthropic Messages and OpenAI Responses APIs, OpenAI-compatible services (OpenRouter, Gemini, DeepSeek, Groq and others; chanto providers lists them), and Amazon Bedrock, Google Vertex AI and Azure.

  • Single binary (about 17 MB), starts instantly, uses little memory
  • Full-screen or inline TUI: streaming markdown, collapsible tool, diff and thinking blocks (click or ctrl+o), mouse scrolling, permission dialogs, slash and @file completion (gitignored files are offered last, marked, and .git never), todo panel, and a status bar with context usage and tokens/s
  • Reads the setup you already have: existing Claude Code and Codex settings, permission rules, hooks, MCP servers, instruction files, skills, commands/prompts and subagents carry over, so switching doesn't mean starting from an empty config (see Compatibility)
  • Multi-model: named providers ([providers.lmstudio], [providers.llamacpp], …) referenced as provider/model, so the main agent, subagents (subagent_model) and the auto-mode classifier (classifier_model) can each use a different model or server. Switch live with /model.
  • Folder trust: project settings that could run code or loosen safety (hooks, MCP servers, status line, permission allow rules, mode, endpoints, classifier_model, optimize.token_classifier) are ignored until you trust the folder (prompt on first run, or chanto --trust). "Don't ask again" rules are stored in ~/.chanto, not in the repo, so a cloned project can't forge them.
  • Language servers: after each edit, errors from the project's language server (rust-analyzer, typescript-language-server, pyright/basedpyright/pylsp, gopls, clangd: whichever is installed) are appended to the tool result so the model fixes them in the same turn. An Lsp tool (diagnostics, definition, references, hover, document/workspace symbols) is offered when a server is available for the project. See Language servers.
  • Local-model hardening: parses text-format tool calls (<tool_call> / bare JSON) when the model doesn't use native tool calls, repairs truncated JSON arguments, tolerates whitespace and indentation drift in Edit, retries transient server errors, and keeps a stable prompt prefix so the server's KV cache is reused

Edit this page on GitHub Report a problem

Commands, settings, errors: type a few words.