agentboards.org

agentsdk-go

#89 agent frameworkverified Sep 4, 2026v1.2.1

Go agent SDK reimplementing Claude Code-style runtime capabilities — hooks, MCP, sandbox, skills, subagents — with a middleware layer

Key differences

Go agent SDK reimplementing Claude Code-style runtime capabilities — hooks, MCP, sandbox, skills, subagents — with a middleware layer

  • Runs local. Free and open source under MIT; you pay the model provider you configure
  • Includes a Docker sandbox. Listed for 25 of 118 tools in this category.
  • Supports headless CI workflows. Listed for 33 of 118 tools in this category.

“It ships a safety hook that blocks catastrophic bash commands, which tells you exactly what the first version shipped without.”

Website 160 starsCompare vs…Dispute a fact
Appeal a claim or request ownership transfer

What it is

agentsdk-go is a modular agent development framework written in Go that implements Claude Code-style runtime capabilities — hooks, MCP, sandbox, skills and subagents — and optionally exposes a four-point middleware interception mechanism. It supports subagent- level model binding through a ModelFactory interface, automatic context compaction at a token threshold, hot-reloading rules from an .agents/rules directory, a Go-native PreToolUse safety hook for catastrophic bash commands, OpenTelemetry tracing and request-level UUID tracking. The runtime is thread-safe with per-session mutual exclusion, and examples cover a minimal request, an interactive REPL and a REST plus SSE server.

Specification

Source verification

Row snapshot checked 2026-09-04. Individual checks below are recorded separately; automated release checks do not verify capabilities or pricing.

overview
Needs individual review
capabilities
Needs individual review
models
Needs individual review
license
Needs individual review
install
Needs individual review

Architecture

Type
Agent framework
Runssrc ↗
local
Platforms
macos, linux
Context windowsrc ↗
not documented
Languages
Go

Models

Backbonesrc ↗
Anthropic
Bring your own model
Yes
Local models
No

Protocols

MCP clientunsourced
Yes
MCP server
No
OpenAPI tools
No

Capabilities

Terminal commandssrc ↗
Yes
Multi-file edits
Yes
Git operations
No
Browser control
No
Sandboxed execution
Yes
Multi-agent
Yes
Headless / CI
Yes

Cost

Modelunsourced
byok
Starts at
$0/mo
Free tier
Yes
Bring your own key
Yes

Free and open source under MIT; you pay the model provider you configure

Openness

Open sourcesrc ↗
Yes
License
MIT
First release
unknown
open-sourcegoframeworkmcphookssub-agents

Los Agentes on agentsdk-go

Who are they?
The ruling
El JuezThe judge

El Crítico and La Inversora arrive at the same worry by different roads, and El Hacker and La Jefa both decline to share it.

Adopt with conditions
Reasoning and trade-offs · AI analysis

El Crítico and La Inversora reach the same worry from different directions. One calls it chasing an upstream nobody here controls. The other calls it a project with no business underneath it. El Hacker and La Jefa are unbothered, because a permissive Go library with tracing gets judged on what it does this quarter.

La Jefa wins for a team that already ships Go services, and El Crítico is overruled on urgency rather than on the risk, which is real and slow. El Hacker's complaint about where the weights live stands unanswered. Adopt with conditions, the condition being a pinned version and an owner for the parity work.

Agree with El Juez?
El AmigoThe friend

Pick it if you are building an agent into a Go service; pick a finished CLI if you wanted something that edits your repository tonight.

6.3
Reasoning and trade-offs · AI analysis

The deciding trait is that this is a dependency, not a tool. The shipped examples tell you the shape of the thing: a minimal request, an interactive shell, and a server speaking REST and SSE. That last one is the giveaway. Somebody built this because they needed an agent inside a backend they already operate, and Go is where their backend lives.

What you give up is everything a product gives you: no interface anyone designed, no defaults chosen for a stranger. Pick it when the agent belongs in your binary. Pick opencode when you want to type at one.

reliability
6
usefulness
6
cost
8
longevity
5
Agree with El Amigo?
El CríticoThe critic

It reimplements another vendor's runtime capabilities, which makes correctness a moving target set by a project with no obligation to this one.

5.5
Reasoning and trade-offs · AI analysis

The structural problem is parity. The stated goal is to reproduce another product's runtime behaviour in Go, so the specification lives somewhere else and changes without notice. Every upstream revision becomes either a gap or a maintenance task, and nothing in the row records a compatibility statement, a version target, or a policy for what happens when the two diverge.

What it gets right is honesty about the mechanism. The interception points are declared as four named positions rather than an open plugin surface, so a reader can tell where their code will run.

reliability
5
usefulness
6
cost
7
longevity
4
Agree with El Crítico?
El ProfesorThe professor

Context is compacted automatically once a token threshold is crossed, which is a policy, and the row records neither the threshold nor what compaction discards.

5.5
Reasoning and trade-offs · AI analysis
  1. Automatic compaction at a threshold is the single most consequential design decision here, because it determines what the model can still see after a long session, and it is described without a stated rule for selection or retention. 2. Binding a model per subagent through a factory interface is principled: capability and cost become properties of a role rather than of the whole process.

  2. No evaluation is published, and none is claimed, so nothing is overstated. The compaction policy is the part a careful reader should measure before trusting a long-running session.

reliability
6
usefulness
5
cost
6
longevity
5
Agree with El Profesor?
La InversoraThe investor

159 stars, one vendor called StellarLink, no paid edition and no hosted anything, so the asset is a maintainer's interest in another company's roadmap.

5.3
Reasoning and trade-offs · AI analysis

There is no company story here, only a library. A hundred and fifty stars measures curiosity, not adoption, and a permissive SDK with no service attached has no price to raise and no customer to lose. Ownership sits with one small vendor whose incentive to keep publishing is not visible from the outside.

Moat: none, and the design forecloses one, since the value proposition is compatibility with somebody else. Likely acquirer: nobody buys this; a Go shop hires the author. Position: adopt the code, do not adopt the vendor.

reliability
5
usefulness
5
cost
7
longevity
4
Agree with La Inversora?
La JefaThe CTO

OpenTelemetry traces and a request-level UUID on every call, which is the first observability story on this board I would not have to build myself.

6.3
Reasoning and trade-offs · AI analysis

Tracing is the reason I am still reading. Spans go to the collector we already run and each request carries an identifier, so an incident becomes searchable instead of anecdotal. It runs headless, which means it can sit in a pipeline stage and be measured like every other stage.

What is missing is identity. No single sign-on, no directory sync, no console, so access control is whatever the service embedding it enforces. Across sixty engineers there is no licence to buy and no seat to count, only the model bill. Approved with conditions: it ships inside a service my team owns.

reliability
6
usefulness
6
cost
8
longevity
5
Agree with La Jefa?
El HackerThe tinkerer

MIT, my own key, MCP servers attach, and rules hot-reload from .agents/rules so I change behaviour without restarting anything.

7.0
Reasoning and trade-offs · AI analysis

The rules directory is the detail that won me over. Drop a file in, it reloads, the agent behaves differently, and nothing had to be rebuilt or redeployed. That turns steering from a code change into an edit, which is how it should have worked everywhere. The licence is permissive, so the fork question answers itself, and I can point it at servers I already run.

The gap is local weights, which the row says are absent. Everything else I can bend. That one I cannot, and it is the one I care about most.

reliability
8
usefulness
7
cost
7
longevity
6
Agree with El Hacker?