> Source: https://www.esfis.com/en · esfis, your projects, your context, your agents. Updated 17 September 2026.

In development. [Early access](https://www.esfis.com/en/early-access)

# Your projects. Your context. Your agents.

Claude Code, Codex, Cursor or any other agent that speaks MCP work from the same decisions, instructions and project knowledge. Each one gets exactly the part that concerns it.

[Request early access](https://www.esfis.com/en/early-access)
[See how it works](#demo)

Works with

- Claude Code

- Codex

- Cursor

- Copilot

- Grok

- Ollama

The problem

## Every agent starts from nothing.

- Claude Code

Makes a call on the API.

- Codex

Knows nothing about it.

- Cursor

Asks you all over again.

- Files

CLAUDE.md, AGENTS.md, .cursor/rules: one per agent.

esfis decides which context each agent gets, and keeps a record of where it came from.

What it looks like

## One decision in Claude. Codex already knows.

Claude picks PostgreSQL for the API. esfis stores it with a date and a source, and the next day Codex has it.

-

**1**Claude decides

Claude Codeopus

› Postgres or Supabase for the API?
● weighing the options…
PostgreSQL: it is already in production
and the migrations are yours.
◆ esfis · save the decision

-

-

**2**esfis stores it

esfis decision

The API runs on PostgreSQL. Supabase ruled out.

spaceproject1

sourceClaude Code

date14 Sep 2026

statuscurrent

-

-

**3**Codex receives it

Codexnext day

› build the users model
◆ context · decision
The API runs on PostgreSQL
Claude Code · 14 Sep
✓ db/migrations/001_users.sql

How it works

## Exactly the context that belongs there.

With a source, an expiry and permissions. Nothing from another project.

- 1

**Agents write to it**

When Claude makes a decision, or you give it an instruction, it saves it to esfis over MCP. Nobody has to open a file.

- 2

**esfis keeps it in order**

Each item carries a type, a space, a source, a date and an expiry. When it stops being true, it stops being delivered.

- 3

**Each agent gets its own**

Codex works in project1, so it gets the context of project1 and your personal context. Nothing from project2 ever reaches it, however much that project also talks about databases.

- 4

**You can see why**

Every delivery is recorded. `esfis --why` tells you what went in, what stayed out and the reason.

Claude Codeopus

› Postgres or Supabase for the API?
PostgreSQL: it is already in production.
◆ esfis · save the decision

decision The API runs on PostgreSQL

esfis ✓ saved to project1

esfis decision

The API runs on PostgreSQL. Supabase ruled out.

- space project1

- source Claude Code

- date 14 Sep 2026

- how stated outright

- valid until superseded

One piece of context, with where it came from and how long it holds.

**Codex** asks for context in **project1**

- decision The API runs on PostgreSQL *project1*

- instruction Endpoints follow /api/v1/resource *project1*

- preference Answer in Catalan *personal*

- technology Project2 runs on MongoDB *project2*

Terminal

$ esfis --why 212
delivery 212 · codex · project1
✓ in The API runs on PostgreSQL
✓ in Endpoints follow /api/v1/resource
✓ in Answer in Catalan
✕ out Project2 runs on MongoDB
another space

Context, not memory

## More than memory. Context.

esfis does not try to remember everything: it gives each agent what it needs to work on this project.

A preference of yours holds everywhere. A client's decision never leaves that client's space.

Already have a CLAUDE.md or an AGENTS.md? They still work: esfis can [write them for you with --compile](https://www.esfis.com/en/docs#compile).

Memory

“I prefer TypeScript.”

True for you, anywhere.

Project context

- technology Next.js and PostgreSQL

- decision Supabase ruled out: the migrations are ours

- instruction Endpoints follow `/api/v1/resource`

True inside **project1**. Decided by Claude Code yesterday.

The app

## A macOS app to run it all.

Projects, agents, terminals and tasks, all around the same context.

What the app gives you

-

### Projects

A folder you already have becomes a project, with a context space of its own.

-

### Agents

Real terminals, several at once, with your `PATH` and your keys.

-

### Tasks

A queue beside the agent. It lives in `.esfis/feina.md`, inside the project.

-

### Activity

Files, Git, sessions and the latest decision in every project.

Local by default

## Your context is yours.

It is stored in `~/.esfis`, on your disk. The MCP server opens no ports.

You decide which agent sees which space, and afterwards you can check what each one received. No account needed.

This Macno open ports

~/.esfis/
├─ memory.db context and spaces
└─ MEMORY.md readable copy

Who can see the **project2** space

- Claude Codehas access

- Codexno

- Cursorno

## No agent should ever start from nothing again.

The esfis app is still in development.

[Request early access](https://www.esfis.com/en/early-access)
