archeus
Formerly claudectl. Everything migrates on first run — settings, memory graphs and per-project state. Nothing is deleted.
The memory and workspace layer for AI coding agents.
Persistent per-project memory, every session you have ever had, and control
over what the next one costs. Works with Claude Code today.
🌐 claudectl.space
·
📖 Full documentation → docs.claudectl.space
Everything below is the short version. Every feature, key binding and file is documented in detail on the docs site.
PyPI ·
Blog ·
FAQ ·
LinkedIn ·
dev.to
Not the Rust archeus. Two independent projects share this name; this one is the Python memory and workspace layer for AI coding agents.
What problem does this solve?
A coding agent is excellent inside a session and forgetful between them. Every
new session starts from nothing, your old sessions are hard to find, and the
only way to give the agent context is a CLAUDE.md that grows until it costs
more than it's worth. That is not a Claude Code problem; it is what every
agent that runs in a terminal has in common.
archeus sits in front of the agent and fixes that. Pick a project, see every session you've ever had in it, and launch with the model, effort, permissions and context you meant. Underneath, it maintains a semantic memory of the codebase and injects only the part relevant to what you just asked.
Claude Code is the agent it drives today. It is a terminal UI and a desktop GUI over the same engine — use whichever you prefer, they do the same things.
Quickstart
pipx install archeus # or: pip install archeus
archeus
There is nothing to build and no dependencies to install. To run it from a checkout instead:
git clone https://github.com/babarmuhammad/archeus.git
cd archeus
python claude-sessions.py # terminal UI
python claude-sessions.py --gui # desktop GUI
Requires Python 3.10+ and the
Claude Code CLI (auto-detected on
PATH or at ~/.local/bin/). No API key — it uses the Claude Code auth you
already have. No third-party packages.
It also ships as a Claude Code plugin, if you'd rather stay inside the session:
/plugin marketplace add babarmuhammad/archeus
/plugin install archeus@archeus
What it looks like
Every session, every project. Search, tag, fork, resume, archive, export — across multiple Claude accounts at once. |
Memory Claude built about your code. Entities, relations and lessons, with the token cost of every block shown before you spend it. |
Where the tokens went. Per day, per project, per account, per model — read from your own transcripts, not an API. |
Claude Code itself, made visible. Which skills and plugins you actually use, what is on disk, and a typed editor for every account's settings. |
The terminal UI is the same tool, keyboard-first:
The architecture graph — every module and its dependencies,
expandable down to single files (Python · C/C++ · C# · JS/TS).
Also: 32 palettes, 8 skins and 4 themed worlds — a skin changes the shape of the app, not just its colours. See them →
Why archeus
- 🧠 Memory, not a memory dump — task-scoped, token-budgeted injection at the launcher: a micro-index always on (≤250 tok), per-module detail loaded only when the agent touches those files, and an optional per-prompt hook that injects just the subgraph relevant to what you asked. It also learns: durable lessons (fixes, decisions, preferences) distilled from transcripts, human-reviewed, injected when relevant, decayed when stale.
- 📦 Workspace, not chats — browse, search, tag, fork, resume and archive every session across every project and account, over an animated dependency graph that opens at the project level and drills down to single files.
- 🩺 It removes the friction you actually hit — pre-launch health checks, context-loss insurance after
/compact, permission-fatigue killer, token-burn advisor, daily usage tracking, and the right subagents suggested per project from local signals. Zero runtime dependencies: pure Python standard library, using the agent auth you already have.
How archeus saves tokens
Without archeus, a big project either starves the agent (no context) or floods it (a huge CLAUDE.md loaded every message). archeus spends the minimum tokens for the maximum relevant context:
- Flat always-on cost — the CLAUDE.md block is a ≤250-token index, not a full dump; it does not grow as the codebase grows.
- On-demand detail — per-module knowledge lives in path-scoped
.claude/rules/, so nothing is paid for until it's relevant. - Task-scoped injection — the optional prompt hook injects only the subgraph your prompt actually needs (budgeted, default ≤600 tok).
- No stale weight — superseded facts are invalidated, dead entities evicted.
- Cheaper model for the grunt work — Plan→Execute runs the expensive model once for the plan and a cheap (or free) one for execution.
Where this is going
A long-term goal, not a feature list, and none of it ships today: provider-neutral memory, then an open harness of its own. Claude Code is the first surface, not the boundary. What works right now is exactly what is claimed above — everything runs against the files Claude Code writes to disk.
Documentation
The full manual lives at docs.claudectl.space.
| Getting started | what it is, the three surfaces, where to go next |
| Installation | pipx, pip, checkout, plugin, GUI window, Windows shortcuts |
| Quickstart | install to first session in five minutes |
| Command line | every command, for scripts and hooks |
| Terminal UI | every screen and every key binding |
| Desktop app | the same workspace as a local app, plus the theme system |
| Configuration | every file archeus reads and writes, and where |
| Project memory | the three injection surfaces, lessons, recall |
| Architecture graph | the interactive dependency view |
| Usage & cost | measuring and cutting the per-turn cost |
| API reference | the local HTTP API the GUI is built on |
| Troubleshooting | when something does not work |
Product pages — Features · Compare · FAQ · Download · Changelog — are on claudectl.space.
Credits
archeus is built on ideas from the wider Claude Code ecosystem — cognee and Aider's
repo-map behind the memory graph, Anthropic's code-review plugin behind archeus review,
claude-mem behind recent-work memory, OmniRoute behind free execution, and VoltAgent's
subagent catalog behind the agent library. Every one is credited, with links, on the Credits page.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file archeus-2.1.0.tar.gz.
File metadata
- Download URL: archeus-2.1.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dcbf1cbcdb0471cb9c3004b139a1266789d96dcfdee08bbe1cf7a7ba4a22234
|
|
| MD5 |
3ff209f93faf02a156456a27f58aaf83
|
|
| BLAKE2b-256 |
db586937c7ecc4b1e59f1df01a9af6e4f378defd2b7a3119cd3cb56db3bcec43
|
Provenance
The following attestation bundles were made for archeus-2.1.0.tar.gz:
Publisher:
release.yml on babarmuhammad/archeus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
archeus-2.1.0.tar.gz -
Subject digest:
7dcbf1cbcdb0471cb9c3004b139a1266789d96dcfdee08bbe1cf7a7ba4a22234 - Sigstore transparency entry: 2772971528
- Sigstore integration time:
-
Permalink:
babarmuhammad/archeus@f471d8f1d2746af5f77c3d1dd159a96c87e78c29 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/babarmuhammad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f471d8f1d2746af5f77c3d1dd159a96c87e78c29 -
Trigger Event:
push
-
Statement type:
File details
Details for the file archeus-2.1.0-py3-none-any.whl.
File metadata
- Download URL: archeus-2.1.0-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e5db6d4f3682e3a53c3f7749fd18a6731b7442e134805a8cbb6ebfd6f7d7983
|
|
| MD5 |
09e11d075215bd040cd81c68a7a748fa
|
|
| BLAKE2b-256 |
c998f5b461d2533bbd31e6058141996d25647fa82babe53401f849cabd30f468
|
Provenance
The following attestation bundles were made for archeus-2.1.0-py3-none-any.whl:
Publisher:
release.yml on babarmuhammad/archeus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
archeus-2.1.0-py3-none-any.whl -
Subject digest:
1e5db6d4f3682e3a53c3f7749fd18a6731b7442e134805a8cbb6ebfd6f7d7983 - Sigstore transparency entry: 2772971565
- Sigstore integration time:
-
Permalink:
babarmuhammad/archeus@f471d8f1d2746af5f77c3d1dd159a96c87e78c29 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/babarmuhammad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f471d8f1d2746af5f77c3d1dd159a96c87e78c29 -
Trigger Event:
push
-
Statement type: