Skip to content

The coding agent you can put anywhere.

Work on your code with a hosted or local model. One Rust binary, with extensions in any language.

A recorded e session using GPT-5.6 Sol. A prompt is typed and submitted, then e reads a JavaScript project, edits its slug formatter, and runs the tests. Typing plays at double speed with a close-up that follows the cursor. Idle pauses are shortened. Click the video or use the play/pause button to control playback. Drag the timeline to seek; playback resumes when released. Space or Enter toggles playback when the video or timeline is focused. Arrow keys on the timeline seek. Reduced motion disables autoplay.

What you can do with e

Make changes in your repository

Ask e to trace a bug, change an implementation, or add a test. It reads the relevant files, edits code, and runs shell commands. You review the diff and results in your existing workflow.

Return to work without starting over

Reopen a saved conversation or return to an earlier message to try another approach. The original branch stays in the history. Long sessions compact older context as you work.

Use your models and tools

Connect a provider account or a local model. Add project rules in AGENTS.md, save prompts you repeat, and extend e with tools written in your language. The core ships as one Rust binary.

FAQ

What do I need to run e?

A terminal on macOS or Linux and access to a model. The installer supports ARM64 and x86-64. You do not need Rust unless you want to compile e from source.

Is e free?

Yes. e is open source under the MIT license. You supply your own provider account, API key, or local model. Provider usage and subscription costs are separate.

Where does my data go?

Saved sessions stay under ~/.e/sessions/. Model requests go to your selected provider and may include code and tool output. That provider's data policies apply.

Can e change files and run commands?

Yes. Tools run with your user permissions, without a permission prompt by default. Directory trust controls loaded context, not execution. Use a container, VM, or OS sandbox when the task needs isolation.