An Open-Source Asynchronous Coding Agent
Open SWE turns engineering work into a repeatable system. Give it a code-change task from the dashboard, GitHub, Slack, or Linear—or run one on a schedule—and it works in an isolated environment to understand the codebase, make changes, validate them, and deliver a pull request.
It goes beyond code generation. Open SWE can review pull requests, learn a repository's review style, monitor CI, and respond to feedback. It is open source, deployable in your infrastructure, and designed to be adapted to your team's repositories, tools, policies, and workflows.
[!NOTE] Open SWE is under active development. APIs, setup, and product surfaces may continue to evolve.
flowchart LR
A[Issues, conversations, PRs, schedules] --> B[Plan and investigate]
B --> C[Implement in an isolated sandbox]
C --> D[Validate and deliver a PR]
D --> E[Review, CI, and feedback]
E -->|Follow-up work| B
Each cloud coding thread is bound to its own persistent sandbox, so the agent can continue from prior work when you reply. A thread is a durable conversation and work context. It can contain multiple invocations, each an agent execution triggered by a message or automation. An initial request and a follow-up belong to one thread and produce two invocations, each with its own usage. Independent threads run in parallel, and the same thread carries context from request through delivery and follow-up. Read-only PR chat does not need a sandbox, while desktop work can run directly against an allowlisted local project.
/baby-sit, diagnoses CI failures, and reruns only evidence-backed flaky jobsswagger.json is the generated OpenAPI 3.1 contract for the custom FastAPI backend (agent.webapp:app). Import it into an OpenAPI 3.1-compatible viewer, or run make run and open http://localhost:8000/docs for interactive API documentation (/openapi.json serves the live schema).
Regenerate the file with make swagger after changing backend routes or models. It reflects the current route declarations: some request/response schemas and authentication requirements are not yet documented. LangGraph runtime endpoints (such as /runs, /threads, and /assistants) are not included.
Open SWE composes the agent with Deep Agents. Deep Agents provides the planning, file operations, shell access, skills, state, and subagent primitives; Open SWE adds the software-engineering tools, prompts, middleware, integrations, authorization, and product surfaces needed for end-to-end engineering work.
This composition keeps the system extensible while allowing it to inherit improvements from the underlying LangChain agent stack.
LangGraph provides durable execution and thread state. Each Open SWE invocation executes as a LangGraph run within a thread. Open SWE currently ships five graph entrypoints:
| Graph | Role |
|---|---|
| Agent | Plans, implements, validates, and delivers software changes |
| Reviewer | Performs read-only pull request reviews |
| Analyzer | Learns repository-specific review style |
| Chat | Answers questions about pull requests without changing code |
| Scheduler | Dispatches recurring tasks and CI monitoring work |
Cloud work runs in isolated Linux sandboxes with the development tooling supplied by the workspace's setup scripts or snapshot. A sandbox persists with its thread, but an unreachable coding sandbox is not silently replaced—Open SWE fails safely rather than risk discarding uncommitted work.
LangSmith is the default sandbox and tracing provider. Open SWE also supports Modal, Daytona, Runloop, E2B, and local execution, with a pluggable interface for additional providers.
Deep Agents supplies the core filesystem, shell, and subagent tools. Open SWE adds focused capabilities for GitHub delivery, Linear, Slack, thread management, web research, browser-based application verification, planning, review, CI monitoring, and connected services. Personal integrations load using the user's connections. Admin-configured workspace MCP tools are available to all coding-agent users.
A useful software factory needs both autonomy and boundaries. Open SWE includes:
Sandboxes can have network access and powerful tools. Deployments should use least-privilege credentials, restrict enabled repositories and integrations, and tailor approval rules to their environment.
Open SWE includes a LangGraph backend, a web dashboard, and an experimental desktop client.
One deployment serves the API, the webhooks, and the dashboard from a single URL. Locally:
git clone https://github.com/langchain-ai/open-swe.git
cd open-swe
uv venv
source .venv/bin/activate
uv sync --all-extras
make build-dashboard # pnpm install + Vite build of the dashboard
make dev # http://localhost:2024 serves the API and the dashboard
Create a GitHub App and a Slack app for your machine and fill in .env as described in the development guide, then sign in at http://localhost:2024. For UI work, make dev-ui starts Vite and the backend fronting it, so the same URL hot-reloads. GitHub and Slack deliver to a public webhook URL: locally the static domain of a free ngrok account (make tunnel NGROK_DOMAIN=<name>.ngrok-free.dev, which exposes only /webhooks/*, since the dev server's LangGraph API has no authentication), on LangGraph Platform the deployment URL.
Production self-hosting uses the standalone LangGraph Agent Server and requires its license key.
Open SWE is built in the open by LangChain and is evolving quickly. The original internal coding-agent framework announcement is available on the LangChain blog; the project has since expanded considerably.
Open SWE is licensed under the MIT License.
No open issues yet, or sync has not completed.