DEV Community

Masih Maafi
Masih Maafi

Posted on • Originally published at github.com

Elpis: a terminal environment that keeps AI coding agent's context window free

I build Elpis — a terminal environment for coding agents forked from OpenAI's Codex CLI.

One problem I keep running into with long agent sessions: the context window fills up with the history of how the agent got to the answer, not the answer itself. Transcripts, file reads, searches, command output, dead ends — all of it accumulates, and every new request pays for all of it.

Elpis exists to fix that.

What is Elpis

Elpis is a terminal environment for coding agents. You put an agent into Elpis, and it becomes Elpis.

The agent runs the model loop. Elpis owns the environment around it: context, continuity, memory, permissions, evidence, and explicit provider choice.

Elpises

Elpis is the shared environment, not any one agent. Put an agent inside it and the agent inherits the same context, memory, permissions, evidence, and control.

Elpises working on different paths of one shared Elpis environment

Multiple Elpises working from those shared roots is a direction for the project — not a claim that multi-agent control ships in v0.1.1.

Why Elpis

Long agent sessions accumulate transcripts, file reads, searches, command output, and dead ends. The useful state gets buried in the history of how the agent reached it, while every request pays for more context.

Elpis separates working context from durable evidence. The next request receives a small, inspectable working set; the exact record stays on disk and is retrieved only when needed.

One controlled comparison — same task, same prompt:

Free context at end
Elpis 93%
Codex 73%

Screenshots from that comparison

Start:

Starting Elpis
Starting Codex with the same prompt

End — Elpis, 93% free:

Elpis end state

End — Codex, 73% free:

Codex end state

This is one recorded workflow, not a claim that every task reduces the same amount.

Core features

  • Managed context — Ace performs meaning-aware post-turn pruning while Codex's inherited safety cap bounds exceptionally large tool output. Inspect pruning with /prune.
  • Portable continuity — goal and checkpoint state survive compaction and restarts, so work resumes without replaying the full transcript.
  • Visible context — the Context Ledger shows exactly which files are in the working set, with ctrl+clickable paths for inspection.
  • Durable evidence and bounded memory — exact conversations, terminal events, and artifacts remain on disk; reusable memory stays selective, size-capped, and attributable.
  • Explicit provider choice — use OpenAI, Anthropic, Gemini, or OpenRouter without silently routing one provider through another.
  • Visible safety controls — Read Only, Default, and Full Access modes keep file changes, commands, approvals, and results inspectable.
  • No analytics by default — Elpis does not upload usage analytics, and all OpenTelemetry exporters default to off. Telemetry is sent only if you explicitly configure an OTEL exporter.
  • Local read-only RAG — from a source checkout, scripts/setup-rag.sh adds semantic search over local knowledge without granting write access.

Evidence — full context-management session

The clip above is a 25-second highlight. This one is the full uncut session: you can watch the context loop run — post-turn pruning, the Context Ledger updating, goal and checkpoint state surviving compaction — and see the 93 vs 73% numbers appear in real time.

Quickstart

Linux x86_64:

curl -fsSL https://raw.githubusercontent.com/MasihMoafi/Elpis/main/scripts/install-elpis.sh | bash
elpis
Enter fullscreen mode Exit fullscreen mode

On first launch, choose a provider and sign in or enter its API key.

Current state

v0.1.1, Linux x86_64. Not in this release: macOS, Windows, /auto routing, multi-agent control, voice input, LSP integration.

The execution foundation — terminal UI, patches, permissions, sandboxing, sessions — derives from OpenAI's Apache-2.0 Codex CLI. Elpis adds the context, continuity, memory, retrieval, and provider-control layer around it.


GitHub: https://github.com/MasihMoafi/Elpis

Docs: https://masihmoafi.github.io/Elpis/

Top comments (0)