SWE-agent
What is SWE-agent?
SWE-agent is a software-engineering agent for researchers and developers that lets a language model browse repositories, edit code, and execute files through its Agent-Computer Interface. It includes multimodal configuration, function calling, custom tools, output files, and Interactive Agent Tools, and it is used in SWE-bench, Mini-SWE-Agent, and research at Princeton University. The project reports 19.2k GitHub stars and 2.1k forks.
Last verifiedHow we evaluate
At a glance
- SWE-agent is best for researchers who want an LM-driven agent for repository-level coding tasks.
What does SWE-agent do?
SWE-agent turns a language model into a software-engineering agent that can browse repositories, edit code, and execute files through its Agent-Computer Interface. The workflow is intentionally lightweight: a single YAML configuration governs behavior, while function calling, multimodal configuration, custom tools, and output files shape how the agent acts and records its trajectory. That makes it useful for issue-fixing runs, coding challenges, and other custom tasks without forcing a rigid workflow. At scale, the project reports 19.2k GitHub stars and 2.1k forks, and says it resolves 12.29% of issues on SWE-bench, with a 65% result on SWE-bench verified called out in the news. The docs also note support for local models, browser-based use, and images under 10MB in multimodal runs. SWE-agent is maintained by researchers from Princeton University, and the site points readers to Mini-SWE-Agent as the newer direction.
Why use SWE-agent?
- Its Agent-Computer Interface gives the model direct, structured access to browse, edit, and execute code instead of relying on a narrow scripted loop.
- A single YAML-driven configuration makes experiments easier to reproduce and modify across different tasks and models.
- The project is built for research, so it shows hackability and documented internals rather than a closed workflow.
- Multimodal support lets teams feed image-based issue context into the agent when the model can handle vision inputs.
- The docs include custom tools and output files, which helps teams extend runs and inspect trajectories after the fact.
Who is SWE-agent for?
- Research teams who need a configurable agent for software-engineering experiments.
- Developers who want an LM to inspect, edit, and run code in GitHub repositories.
- Security researchers who want to adapt the agent for vulnerability-finding workflows.
- ML practitioners who need multimodal runs and custom tool support for task-specific setups.
What are SWE-agent's key features?
State of the art
Targets 65% on SWE-bench verified and cites 19.2k GitHub stars, giving buyers a benchmarked agent for software engineering tasks.
Free-flowing & generalizable
Handles open-ended coding work across the full test set of 200 challenges, which matters when tasks vary and scripts need to adapt.
Configurable & fully documented
Exposes documented configuration for multimodal setup, function calling, custom tools, and output files, so teams can tune behavior without rewriting the agent.
Made for research
Built for experiments at Princeton University, Tel-Aviv University, and New York University, with reproducible agent workflows for comparing methods.
multimodal configuration
Supports multimodal configuration for tasks that mix text and other inputs, helping teams test agents on richer software workflows.
function calling
Uses function calling to route actions through defined tool interfaces, which makes agent behavior easier to control and inspect during debugging.
custom tools
Lets you add custom tools alongside GitHub and Slack integrations, so the agent can fit existing engineering workflows and internal systems.
Agent-Computer Interface (ACI)
Provides an Agent-Computer Interface for structured interaction with the environment, improving traceability when agents operate on code and files.
What does SWE-agent integrate with?
- GitHub
- Slack
What are SWE-agent's use cases?
Research agent experiments
Research teams use SWE-agent to run software-engineering experiments with a configurable agent, using Configurable & fully documented and Made for research to compare setups, reproduce results, and iterate on prompts or tools. They can also use Summarizer to review outcomes across runs.
Repo editing for developers
Developers use SWE-agent to have an LM inspect, edit, and run code in GitHub repositories, using Agent-Computer Interface (ACI) and Interactive Agent Tools (IATs) to move from issue to patch. The result is faster debugging and more reliable code changes.
Vulnerability workflows for security researchers
Security researchers adapt SWE-agent for vulnerability-finding workflows, combining custom tools with function calling to steer the agent through targeted checks and exploit validation. They use output files to capture findings and hand off clear evidence for review.
Multimodal task setups
ML practitioners use SWE-agent for task-specific multimodal runs, relying on multimodal configuration and custom tools to shape how the agent sees inputs and acts on them. This helps them prototype specialized workflows without rebuilding the agent from scratch.
How does SWE-agent work?
- Connect a GitHub repository or local codebase as the first workspace, then let the Agent-Computer Interface (ACI) inspect files and navigate the project like a developer would.
- Configure the run with multimodal configuration, function calling, or custom tools so the agent can follow your task-specific workflow instead of a fixed script.
- Launch the agent and use Interactive Agent Tools (IATs) to guide edits, run commands, and check intermediate results while it works through the repository.
- Review the Summarizer output and output files to understand what changed, what failed, and what still needs attention before you rerun or share the result.
Frequently asked questions
What is SWE-agent?
SWE-agent is a software-engineering agent for researchers and developers that lets a language model browse repositories, edit code, and execute files through its Agent-Computer Interface. It includes multimodal configuration, function calling, custom tools, output files, and Interactive Agent Tools, and it is used in SWE-bench, Mini-SWE-Agent, and research at Princeton University. The project reports 19.2k GitHub stars and 2.1k forks.
What is SWE-agent used for? Who is it for?
SWE-agent is used for State of the art, Free-flowing & generalizable, and Configurable & fully documented. It's built for Research teams, Developers, and Security researchers.
Does SWE-agent have an API and what does it integrate with?
SWE-agent doesn't publish a public API. It integrates with GitHub, Slack.
