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

# Changelog

> Everything that has shipped in esfis: the engine, the MCP server, the command line and the app.

## esfis 1.8 · spaces in the window, deliveries and a source for every item

Context · 15 September 2026 · v1.8.0

Settings has a **Spaces** tab: you choose which agent sees which space and look at what each one received, without opening a terminal. And every item an agent stores carries that agent's name as its source, so that the next day another agent knows who decided it. [How it works](/en#how-it-works).

**New**

- **Who sees which space.** For every space, and for personal context, each AI is set to “Has access”, “No” or whatever the general rule says. It is the same thing as `esfis --allow` and `--deny`.
- **Deliveries.** The last fifty `recall` calls over MCP, with the agent, the space and the question. One click and out comes the `esfis --why` explanation.
- **The source is the agent.** `remember` stores whoever called it (`Claude Code`, `Codex`, `Cursor`…) even when the client does not say so, and `recall` returns it with every item.

**Details**

- `esfis --why` and the Test tab name what another space or a policy kept out and would have answered the question. The rest is still counted. It is scored while the explanation is being produced: the delivery itself never saw it.
- Copilot is one more family in the policies (`esfis --deny copilot acme`).

---

## esfis 1.7 · activity, a space per folder and Codex in Settings

App · 15 September 2026 · v1.7.0

Home has an **Activity** section: one row per project, from the one you touched most recently to the one you have left alone longest, with what you need in order to go back to it. And adding a folder now creates its space too, so that a project's context stays in the project from the first minute. [How it works](/en#app).

**New**

- **Activity**, per project: files, when the last change was made, the Git branch, the open agents, the context items and decisions in its space, the sessions of the last 30 days and which agents ran them, the open tasks, the latest decision and where you left off.
- **One folder, one space.** Adding a folder — and opening esfis for the ones already there — creates the project's space with that path. A space that already contains it, or that already has that name, is left alone.
- **Goals and technologies** are context types now, alongside decisions and instructions. MCP accepts them and `esfis --compile` writes them into `CLAUDE.md` or `AGENTS.md`.
- **Codex** in Settings › Connect your AI: `codex mcp add esfis -- ~/.esfis/bin/esfis --mcp`, and the Check button looks at `~/.codex/config.toml`.
- **Tasks:** `⌥`-click leaves the task typed in the terminal without pressing Return, and every task remembers which agent you sent it to.

**Details**

- Activity is read in the background and without subprocesses: `.git`'s `HEAD`, `.esfis/feina.md` and the logs Claude Code, Codex and Grok already leave on disk. Folders like `node_modules` and `.build` are not counted.
- Who a task was sent to goes in a comment at the end of its line in `feina.md`, so the list is still ordinary Markdown.

---

## Resizable tasks beside every agent

App · 15 September 2026 · v1.6.1

The to-do list is now called **Tasks** and it sits beside the agent that can deal with it. You can send it a task with one click, or tick it off when it is done, without losing your place in the terminal.

**Details**

- The divider between the terminal and Tasks keeps the agent's colour, whether the panel is beside it or below it.
- The divider is the native macOS control: it drags continuously, shows the resize cursor and respects a minimum useful size for both the terminal and the list.
- Tasks are still stored inside the project, in `.esfis/feina.md`, so the lists you already had stay available. New files get the heading `Tasques`.
- The usage panel only refreshes the logs while the Agents section is visible and esfis is in the foreground; removing a project from the list also frees its task cache.

---

## The agents, inside esfis

App · 14 September 2026 · v1.6.0

The agent orchestrator is now a section of esfis. Claude Code, Codex, Copilot, Grok and Ollama each run in their own terminal, in a mosaic that splits like tmux, next to the memory they use. [How it works](/en#app).

```sh
esfis --usage --days 14
esfis agents --help
```

**Details**

- The window fits in a quarter-screen column. Below 760 points, the section, the folder and the sessions move up into the title-bar row and the terminals take the full width. `⌃⌥⌘←` and `⌃⌥⌘→` park it on one side.
- Changing section stops no agent, and neither does closing the window. Quitting esfis does, and it asks first.
- Sections are selected with `⌃⌘1` … `⌃⌘4`; `⌘1` … `⌘9` jump to the panes.
- The terminals run in the esfis colours: dark paper, light ink and a clay cursor.
- The first time round, esfis carries over the orchestrator's settings: folders, providers, models, notifications and where you had the window.
- Agent settings are one more tab in Settings (`⌘,`).

---

## Spaces, policies and a compiled CLAUDE.md

Context · 14 September 2026 · v1.5.0

Every project or client now has its own space, and what is inside it stays inside. You decide which AI sees which space, you can check what each one received, and esfis can write your `CLAUDE.md` or `AGENTS.md` for you.

```sh
esfis --space-add acme --kind client --path ~/Clients/acme
esfis --deny chatgpt acme
esfis --why 212
esfis --compile agents --space esfis
```

**Details**

- The space is checked before anything is searched: an item belonging to another client is never even scored, however much it looks like the question. An assistant's space comes from the folder it works in.
- Policies win by specificity: this AI in this space, this AI everywhere, everyone in this space, everyone. An agent that cannot see a space cannot write to it either.
- Every `recall` over MCP leaves a delivery behind with what went in, what stayed out and the reason. `esfis --why` explains it, and the Test tab shows it once you pick the assistant and the space.
- `--compile` writes only what is active, current, stated outright and permitted, inside a marked block. Personal context stays out unless you ask for it, and `--import-instructions` is the way back.
- `valid_until` (over MCP) or `--until` (from the terminal) stops an item being delivered the day after that date.
- `MEMORY.md` carries personal context only, because every project reads it.

---

## esfis --import brings in the memory you have already written

CLI · 12 September 2026 · v1.1.0

Assistants already store facts in files: one `.md` per fact, with frontmatter, inside `~/.claude/projects/<project>/memory/`. Good items, but locked into the project they were written in.

```sh
esfis --import                       # ~/.claude/projects
esfis --import ~/notes ~/other/mem   # or whichever folders you name
```

It takes every `.md` with a `description:` in its frontmatter and stores it; `MEMORY.md` files, which are indexes, are skipped. A `type: feedback` comes in as an instruction and the rest as facts.

**Details**

- Every item remembers which file it came from (`source: md:<name>`): running it again duplicates nothing, and an edited file supersedes the old version instead of being added alongside it.
- From an instruction, the `description` sentence is what gets stored, because it travels with every `recall`. From a fact, the whole body.
- The vector always comes from the `description`: sentence embeddings blur out over a long text, and the body already carries weight on the lexical half.

---

## esfis 1.0

App · 8 September 2026 · v1.0.0

The first stable version. The macOS app, the command line and the MCP server are the same binary: `./build-app.sh` produces `Esfis.app` and leaves `~/.esfis/bin/esfis` behind, which is what the assistants call.

**New**

- One window and three tabs: **Watch** (paste in a conversation and the model pulls the items out of it), **Remember** (look at what it knows about you, and delete it) and settings, with the API key in the keychain.
- Commands: `--recall`, `--add`, `--list` and `--mcp`.

**Not yet**

- Sync between devices: the store does not leave the machine.
- Linux and Windows: the vectors come from the models macOS ships with.
