Skip to main content

Moxi

Moxi is a harness for running many AI coding-agent sessions as one system. Popular agent CLIs such as Claude Code and Codex add little structure around a session. Moxi adds some, and it makes opinionated choices to do it: agents have names and identities, sessions message each other, and a clock tracks when a session's prompt cache goes cold. These choices won't suit everyone.

Moxi is built as modules that plug together. A module installs with the modules it requires and nothing more; the rest are optional, and a feature that needs a missing module is off and quiet.

Modules

module what it does requires optional repo
moxi The core: names, paths, one config file per module, module discovery, the module contract check, and the moxi command nothing (standard library only) moxihq/moxi
sessions Where a harness keeps a session's record, and how its lines read moxi moxihq/sessions
turns The one interface to a harness's session: a turn, mail, /clear and /exit in, session events out. A library with no command of its own moxi codex: the Codex host moxihq/turns
cache The prompt cache clock: when a session's cache goes cold, with a watcher and a status line segment moxi, sessions moxihq/cache
comms Messages between agent sessions on one machine, delivered into the recipient's session at the end of its current turn moxi, turns cache: hold a send while the recipient's cache is cold; codex: Codex sessions moxihq/comms

The moxi command

Every module runs as moxi <module> <verb>, for example moxi comms send. The core's own commands:

  • moxi modules lists the modules this environment holds, their state and their extras.
  • moxi install <module> installs a module with the modules it requires, runs its setup, and offers each optional extra with a line saying what it enables. --with, --without, --all and --none answer ahead.
  • moxi shortcut <module> puts a bare <module> command on PATH. It is off by default and refused when the name is already taken; --remove takes it off.
  • moxi config <module> shows a module's settings and its config file.
  • moxi check checks a module repo against the module contract.

Install

Linux, Python 3.11 or later, and uv.

uv tool install moxi
moxi install comms

A plain uv tool install moxi-comms also works and puts moxi on PATH, but runs no setup; moxi install turns then installs turns' Claude Code plugin.

Before the modules are on PyPI

Install the core from git, then give moxi install one --from for each Moxi distribution the module needs that the environment lacks, in dependency order: moxi, moxi-sessions, moxi-turns, moxi-cache, moxi-comms. One left out is looked for on PyPI and the install fails. For comms:

uv tool install git+https://github.com/moxihq/moxi
moxi install comms --none \
  --from 'moxi-turns @ git+https://github.com/moxihq/turns' \
  --from 'moxi-comms @ git+https://github.com/moxihq/comms'

comms with its cache extra needs cache and sessions too:

uv tool install git+https://github.com/moxihq/moxi
moxi install comms --with cache \
  --from 'moxi-sessions @ git+https://github.com/moxihq/sessions' \
  --from 'moxi-turns @ git+https://github.com/moxihq/turns' \
  --from 'moxi-cache @ git+https://github.com/moxihq/cache' \
  --from 'moxi-comms @ git+https://github.com/moxihq/comms'

Troubleshooting

moxi is gone after removing a module. Every Moxi distribution provides the moxi command, so removing one from an environment can take moxi with it while other modules remain. Reinstall the tool (its name is in uv tool list):

uv tool install <tool> --reinstall-package <tool>

In a plain virtual environment, reinstalling any Moxi module brings moxi back.

A shortcut fails with moxi: not found. Its environment was removed. Delete the shortcut file, or reinstall.

License

MIT. See LICENSE.

Metadata

Release files for moxi 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moxi 0.1.1
File Size Uploaded Provenance
moxi-0.1.1.tar.gz 73.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for moxi 0.1.1
File Interpreter ABI Platform
moxi-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 123.0 kB

Release files / moxi-0.1.1.tar.gz

Download URL moxi-0.1.1.tar.gz
Size 73.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8e7f0db7e6c2a3ce5e9f6f814203101fe0cbe78688fa58c9ca24fcfce63399a4
BLAKE2b-256 checksum
How to use checksums
615e80df534dd0265587c07ad7a3e7e36d7a19142cc037a9cfe93e622fa25881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / moxi-0.1.1-py3-none-any.whl

Download URL moxi-0.1.1-py3-none-any.whl
Size 49.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b37307c2553bc3993ed301aa5d2aaefeed0ecdf8f378b8b0298acc6a3e0a570
BLAKE2b-256 checksum
How to use checksums
5b4b09007dc7a571b9ed870a2bbe7186ada056eaf3406823610c11d6fd727ef4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for moxi 0.1.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page