by mlhher
AI agent for long-horizon coding with local and cloud models. Built on empirical research.
# Add to your Claude Code skills
git clone https://github.com/mlhher/late-cliLast scanned: 5/29/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-29T07:57:42.131Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}See how late-cli compares with popular alternatives.
late-cli is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mlhher. AI agent for long-horizon coding with local and cloud models. Built on empirical research. It has 426 GitHub stars.
Yes. late-cli passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/mlhher/late-cli" and add it to your Claude Code skills directory (see the Installation section above).
late-cli is primarily written in Go. It is open-source under mlhher on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh late-cli against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Outperforming Claude Code and Codex for Local LLM Workflows — Agent Native
"You solved local AI coding for me." — Reddit
"Late-CLI is mindblowing... it's a true hidden gem." — GitHub Discussions
"The same model feels smarter with Late." — Reddit
Built with Late: Late is primarily developed inside Late itself.
A single, statically compiled binary. Zero dependencies. No Python venvs, no Node.js.
# Linux / macOS (Homebrew)
brew tap mlhher/late && brew install late
# Universal Fallback (Linux / macOS / Windows WSL)
curl -sfL https://raw.githubusercontent.com/mlhher/late-cli/main/install.sh | bash
# Launch interactively in any project
cd your-project
late
Manual Binaries: Linux, macOS, native Windows
Pre-release Notice: This README documents features in v2.0.0-rc.1 (pre-release). The latest stable release is v1.5.1. Binaries for both versions are available on GitHub Releases.
One binary. Zero configuration. If llama-server is already running, Late finds it automatically.
The Problem: Standard coding agents still let the primary agent directly absorb codebase scans, compiler errors, file reads, failed diffs, and retries into one growing trajectory. As that execution noise accumulates in the KV cache, model reasoning quality degrades severely. You blame the model, but it's an architectural failure.
1. The 40% Collapse: Long-context LLMs suffer up to a ~45% collapse in reasoning accuracy once context utilization crosses 40–50%, even when all tokens are technically relevant (Weiwei Wang et al., arXiv 2026: Intelligence Degradation in Long-Context LLMs).
2. The Overthinking Tax: Reasoning models waste 27%–51% of their trajectory on redundant self-reflection loops ("Wait...", "Hmm") without accuracy gains (Chenlong Wang et al., EMNLP 2025: Wait, We Don't Need to "Wait"! Removing Thinking Tokens Improves Reasoning Efficiency).
The Late Solution: Late splits the brain and treats central context as the scarce resource:
llama.cpp/llama-server. It suppresses redundant thinking tokens on the fly, reclaiming wasted CoT compute while leaving room for useful reasoning (varies by model).See the Feature Matrix and FAQ for a direct comparison and real world examples.
The orchestrator’s context grows primarily from what actually matters: your instructions, plans, and verifiable results—not every grep, compiler trace, failed edit, and discarded hypothesis used to get there.
A model with a 64k context window is no longer limited to a 64k task. The cumulative job can grow into hundreds of thousands of tokens while the orchestrator stays inside its useful context budget, delegating fresh work instead of carrying the entire execution history forward.
The same model feels smarter in Late because the architecture protects the context in which its important decisions are made.
| Late | Standard Monolithic Agents | |
|---|---|---|
| Workflow | Autonomous orchestration: Always Planning | Manual Build / Plan mode switching |
| Implementations | Strictly enforced ephemeral coder subagents (Wiped) | Delegation optional or mixed with primary-context execution |
| Explorations | Strictly enforced ephemeral researcher subagents (Wiped) | Exploration may still accumulate in the primary trajectory |
| Tool Enforcement | Physical tool namespace pruning (Hard boundaries) | Commonly policy/prompt driven |
| KV-Cache | Ruthless KV-cache preservation (Deterministic prefixes) | Brute-force dumping & cache-busting mode switches |
| Logit Biasing | Native EMNLP 2025 token suppression (Culls CoT bloat) | None (Full overthinking tax paid on every turn) |
| Startup Time | Instant (<10ms native Go, feels like htop) |
1s–3s+ (Node.js / Python runtimes) |
| System Prompt | ~1,000 tokens (Lean & focused) | 3,000–10,000+ tokens (From No-Workflow to Over-Constrained Bloat) |
| Sandboxing | Native rootless devcontainers (late-podman) |
No equivalent built-in workflow |
| Setup Required | None (Automatic llama-server on :8080) |
Requires provider/config setup |
| Telemetry | None | Telemetry by default |
Why not conventional agents that can just edit the repository directly?
Because optional delegation is not the same thing as an architectural boundary. If the primary agent can keep reading files, executing commands, editing code, retrying patches, and absorbing tool output directly, its central trajectory still grows with the work.
Late makes that impossible. The orchestrator plans and verifies; isolated workers execute. This structural discipline ensures the model doesn't get dragged down in execution noise and converge on a partial solution. Late keeps decomposing the task in clean environments until all objectives are closed.
Don't other tools already have subagents?
Many modern tools have subagents. The distinction is enforcement: in Late, workers are not an optional side-path that the primary agent may bypass. Late architecturally enforces isolation:
Can this workflow not just be rebuilt with plugins?
The underlying orchestration loop of agents not written with the specific architecture in mind isn't built to enforce isolation, even if you write plugins or extensions to try and add it. Instead of just offering subagents, Late architecturally enforces them. The orchestrator is physically incapable of making file edits (whether through tools or Bash), and workers are architecturally separated from orchestration. You can't replicate that structural discipline with a third-party plugin.
Can small or quantized local models actually handle complex, real-world tasks?
Yes. This is specifically what Late was made for.
Repeated local testing with 35B-A3B models at 3-bit quantization running via llama-server has shown a consistent qualitative pattern: Late can spend far more aggregate inference than the orchestrator itself ever has to retain.
In one representative run, the agents collectively executed 200,000+ tokens while the orchestrator stayed below 64k tokens. The model autonomously resolved an interwoven 6-file merge conflict with cross-file refactors, duplicated logic, and subtle regressions, compiled cleanly, and passed all tests inside a disposable late-podman contai