An Open-Source Asynchronous Coding Agent
Find a file
Palash Shah 0591a907c7
feat: move programmer to local mode, guardrails, remove web interface (#627)
* openswe cli: add planner and manager changes

* openswe cli: fix programmer config

* openswe cli: formatting

* openswe cli: add config to reviewer

* Potential fix for code scanning alert no. 17: Incomplete string escaping or encoding

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* openswe cli: update code security

* openswe cli: add programmer to local modification set

* openswe cli: fix config injection

* openswe cli: add config to take action

* openswe cli: update nodes

* openswe cli: fix edit and view tools

* openswe cli: add safety guardrails

* openswe cli: local mode

* openswe cli: openswe import

* bug: fixing error about root dir is ambiguous

* bug: remove index

* bug: fix lint

* feat: update logging

* fix: update tool name

* fix: update the formatting of approve/deny

* style: update formatting

* fix: update the streaming phase to streaming

* style: update formatting

* fix: update env example

* fix: fix openPR local mode

* fix: remove interrupt messages

* style: formatting changes

* fix: remove web mode

* fix: update formatting

* nit: update the readme

* fix: update lock file

* fix: update lint

* style: eslint

* fix: update functions

* fix: update imports for lint

* fix: remove merge conflicts

* fix: formatting

* fix: remove unneeded files

* fix: adjust type errors

* fix: modify changes based on previous mods

* fix: formatting

* fix: review changes

* fix: update conclusion

* fix: update types

* fix: local mode take review

* fix: never used import

* fix: remove throe

* fix: update formatting

* fix: remove uneeded env example

* fix: random formatting

* fix: unused imports

* fix: formatting changes

* fix: formatting

* fix: small nits

* format: updates to tools

* fix: update spelling of underscore

* omit changes in open pr node

* get abs path not local path

* dont commit in local mode

* cr

* dont commit in local mode

* cr

* cr

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: bracesproul <braceasproul@gmail.com>
2025-08-05 22:52:45 +00:00
.github/workflows chore: add proper jsonwebtoken deps (#659) 2025-08-04 13:31:59 -07:00
.vscode Brace/07 16/fixes (#431) 2025-07-16 13:17:35 -07:00
apps feat: move programmer to local mode, guardrails, remove web interface (#627) 2025-08-05 22:52:45 +00:00
packages/shared feat: move programmer to local mode, guardrails, remove web interface (#627) 2025-08-05 22:52:45 +00:00
static fix: Cleanup readme, small changes to docs (#458) 2025-07-21 21:12:55 +00:00
.codespellignore init commit 2025-05-21 14:47:56 -07:00
.gitignore feat: Monorepo (#22) 2025-05-26 13:02:51 -07:00
.yarnrc.yml feat: Monorepo (#22) 2025-05-26 13:02:51 -07:00
AGENTS.md [open-swe] feat: Add AGENTS.md with development guidelines and repository context (#303) 2025-06-23 21:58:49 +00:00
langgraph.json feat: Implement Request Human Help Tool for Agent-Human Collaboration (#505) 2025-07-30 17:48:42 -07:00
LICENSE feat: Monorepo (#22) 2025-05-26 13:02:51 -07:00
package.json chore: add proper jsonwebtoken deps (#659) 2025-08-04 13:31:59 -07:00
README.md feat: Opus 4.1 support, switch default open-swe-max to Opus 4.1 (#678) 2025-08-05 10:34:26 -07:00
SECURITY.md fix: Security stuff (#441) 2025-07-17 12:19:20 -07:00
tsconfig.json chore: Add CI job which runs the dev server (#61) 2025-05-30 13:54:44 -07:00
turbo.json ci: Include a better clean command (#638) 2025-08-01 19:34:05 +00:00
yarn.lock feat: move programmer to local mode, guardrails, remove web interface (#627) 2025-08-05 22:52:45 +00:00

Open SWE Logo

Open SWE - An Open-Source Asynchronous Coding Agent

Open SWE is an open-source cloud-based asynchronous coding agent built with LangGraph. It autonomously understands codebases, plans solutions, and executes code changes across entire repositories—from initial planning to opening pull requests.

Tip

Try out Open SWE yourself using our public demo!

Note: you're required to set your own LLM API keys to use the demo.

Note

Read the Open SWE documentation here.

Features

UI Screenshot

  • 📝 Planning: Open SWE has a dedicated planning step which allows it to deeply understand complex codebases and nuanced tasks. You're also given the ability to accept, edit, or reject the proposed plan before it's executed.
  • 🤝 Human in the loop: With Open SWE, you can send it messages while it's running (both during the planning and execution steps). This allows for giving real time feedback and instructions without having to interrupt the process.
  • 🏃 Parallel Execution: You can run as many Open SWE tasks as you want in parallel! Since it runs in a sandbox environment in the cloud, you're not limited by the number of tasks you can run at once.
  • 🧑‍💻 End to end task management: Open SWE will automatically create GitHub issues for tasks, and create pull requests which will close the issue when implementation is complete.

Usage

Open SWE can be used in multiple ways:

  • 🖥️ From the UI. You can create, manage and execute Open SWE tasks from the web application. See the 'From the UI' page in the docs for more information.
  • 📝 From GitHub. You can start Open SWE tasks directly from GitHub issues simply by adding a label open-swe, or open-swe-auto (adding -auto will cause Open SWE to automatically accept the plan, requiring no intervention from you). For enhanced performance on complex tasks, use open-swe-max or open-swe-max-auto labels which utilize Claude Opus 4.1 for both planning and programming. See the 'From GitHub' page in the docs for more information.

Documentation

To get started using Open SWE locally, see the documentation here.