Reptile is a Terminal Agent that enables interaction with an LLM agent directly in your terminal. The agent can execute any command or custom CLI tool to accomplish tasks, and users can define their own tools and commands for the agent to utilize.
Compared with other CLI agents (e.g., Claude Code and Mini SWE-Agent), Reptile stands out for two reasons:
-
Terminal-only beyond Bash-only: Simple and stateful execution, which is more efficient than bash-only (you don't need to specify the environment in every command). It doesn't require the complicated MCP protocolβjust a naive bash tool under the REPL protocol.
-
Human-in-the-Loop Learning: Users can inspect every step and provide prompt feedback, i.e., give feedback under the USER role or edit the LLM generation under the ASSISTANT role.
Terminal UI (autopilot run)
|
Web UI (autopilot gradio)
|
Batch Evaluation (autopilot evaluate)
|
Trajectory Viewer |
This section will guide you through the installation and setup of the Reptile.
Why Choose Reptile? Unlike other agent tools, Reptile is designed to be developer-friendly: you can get started quickly without Docker, and easily use your own locally deployed LLM service (OpenAI-compatible API format). We believe a development tool should adapt to how developers want to set it up, not force them into a specific deployment model.
Step 1. Install autopilot
# Git clone this repo
git lfs install # make sure this succeeds, otherwise you may need to install lfs first.
git clone [email protected]:terminal-agent/reptile.git --recurse-submodules
# If you forget to clone with --recurse-submodules,
# run `git submodule update --init --recursive`
# Install the autopilot package (ensure your python version>=3.11)
cd reptile
# if you are a developer, you can install the package in development mode
pip install -v -e .
# otherwise install as a normal user.
# pip install -v .Step 2. Run the agent
# initialize
autopilot config init
# run the agent
autopilot run --terminalClick on the videos below to watch:
Quickstart in Two Minutes |
Human-in-the-Loop Annotation |
# Terminal-bench task example
autopilot evaluate --benchmark terminal_bench --task hello-world --terminal --interaction interactive
# SWE-bench task example
autopilot evaluate --benchmark swe_bench --task requests-863 --terminal --interaction interactive
# SWE-Gym task example
python tools/swegym/build_swe_tasks.py -t pandas-dev__pandas-47504
autopilot evaluate --benchmark swegym --task pandas-dev__pandas-47504 --terminal --interaction interactiveWe maintain a comprehensive documentation website that covers both basic usage and advanced features of Reptile.
For offline access, you can also browse the documentation locally via the doc index.
We maintain a series of blog posts to document our progress and share insights.
- Terminal Tool: How to detect the boundary of REPL
- Workflow: How to achieve human-in-the-loop learning
- Data: How to achieve on-policy annotation for better learning
- [WIP] RL Training
We hope our lessons learned and experiences can accelerate the development of autonomous/AGI agents.
We are grateful for the excellent community work that has inspired this project, including terminal-bench and mini-SWE-agent. We sincerely thank the community for their valuable contributions and insights.
If you find Reptile useful in your research or applications, please cite:
@misc{reptile2025,
title={Reptile: Terminal-Agent with Human-in-the-loop Learning},
author={Dou, Longxu and Du, Cunxiao and Li, Shenggui and Wang, Tianduo and Zhang, Tianjie and Liu, Tianyu and Chen, Xianwei and Tang, Chenxia and Zhao, Yuanheng and Lin, Min},
year={2025},
url={https://github.com/terminal-agent/reptile},
note={GitHub repository}
}




