lmcli v0.7.0 – TUI harness with smooth performance up to 1M context Lmcli v0.7.0, a general-purpose LLM harness written in Go, has been released with smooth performance at 1M+ token context and features including composable agents, custom tools, sandboxed execution, and branching conversations. The tool supports OpenAI-compatible and Anthropic-compatible APIs, consumes under 50MB of RAM per instance, and is available via Go install. - Go 100% | | screenshots /mlow/lmcli/src/branch/main/screenshots .gitignore /mlow/lmcli/src/branch/main/.gitignore CHANGELOG.md /mlow/lmcli/src/branch/main/CHANGELOG.md config.sample.yaml /mlow/lmcli/src/branch/main/config.sample.yaml go.mod /mlow/lmcli/src/branch/main/go.mod go.sum /mlow/lmcli/src/branch/main/go.sum LICENSE /mlow/lmcli/src/branch/main/LICENSE main.go /mlow/lmcli/src/branch/main/main.go README.md /mlow/lmcli/src/branch/main/README.md lmcli - Large Model CLI lmcli is a general-purpose LLM harness. Use it to code, chat, or build custom agentic workflows We have screenshots /mlow/lmcli/src/branch/main/screenshots . Features - Buttery smooth at 1M+ tokens sliding-window rendering - Composable, nesting Agents user-content-agents - Custom tools user-content-tools exec-only, MCP coming soon Sandbox user-content-sandbox tool execution- OpenAI-compatible and Anthropic-compatible API clients talk to any local or remote API - Branching, persisted conversations thanks, SQLite <3 vi -like keybindings- Export conversations to JSON or HTML - Image support - < 50MB of RAM per instance Installation go install codeberg.org/mlow/lmcli@latest Dependencies lmcli works best when the following tools are available: - ripgrep - Grep tool - libchafa - image rendering - uv - Python tool --with dependencies - bubblewrap - Sandbox tools with bwrap Configuration See config.sample.yaml /mlow/lmcli/src/branch/main/config.sample.yaml for the full example configuration. Defaults Defaults which apply to new lmcli chat and lmcli new sessions. ~/.config/lmcli/config.yaml defaults: model: deepseek-v4-flash agent: default default lmcli chat agent codeAgent: coder default lmcli code agent - just an alias temperature: 1.0 maxTokens: 64000 effort: xhigh Agents An Agent is a system prompt and a set of available tools. Each lmcli session starts with a root agent, which the user interacts with directly. This agent may then delegate tasks using the SubAgent tool provided it has been given access , and those sub-agents may delegate further. Only synchronous sub-agents are supported at the moment; background/persisted sub-agents are planned for a future release. The contents of AGENT.md , AGENTS.md , and CLAUDE.md will automatically be injected into the system prompt if any of them exist, and the agent has the Read tool. ~/.config/lmcli/config.yaml agents: - name: default systemPrompt: You are a helpful assistant. - name: coding tools: - Bash - Glob - Grep - Read - Write - Edit - Python systemPrompt: |- You are an expert software engineer... see config.sample.yaml for an effective prompt - name: web summarizer tools: - WebReader systemPrompt: Your task is to summarize the web page. Tools The following tools are built-in: Glob - List files based on glob patterns Grep - ripgrep -powered code search Read - Read contents of a file Write - Write contents of a file Edit - Search and replace contents of a file Bash - Execute shell commands Python - uv run --with=