CLI
Owns the first engram command-line client for connecting a developer machine
to an already-running Engram server.
Current command surface:
python -m engram_cli connect --server URL --api-key KEY --project PROJECT
python -m engram_cli doctor
python -m engram_cli hook post-tool-use < hook.json
python -m engram_cli hook session-start < context.json
python -m engram_cli hook error < hook.json
python -m engram_cli hook decision < hook.json
python -m engram_cli hook session-start --response-format codex < hook.json
python -m engram_cli disconnect
The package declares two console scripts in pyproject.toml that share the same
entrypoint: engram (short, for typed commands) and engram-connect (matches the
distribution name, so uvx engram-connect ... works without --from).
Plug-and-play install (engram install)
engram install is the one-command onboarding path for Claude Code, Codex, or
both.
It validates the server, API key, and project scope (same dry-run as connect),
writes local credentials under ~/.engram, installs the selected native
plugin marketplace package, and finishes with a doctor health check.
Run it without cloning the repo via uvx:
uvx engram-connect install --agent both \
--server <URL> --api-key <KEY>
Before the package is published to PyPI, install straight from git or pipx:
uvx --from "git+https://github.com/Barsoomx/engram.git#subdirectory=packages/cli" \
engram install --agent codex --server <URL> --api-key <KEY>
# or:
pipx install engram-connect
engram install --agent codex --server <URL> --api-key <KEY>
--agent accepts claude-code, codex, or both. Claude Code uses
claude plugin marketplace add plus claude plugin install; Codex uses
codex plugin marketplace add --json plus codex plugin add --json. Override
the binaries with --claude-bin and --codex-bin. Pass
--skip-plugin-install to write credentials and run doctor without touching
either harness. The bundled plugin hooks require python3 >= 3.12 on PATH.
Codex users must review the Engram commands in /hooks and start a new thread.
The installer does not bypass native hook trust.
Local state defaults to $ENGRAM_HOME when set, otherwise ~/.engram.
connect writes only Engram-owned config, credential, and hook-manifest files.
doctor is read-only. disconnect removes only Engram-owned files.
Hook commands read one JSON object from stdin, merge the connected project,
team, runtime, and credential metadata, and call the Engram server. By default
they print the server JSON response. Codex response mode prints the Codex hook
response instead.
The CLI must not introduce a persistent local memory service, local database, provider secrets, embeddings, cached memory bundles, durable event queue, or background summarization behavior.
Run tests from the repository root inside the backend container:
docker compose -f deploy/compose/docker-compose.yml run --rm --no-deps \
-v "$PWD:/workspace" -w /workspace \
-v /usr/bin/git:/usr/bin/git:ro \
-v /usr/lib/git-core:/usr/lib/git-core:ro \
-e PYTHONPATH=/workspace/packages/cli --entrypoint python3 api \
-m unittest discover -s packages/cli -p '*_tests.py' -v
Metadata
Release files for engram-connect 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| engram_connect-0.6.1.tar.gz | 81.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| engram_connect-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 171.1 kB
Release files / engram_connect-0.6.1.tar.gz
| Download URL | engram_connect-0.6.1.tar.gz |
|---|---|
| Size | 81.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
967f25cb31cf412efe929933088976c0a72cadab1f23dae35d47961bb0eb93af
|
|
BLAKE2b-256 checksum How to use checksums |
96ae86f0941801c4938b5b0e68ae49e7e954a391fe36ba891360ae4eab863038
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jul 22, 2026.
Transparency logRelease files / engram_connect-0.6.1-py3-none-any.whl
| Download URL | engram_connect-0.6.1-py3-none-any.whl |
|---|---|
| Size | 89.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b427ddbff31a55e6265021d1bc0cf7524a74861a33ce58f4e383681e8145c543
|
|
BLAKE2b-256 checksum How to use checksums |
518fe5eb7049362d4f4efa0ec88d07730410d5e9bede6fea3191c2c9b05b2aaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jul 22, 2026.
Transparency log