Linchpin / Compare / vs OpenHands

Linchpin vs OpenHands

Both are open-source. They sit at different layers of the stack. OpenHands is a coding agent with a UI; Linchpin is the runtime you would build a coding agent on top of. You can run them side by side.

What each one is

§ 01

Linchpin is an open-source managed-agent runtime. It is a platform — three services and Postgres — that runs agents as long-lived sessions. You define an agent (system prompt, tools, model), create an environment (capabilities and policies), open a session, send events, and stream the agent's replies back via SSE. Linchpin does not ship a coding-agent UI; it ships the runtime layer beneath one. License: Apache-2.0. Stack: FastAPI, React, Postgres 16, Docker. Models: OpenRouter (cloud) and Ollama (local).

OpenHands (formerly OpenDevin) is an open-source coding agent that runs tasks end-to-end in a sandbox. It ships its own web UI, its own agent loop, its own evaluation harness. The primary use case is "give me an agent that writes and runs code for me." OpenHands supports a wide set of LLM providers via litellm and runs the agent in a Docker sandbox. License: MIT. Stack: Python, React.

Different abstraction layers. OpenHands is a coding agent you use. Linchpin is the platform on which you would build a coding agent (or a research agent, or a customer-support agent — whatever).

Side by side

§ 02
DimensionLinchpinOpenHands
What it isManaged-agent runtime (platform)Coding agent with UI (product)
LicenseApache-2.0MIT
Self-hostYes — docker compose upYes — docker run
Ships a UIYes — a console for sessions, but no opinionated agent UXYes — a full coding-agent UI
Model providersOpenRouter + Ollama onlyWide (via litellm — OpenAI, Anthropic, etc.)
Sandbox modelPer-session Docker container, dedicated networkPer-task Docker container
Event logAppend-only, cursor-paginated, SSE replayIn-memory + persistence; tied to agent loop
API surfaceHTTP /v1 for agents/environments/sessions/eventsHTTP API focused on tasks; primarily UI-driven
ToolsBuilt-in eight (bash, read, write, edit, glob, grep, web_fetch, web_search) plus MCP via stdioBuilt-in (file ops, browser, bash, etc.); domain-tuned for coding
MCP supportYes (stdio MCP servers)Yes (recent versions)
RBAC / SSONo (single-tenant)No
Typical useBuild your own agent product on top of itHave an agent code for you

When to pick Linchpin

§ 03

When to pick OpenHands

§ 04

Using them together

§ 05

They are not exclusive. OpenHands runs as a coding agent; Linchpin runs as a runtime for whatever agents you define. A reasonable architecture: use OpenHands for ad-hoc coding tasks (developer-facing), and use Linchpin as the runtime for the production agents your application actually ships to users (customer-facing). Different layers, different jobs.

If you are choosing only one and your need is "an agent that codes for me on demand," pick OpenHands. If your need is "infrastructure to run agents inside my product," pick Linchpin. See the docs for the quickstart.

Honest take

Linchpin is younger and smaller than OpenHands. If you want to bet on the largest open-source agent project today, OpenHands is the safer bet. If you want a runtime layer that you can read top-to-bottom in an afternoon, Linchpin is the right shape.

Related

§ 06