by SWE-agent
The 100 line AI agent that solves GitHub issues or helps you in your command line. Radically simple, no huge configs, no giant monorepo—but scores >74% on SWE-bench verified!
# Add to your Claude Code skills
git clone https://github.com/SWE-agent/mini-swe-agent📣 New tutorial on building minimal AI agents 📣 Gemini 3 Pro reaches 74% on SWE-bench verified with mini-swe-agent! 📣 New blogpost: Randomly switching between GPT-5 and Sonnet 4 boosts performance
[!WARNING] This is mini-swe-agent v2. Read the migration guide. For the previous version, check out the v1 branch.
In 2024, we built SWE-bench & SWE-agent and helped kickstart the coding agent revolution.
We now ask: What if our agent was 100x simpler, and still worked nearly as well?
mini is
No comments yet. Be the first to share your thoughts!
/completion and /response endpoints, interleaved thinking etc.SWE-agent jump-started the development of AI agents in 2024. Back then, we placed a lot of emphasis on tools and special interfaces for the agent.
However, one year later, as LMs have become more capable, a lot of this is not needed at all to build a useful agent!
In fact, the mini agent
subprocess.run — every action is completely independent (as opposed to keeping a stateful shell session running).
This makes it trivial to execute the actions in sandboxes (literally just switch out subprocess.run with docker exec) and to
scale up effortlessly. Seriously, this is a big deal, trust me.This makes it perfect as a baseline system and for a system that puts the language model (rather than
the agent scaffold) in the middle of our attention.
You can see the result on the SWE-bench (bash only) leaderboard, that evaluates the performance of different LMs with mini.
Some agents are overfitted research artifacts. Others are UI-heavy frontend monsters.
The mini agent wants to be a hackable tool, not a black box.
Unlike other agents (including our own swe-agent), it is radically simpler, because it:
subprocess.run — every action is completely independent (as opposed to keeping a stateful shell session running).
This is a big deal for the stability of the agent, trust me.You should consider mini-swe-agent your default choice.
In particular, you should use mini-swe-agent if
You should use swe-agent if
What you get with both



agent = DefaultAgent(
LitellmModel(model_name=...),
LocalEnvironment(),
)
agent.run("Write a sudoku game")
Option 1: If you just want to try out the CLI (package installed in anonymous virtual environment)
pip install uv && uvx mini-swe-agent
# or
pip install pipx && pipx ensurepath && pipx run mini-swe-agent
Option 2: Install CLI & python bindings in current environment
pip install mini-swe-agent
mini # run the CLI
Option 3: Install from source (developer setup)
git clone https://github.com/SWE-agent/mini-swe-agent.git
cd mini-swe-agent && pip install -e .
mini # run the CLI
Read more in our documentation:
If you found this work helpful, please consider citing the SWE-agent paper in your work:
@inproceedings{yang2024sweagent,
title={{SWE}-agent: Agent-Computer Interfaces Enable Automated Software Engineering},
author={John Yang and Carlos E Jimenez and Alexander Wettig and Kilian Lieret and Shunyu Yao and Karthik R Narasimhan and Ofir Press},
booktitle={The Thirty-eighth Annual Conference on Neural Information Processing Systems},
year={2024},
url={https://arxiv.org/abs/2405.15793}
}
Our other projects: