Nexus
Permanent memory and search by meaning for Claude. Nexus runs on your computer. You need no API key, no account, and no separate database install. What Claude learns in one session is there in the next.
The package on PyPI is conexus. The command it installs is nx. The full install guide, with a version for each way of using Claude, is at hellblazer.github.io/nexus. The commands below are the same ones.
Before you start
| Need | Why | Check |
|---|---|---|
| Python 3.12 or 3.13 | Python 3.14 does not work yet. If needed, uv downloads 3.13 for you. | python3 --version |
| uv | Installs and runs the nx command. |
uv --version |
| git | Nexus reads git information when it indexes a repository. | git --version |
| Node.js with npm | Required for the Claude Code plugin. Without it the plugin installs but its tools never appear, with no error message. | node --version |
| About 600 MB, a few minutes | The first run downloads the service program, a database, and the search model. |
Install
Run the steps in this order. Each step can be run again without harm.
1. Install the nx command. The second command moves it to the layout that Nexus manages.
uv tool install conexus
nx self install
If the terminal cannot find nx afterward, add ~/.local/bin to your PATH and open a new terminal.
2. Set up the storage service. This downloads the service program, the database, and the search model, starts the service, and asks whether it should start at login. Answer yes.
nx init
nx init --yes answers for you. nx init --no-autostart skips the login item.
3. Check the install.
nx doctor
Every line must show ✓. One line may say "credentials not set". That is normal for a local install.
4. Add the Claude Code plugin. Check node --version first. Then start claude and type these two commands inside Claude Code, not in the terminal:
/plugin marketplace add Hellblazer/nexus
/plugin install conexus@nexus-plugins
Then run /conexus:nx-preflight. It checks that everything the plugin needs is present. The plugin uses the nx command from step 1, which is why step 1 comes first.
5. Index a repository and search it.
cd your-project
nx index repo .
nx search "how does retry work"
Indexing the same repository again skips files that did not change. For a large repository, add --monitor to see progress per file.
Claude Desktop without Claude Code: do steps 1 to 3, then download conexus.mcpb from the latest release and double-click it. Claude Desktop adds it under Settings, Connectors, as "Conexus". If you already use the plugin in Claude Code, do not add the extension as well; Claude Desktop already sees the plugin's tools.
Update
Two commands. Always run both.
nx self install # install the new version next to the current one
nx upgrade # update the service, the data, and the plugins
Do not update with uv tool install conexus or with --force. That removes the local search model, and search then returns nothing. If that happened, nx self install repairs it.
Remove
nx uninstall # preview, changes nothing
nx uninstall --yes --remove-data # stop the service, remove autostart, delete the data
uv tool uninstall conexus
rm -rf ~/.local/share/nexus
The full sequence, including exporting your knowledge first and removing the Claude integration, is on the site under Remove Nexus completely.
Problems
| Symptom | Do this |
|---|---|
nx: command not found |
Add ~/.local/bin to your PATH and open a new terminal. If PATH is right, run nx self install. |
| Crash on startup, or an import error naming voyageai or Pydantic v1 | You are on Python 3.14. Run uv python install 3.13, then uv tool install conexus --force --python 3.13, then nx self install. |
nx doctor says credentials not set |
Normal for a local install. Only the cloud service needs a token. |
nx search returns nothing |
Run nx doctor. If the index was interrupted, run nx index repo . again. If you updated with uv tool install, see Update above. |
| Plugin installed but its tools never appear | The nx command or Node.js is missing. Run /conexus:nx-preflight; it says which. |
| Nothing above helps | Paste the recovery runbook as the first message of a Claude Code session. It checks the install step by step and asks before changing any data. |
What you installed
One service on your computer: Postgres 17 with pgvector, holding three stores. Scratch lasts one session. Memory holds project facts. Knowledge holds everything you index: code, documents, PDFs, and the decisions you record. The search model runs locally, so your data does not leave the machine.
Once a day the MCP server sends one anonymous message with six values: a random install id, the conexus version, the install mode, operating system, CPU type, and Python version. No hostname, paths, collection names, or content. nx telemetry off stops it; nx telemetry status shows the setting.
Learn
- Getting started: eleven lessons, all done inside Claude Code.
- Working with RDRs: record a decision before you build, in eight lessons.
- Research with Nexus: what you say to Claude at each step of research work, and what you see.
- Research in Nexus: the thinking behind the method, what was borrowed from experimental science and what was left out.
- The Nexus Tuple Space: how sessions, agents, and hooks coordinate.
- CLI reference, architecture, storage tiers, and the docs tree.
- Managed service, for a hosted deployment with server-side embeddings.
License
Nexus, the nx command, and the plugin are free to use. The license covers the Nexus code only. Everything you make with it is yours: the repositories you index, the notes and memory Claude keeps, the documents you store, the RDRs you write, and anything Claude produces in a session are not covered by this license and carry no obligation from it.
The code is AGPL-3.0-or-later (LICENSE). That matters only if you modify Nexus itself and offer the modified version to others. Commercial licenses are available for organizations that need other terms; see LICENSING.md.
Release files for conexus 7.45.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| conexus-7.45.0.tar.gz | 5.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| conexus-7.45.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.0 MB
Release files / conexus-7.45.0.tar.gz
| Download URL | conexus-7.45.0.tar.gz |
|---|---|
| Size | 5.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23ea884328b87ced318a44b6c144f336d9fe166cdfbab09ff9884545e1302485
|
|
BLAKE2b-256 checksum How to use checksums |
a784dde81df9988c1bd20f5fcd19d037323a25fe12a2a3734bad3b13efd3d1fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / conexus-7.45.0-py3-none-any.whl
| Download URL | conexus-7.45.0-py3-none-any.whl |
|---|---|
| Size | 3.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8fc79d97849f70888bdcd8a271bccc21f6889fb88c780e18c6dcd1fae9dad3c7
|
|
BLAKE2b-256 checksum How to use checksums |
5a1b9498ba6d3e75a69951c8b1ff75e4620c8a2a393c8dc7a4355ae71bb65a0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log