Diffex is a lightweight, self-evolving coding agent that lives in your CLI. Ask it to explore a codebase, implement features, fix bugs, and run tests—all from your terminal.
- Work with your code: read and edit files, run shell commands, and iterate on changes in an interactive session.
- Choose your models: connect subscription accounts or API keys, or use local models.
- Make it yours: add skills, extensions, and reusable prompts, or integrate Diffex into your own tools.
Requires Node.js 22.19 or newer and npm or pnpm.
npm i -g @diffexai/diffex
cd your-project
diffexAlternatively, install with pnpm add -g --ignore-scripts @diffexai/diffex.
Use diffex update --self to update with the package manager that owns your installation.
See installation and troubleshooting for PATH, permissions, and interrupted-download recovery.
Use /login to connect a supported subscription provider, or set a provider API key such as ANTHROPIC_API_KEY before launching. Then describe what you want to build or change.
Diffex runs with your user account's permissions. Use a container or sandbox when working with untrusted code.
Diffex scores are reported mean rewards; Codex's score is published leaderboard accuracy. Trial counts show scored / total attempts. All Diffex runs used max reasoning without subagents.
| Benchmark | Agent | Model | Score | Trials |
|---|---|---|---|---|
| Deep SWE 1.1 | Diffex 0.3.2 | GPT-6 Luna | 67.27% | 110 / 113 |
| Terminal-Bench 2.1 | Diffex 0.3.2 | GPT-6 Luna | 80.19% | 424 / 445 |
| Terminal-Bench 2.1 | Diffex 0.3.1 | GPT-5.6 Luna | 79.85% | 412 / 445 |
| Terminal-Bench 2.1 | Codex | GPT-5.6 Luna | 75.73% | 445 / 445 |
On Terminal-Bench 2.1, Diffex's reported GPT-5.6 Luna score is 4.12 percentage points above Codex, also using max reasoning.
- Quickstart
- Usage and commands
- Providers and authentication
- Local models
- Skills and extensions
- SDK and RPC integration
- Containerization and sandboxing
git clone https://github.com/diffexai/diffex.git
cd diffex
npm install --ignore-scripts
npm run build:offline
./diffex-test.shValidate changes with:
npm run check
./test.shThe checks cover formatting, linting, dependency policy, and TypeScript. The test command runs non-E2E suites without activating tests that require provider credentials.
If you find Diffex useful, please give it a star on GitHub. Help us improve Diffex by suggesting features or reporting issues, or contributing directly.
Thank you to the developers of Pi for building the foundation that Diffex builds on.
MIT

