OpenHands limitations: where an open source coding agent stops
OpenHands is a capable open source coding agent. Its limits show when work leaves code: no shared company memory, connectors built for developers, and no single review gate across teams. Kortix, the open-source AI Operating System, is what teams run when they reach them.
A company's agents live in a file a team reviews
# kortix.yamlagents: support-triage: file: agents/support-triage.md # what it does, in plain markdown connectors: all # what it may reachFrom the Kortix README: an agent is a markdown file plus a block in kortix.yaml, so what it does and what it may reach sit in the repo.
What OpenHands is built for, and does well
OpenHands is a self-hosted developer control center for coding agents and automations. It opens a conversation with an agent, connects to one or more agent servers, and runs whichever agent you point it at, including its own OpenHands agent or another agent such as OpenCode. It runs on a laptop, in Docker, on a virtual machine or inside your company infrastructure, and it works with any LLM you bring. The job it does well is code: agents read repositories, run terminals and tests, and open changes on your repositories.
The single-repo coding boundary
OpenHands is built around code, and that focus sets its boundary. Its agents read a codebase, run commands and propose changes to it. The unit of work is a coding conversation or an automation that ends in a code change, so a job for sales, finance or support sits outside its shape. When a team starts to ask an agent to reply to a customer, reconcile a ledger or draft a report, that work is beyond what a coding control center is built to finish.
Self-hosting and running a harness yourself
Self-hosting OpenHands means operating the agent server, the models and the sandbox yourself. Its own setup guide is direct about the trade-off: the self-hosted agent server runs directly on the host and the agent has full access to that machine's filesystem, so the host becomes the boundary, and the firewall, the session API key and TLS in front of it are the defenses. Model choice stays yours, which also means you hold the provider keys and the relationship. The self-hosting guide on this site compares that with Kortix, which self-hosts the whole system as one Docker Compose stack. One isolated sandbox per session. Each session has its own isolated machine and branch.
What it does not do for a whole company
A coding control center does not become a company system by adding agents. Four things are missing when every team starts delegating work. There is no shared company memory, because OpenHands keeps each conversation's state and its files rather than one repo where the company's agents, skills, memory and connector rules live as files a team diffs. The connectors are developer-shaped, built around Slack, GitHub, Linear and webhooks, next to the Kortix reach of 3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP. The review gate is code review, and a TypeScript diff is readable to an engineer and opaque to a finance lead, with no single change request that every department's agent work lands through. Governance is per deployment rather than per company, and OpenHands for teams works through what that means as a team grows.
The signs a team has outgrown it
A few signals mark the point where a coding control center stops being enough. The first non-coding agent appears, because someone in support, finance or operations asks for an agent that answers, reconciles or reports. A second team wants to build on the same agents, and there is no shared place where their work or memory lives. An agent needs a business tool that is not Slack, GitHub or Linear. The review of agent work leaves engineering, and a manager who cannot read a diff still has to approve the outcome. Two or more of these together mean the coding tool is doing its job and the company work has outgrown it.
What the move looks like
The move does not have to be a switch. Git stays the record of work on both systems, so a team can leave OpenHands on the code it handles well and move one non-coding workflow across first. Kortix scaffolds a project with kortix init, pushes the repository with kortix ship, and starts sessions from a prompt or a trigger. Each session clones the repo, works on a new branch and opens a change request a person merges. The migration guide walks through one project at a time, and the OpenHands vs Kortix comparison works the decision in full. The wider field is in the OpenHands alternatives comparison, and the Kortix team's own breakdown, Kortix vs OpenHands: an open-source company system or a coding-agent harness?, reaches the same conclusion.
Kortix and OpenHands, on the rows that decide it
Kortix is the pick when the work goes past code; OpenHands stays the fit for a coding team. OpenHands facts come from its own repository and docs, checked October 2026.
- Scope
- Any team's work: code, reports, replies, across 3,000+ apps
- Coding agents and developer automations
- Open source
- Yes, read it, fork it, audit it
- Yes
- Self-hosting
- Kortix Cloud, your VPC, or on-prem; self-host is free
- Laptop, Docker, VM, or your own infrastructure
- Shared memory
- The living company brain. Plain files today
- Conversation state and files persist per conversation
- Governance and review
- Session work reaches main through a change request. Merge is default-deny for agents
- The self-hosted agent runs on the host with filesystem access
- Model choice
- Any model provider with your own keys
- Use with any LLM; bring your own model
OpenHands limitations, answered
Should a team replace OpenHands with Kortix?
Only when the work goes past code. A coding team that wants a self-hosted control center for code can keep OpenHands. A company that needs its agents, memory and connector rules in one repo, with agent work reviewed across departments, runs Kortix. Many teams keep OpenHands for code and add Kortix for everything else.
What does moving from OpenHands to Kortix involve?
Git stays the record on both systems, so you move one workflow at a time. Kortix scaffolds a project with
kortix initand brings it live withkortix ship. Existing repositories keep working: a session clones the repo, works on a new branch and opens a change request a person merges.
Own the agents, memory and connectors for the whole company
Move one workflow across and see how the review gate feels.