2026-08-28 · Updated 2026-08-28 · Evidence 2026-08-28 · 8 min read

Best open-source coding-agent tools by workflow layer

A dated shortlist of open-source coding-agent tools picked layer by layer — open weights, coding agents, coordination, evaluation — where every inclusion passed four re-runnable checks against public sources on 2026-08-28 and every famous omission is explained.

By Juno AI INC · comparison · open-source · agent-stack

Evidence-dated comparison matrix

Verdicts reflect the matrix evidence reviewed 2026-08-28. They are direct picks per shared job, not an overall ranking.

DimensionDeepSeekgpt-ossOpenCodeAiderCodex CLIGemini CLIPiGooseYYLOCron and shell scriptsYYLO LedgerA Markdown TODO fileSWE-benchTerminal-BenchYYLO BenchmarkEvidence verdict
Model layer — open weights behind the agentMIT on the repository's code; weights governed by a separate model license that permits commercial useApache-2.0 on the openai/gpt-oss repository, which presents that license as covering its two open-weight releasesSplit
Agent layer — coding agents that ship loop and harness togetherMIT on anomalyco/opencode; an open source agent for terminal, IDE, and desktopApache-2.0; terminal pair programming that edits your repository and commits as it goesApache-2.0 on openai/codex; a lightweight terminal coding agent from OpenAIApache-2.0 on google-gemini/gemini-cli; a terminal agent from GoogleMIT on earendil-works/pi; loop, TUI, and coding CLI packaged as one toolkitApache-2.0 on aaif-goose/goose; a general-purpose agent that edits and tests code with any LLMSplit
Control plane — dispatch, isolation, and admissionPublic repositories; the CLI repository still showed no license file at the 2026-08-28 checkThe do-nothing default; schedulable, but with no isolation, admission gate, or recordYYLO
Task truth — the record that outlives sessionsMIT; task intent, statuses, dependencies, and commit evidence stored inside GitThe default open answer; one mutable file with no dependency readiness or historyYYLO Ledger
Evaluation — proof the work was goodMIT; a shared instrument scoring issue resolution on real repositoriesApache-2.0; a shared instrument for complicated terminal tasksMIT; repeated attempts on your own repository with retained receiptsSplit

A dash (—) marks combinations the dated evidence matrix does not cover; no value is inferred for them.

Claim sources

public_source
dated public sources cited at authoring time
seo_corpus_2026_08_26
frontend/docs/seo/evidence/seo-input-inventory.json (DataForSEO estimates from the 2026-08-26 competitor exports; competition is paid advertiser competition, never organic difficulty)

Most "best open-source coding agent" roundups compress two different decisions into one ranked list: what counts as open source, and which layer of the work a tool actually serves. This page splits them apart. The matrix below walks the stack layer by layer — weights, coding agents, coordination, evaluation — and every name in it passed the same four checks, re-run against public pages and repositories on 2026-08-28. Tools that failed a check are named below with the dated reason they failed, because a shortlist whose omissions are invisible is an opinion, not evidence. Two neighboring pages keep their own jobs: the layer map teaches assembly, and the harness field comparison scores closed and open harnesses against each other; this page only picks.

Four checks, re-runnable by anyone

1. Public source. The tool's source must sit in a public repository this page can link to — the link is the check. 2. Recognizable license. The repository must expose a standard open-source license, either reported by the host or readable in the repository's own license file. 3. The coding job at that layer. The tool's current self-description, fetched on the evidence date, must place it at the layer it is picked for. 4. The date. Every check ran on 2026-08-28. Nothing inherits an older list's standing.

The checks bind this site's components as hard as anyone else's, and one fails today: the 2026-08-28 recheck of the YYLO CLI repository found no license file, so its cell in the matrix says so, and its pick rests on the layer's job, public source, and that stated gap. Verify in the repository before redistributing anything — trust the repository over this page, on every row.

Model layer: two weight families pass

DeepSeek-V3 passes with the field's most instructive license shape: MIT on the code, while the weights answer to a separate model license under which the series supports commercial use — two documents, both readable at the repository. gpt-oss passes cleanly, Apache-2.0 on a repository whose own description names "gpt-oss-120b and gpt-oss-20b are two open-weight language models by OpenAI".

Two famous families fail here, differently. Qwen3's repository exposes no license identifier at all on the evidence date — its README instead states "All our open-weight models are licensed under Apache 2.0", pointing to license files hosted in the Hugging Face repositories rather than its own. That may be perfectly sound licensing, but the evidence lives off-repository, so check 2 as written excludes it; readers who want Qwen lose nothing by following that pointer themselves. Meta's Llama utilities repository carries a LICENSE file GitHub classifies as "Other" — a custom license, not a standard open-source one, which fails check 2 the same way. Serving tools like Ollama and vLLM are model-layer infrastructure, and the layer map covers them; a weights pick is not a serving pick.

Agent layer: six coding agents pass

Open source rarely sells the loop without its container, so this layer's qualifiers arrive as whole coding agents — OpenCode under MIT, an agent whose homepage says it "helps you write code in your terminal, IDE, or desktop"; Aider under Apache-2.0, pair programming that edits your repository and commits as it goes; the Codex CLI and Gemini CLI, both Apache-2.0, for teams already in those vendors' orbits; Pi under MIT, the field's tidiest single package — loop, terminal interface, and coding CLI together; and Goose under Apache-2.0.

