Late CLI
Late is a coding AI agent in one Go binary: an orchestrator plans while disposable subagents code and research, on llama-server or cloud models
- 446 ★ on the repository
- Last commit
Broad access
Why this level
- Subagents run shell commands and edit project files
- The i-promise-i-have-backups-and-will-not-file-issues mode runs every tool without confirmation
- Cloud model keys sit in environment variables and config.json
Install
Manual install
brew tap mlhher/late && brew install lateFor Linux and macOS. Then go to the project folder and run late.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Subagents run shell commands and edit project files
- The i-promise-i-have-backups-and-will-not-file-issues mode runs every tool without confirmation
- Cloud model keys sit in environment variables and config.json
This is third-party code. Review the repository files before installing.
What it does
Late is a terminal coding agent built as one static Go binary. Its core idea: the main orchestrator agent only plans and verifies, and hands file reads, edits, commands and code search to disposable subagents. Subagents run in isolated contexts and return a short structured report when done, then their scratch work is wiped. The orchestrator's context therefore grows more slowly than the work, and the author claims that with a 64k window the agent carries out hundreds of thousands of tokens of work. The orchestrator has no file-writing tools and repository-mutating bash commands are blocked for it; subagents have no orchestration tools. For local models, Late suppresses redundant thinking tokens through logit biasing on llama.cpp and keeps prefixes stable for the cache. If llama-server is already running on port 9931, late finds it without configuration. Models also connect through the cloud: any OpenAI-compatible API (DeepSeek, Claude, GPT, Kimi, GLM, OpenRouter) is set with three variables, OPENAI_BASE_URL, OPENAI_API_KEY and OPENAI_MODEL. Roles can get different models, for example a large one for planning and a local one for execution. Dangerous commands go through an approval mode, and late-podman runs the agent in an isolated container.
Who it is for. For developers who run an agent on local models with a small context window or want planning separated from execution.
Good fit when
- A local model with a window around 64k tokens struggles with a big task in one long conversation
- You need to resolve a merge conflict or a multi-file refactor without polluting the planner's context
- You want a strong cloud model to plan and a cheap local one to edit
- The agent has to run in an isolated container: late-podman does that
- You want a single binary with no Python or Node.js, installable through Homebrew
Not a fit when
- You need commercial resale: the BSL 1.1 license forbids offering Late or its functionality as a commercial SaaS
- The task is tiny and an extra planning round only slows it down: the orchestrator always plans first
- You want the main agent to edit files itself: Late's orchestrator cannot
- You need the install script on native Windows without WSL: it targets Linux, macOS and WSL
Example request
Resolve the merge conflict on the feature/auth branch: examine both sides, fix the code and run the testsLimitations
The license is Business Source License 1.1: internal development, testing and non-commercial research are allowed, offering Late as a commercial SaaS or wrapper is not. On 21 February 2030 it converts to GPL 2.0 or later.
- Local use needs a running llama-server with a GGUF model; cloud use needs an OpenAI-compatible key.
- Performance claims (200k tokens of work in a 64k window, gains over other agents) come from the author's own tests.
- The i-promise-i-have-backups-and-will-not-file-issues mode runs every tool without confirmation.
- The install script targets Linux, macOS and WSL; native Windows binaries are in the releases.
How to disable. Remove the binary: brew uninstall late, or delete the file the install script placed. Settings are in config.json (on Linux ~/.config/late/, on macOS ~/Library/Application Support/late/).
FAQ
How is Late different from ordinary coding agents?
Late's orchestrator has no write tools, so it physically cannot edit files, and execution goes to subagents in clean contexts. An ordinary agent piles file reads, errors and retries into one conversation.
How do I run Late on a local model?
Start llama-server with your GGUF model on port 9931 and run late in the project folder. No setup is needed, Late finds the server itself.
How do I connect a cloud model to Late?
Set OPENAI_BASE_URL, OPENAI_API_KEY and OPENAI_MODEL for any OpenAI-compatible API, such as DeepSeek or OpenRouter. Persistent settings live in config.json.
Can I use Late in a commercial project?
For internal development yes, the Business Source License 1.1 allows it. Offering Late or its functionality as a commercial SaaS or a wrapper in a paid product is forbidden.
How do I make Late safer?
Keep the ask-for-user-approval mode, which is the default, and run the agent in a container with late-podman.
Discussion
No questions or reviews yet.
Related
CLI toolsLocal coding agent with a terminal UI: it plans, drafts several candidates, tests them in a sandbox and repairs, so compact open models can handle code
A local-first AI agent running on your own machine via llama.cpp that drives a browser, edits files, runs approved commands and remembers context across session
A coding agent tuned for small local models, with a minimal system prompt, a planning mode and background sub-agents for research
A CLI and Python library for OpenAI, Claude, Gemini, local and other models: prompts, chats, tools, embeddings and a SQLite log
A Go coding agent for open models: it turns a chat into tasks on separate branches, checks and merges the result and runs all projects in one window
A Go CLI that configures the AI coding agents you already use: it gives them shared memory, a workflow and deterministic steps without replacing the agents them
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Late (this entry) | no | 446 | |
| Aider | no | 49,685 | pair programming in a single conversation, with no separate orchestrator or subagents |
| Grok Build | yes | 27,493 | xAI's terminal agent with ready integration of Claude Code skills, without subagent isolation |
| Zeroshot | no | 2,026 | runs several agents as a graph where some write and others verify |
README in short
The page opens with user quotes, a workflow diagram and a ten-second quickstart (Homebrew or a script). It then explains the problem with monolithic agents: context fills with execution noise, reasoning degrades past 40 percent of the window, and redundant thinking eats resources. Late's answer: enforced subagent isolation, disposable compute, logit biasing and a pruned toolset. A comparison table with ordinary agents and a FAQ complete the page.