Goose earned its line the hard way: its repository moved, so block/goose now redirects to aaif-goose/goose, and the project's own documentation banner reports it "has moved to the Agentic AI Foundation (AAIF)". Its self-description remains "an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM" — a coding-capable agent, but a deliberately general one: "goose is a general-purpose AI agent that runs on your machine. Not just for code — use it for research, writing, automation, data analysis, or anything you need to get done." That generosity of scope is exactly why the layer's verdict is split rather than a single winner: OpenCode is the pick when the terminal-first coding job is the whole job, Aider when you want every change committed, Pi when you want the smallest honest toolkit, the vendor CLIs when their ecosystems pay your bills, and Goose when the agent's week includes more than code.

Coordination layers: one qualifier each

Above the coding agents, the problems change shape — what may run, where it runs, what record survives, and who lands the result — and the open shelves go nearly empty, a gap the layer map documents at length. For the control plane, the row contrasts YYLO against the honest incumbent, cron and shell scripts: dispatch with worktrees cut from recorded bases, bounded concurrency, and a serialized merge queue, against scheduling that runs things but isolates nothing, gates nothing, and remembers nothing. YYLO's GitHub description states the boundary in one line — "YYLO (why-lo): AI coding-agent orchestration CLI with equivalent yylo and yy launchers." — orchestration, not another loop. For task truth, the YYLO Ledger, MIT-licensed, records each task's intent, status, dependencies, and the commit that landed it, all inside Git; the default it replaces is a Markdown TODO file — readable by every agent, safe for exactly one author. Both rows pick the qualifier — with the CLI's license gap stated in its cell, not hidden — and the Ledger's introductory walkthrough lives in its own guide.

Evaluation layer: shared instruments and your own evidence

The evaluation row splits between two kinds of proof. SWE-bench, MIT, scores whether models resolve real issues on real repositories; Terminal-Bench, Apache-2.0, scores complicated terminal tasks. Both are shared instruments — comparable across every system that runs them, and finished the moment a run ends. The YYLO Benchmark, MIT, is the third kind: repeated attempts on your own repository, with receipts retained after the run. Which one is "best" depends on the question — comparability across systems, or evidence about yours — so the verdict is split on purpose.

What failed the checks, and exactly how

  • Cursor fails check 1. Its homepage links a GitHub organization, and on the evidence date that organization's ten repositories held community plugins, integrations, and infrastructure — none is the editor's source. The deeper product verdict lives in the YYLO versus Cursor comparison.
  • Claude Code fails check 2. The npm package's license field reads "SEE LICENSE IN README.md", and its public repository reports no license. The harness-level scoring is in the field comparison.
  • Kiro fails check 2: a public repository whose host reports no license. Its pairwise page carries the full decision.
  • Conductor fails check 1: its fetched homepage links community channels and no source repository — the same gap its pairwise page documents against real repository demand.
  • Qwen and Llama fail check 2 as described in the model section — off-repository license evidence, and a custom license.
  • OpenClaw passes checks 1 and 2 and fails check 3 in the most interesting way. Its repository is public; its LICENSE file opens "Copyright (c) 2026 OpenClaw Foundation" over otherwise standard MIT text, though the host reports the file as non-standard; and its homepage markets "The AI that really does things. Organizes your inbox, sends emails, manages your calendar, checks you in for flights." — a personal assistant, by its own words, where the repository says "Your own personal AI assistant. Any OS. Any Platform." A coding-capable assistant is not a coding agent, so the coding picks leave it out.

The demand behind this shortlist

The competitor exports, dated 2026-08-26, carry seventy-one keyword rows for this decision, an estimated 83,040 combined. The direct intent is twenty-two open-source and best-of phrasings estimated at 7,360, led by "open source ai coding agent" (2,900) with "best coding agents" and "open source ai coding assistant" at 720 each. The merged intent is forty phrasings estimated at 75,680 — the generic trio "ai coder", "ai that codes", and "coding ai" at 22,200 each, plus product-named demand for Goose ("block goose", "goose app", "goose application", 1,300 each) and OpenClaw ("openclaw agent" 880, "openclaw ai agent" 590), whose intents have no tighter owner than a coding-tools shortlist. The ranking footprint tells the same story: across this route's rows, opencode.ai holds 23 positions, openclaw.ai 17, and z.ai 15. The "free" phrasings — "free ai coding assistant" (320), "free coding agent" (210), "free ai coding agents" (170) — merge safely because every pick above is free to run, though free to run and open source are different claims, and this page's checks are the second kind. A fresh pass over the fifteen raw exports found no keyword containing "yylo" anywhere. Each number in this section is a third-party search-demand estimate — an input to coverage decisions, never a traffic forecast — and the paid-competition field did no work in any verdict on this page.

If your question is which tool wins a layer, the matrix above is the procedure and the links are the verification. If your question is how the pieces combine, start with the layer map; if it is which harness to live in, the field comparison scores that, and the harness boundary guide holds the vocabulary.