uac-chat — terminal chat for Claude Code and Codex
A full-screen terminal front end for talking to both agents over your shared
uac memory and skills — switch between Claude and Codex without leaving the
window.
This is a separate app from the VS Code extension, on purpose: pick whichever
front end you like. The two share only the uac core (memory, skills, hooks) —
never each other's code, and never a second copy of your memory store.
No API key. Every model call happens inside the official CLI under your own subscription login.
Install
uv tool install --editable ./cli --with-editable .
(The --with-editable . makes the local uac core resolvable, since it isn't on
PyPI.) Then, in a project you've run uac init in:
uac-chat # start with Claude Code
uac-chat --agent codex # start with Codex
Keys
| Key | |
|---|---|
Enter |
send |
Ctrl+T |
switch agent (Claude ⇄ Codex) |
Ctrl+G |
model |
Ctrl+E |
effort |
Ctrl+P |
mode (permissions / sandbox) |
Ctrl+B |
toggle the shared-memory panel |
Ctrl+C |
stop the running turn — or quit when idle |
/ |
skills and slash commands (your project skills work on both agents) |
@ |
mention a file by path |
The controls bar shows the current agent, model, effort and mode. A setting you
change lights up; the effort dots follow the model you pick (Codex's scales
differ per model — ultra is Terra-only).
How it works
Each turn is forwarded to claude -p … / codex exec … as a subprocess; the
streamed events are rendered as they arrive. The agent's working (reads,
searches, commands, edits) collects into a collapsible group that folds away once
the answer lands, so the reply stands on its own.
Project skills reach both agents: Claude has them natively; for Codex, /skill
is rewritten into a skill_load call over MCP.
Develop
cd cli
pytest # driver + headless app tests (no real agent, no quota)
The driver is this app's own copy — a deliberate sibling of the extension's
driver.ts. A change to how an agent is driven or parsed belongs in both.
Metadata
Release files for uac-tui 0.1.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 | Provenance | |
|---|---|---|---|---|
| uac_tui-0.1.1.tar.gz | 17.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uac_tui-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.0 kB
Release files / uac_tui-0.1.1.tar.gz
| Download URL | uac_tui-0.1.1.tar.gz |
|---|---|
| Size | 17.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31f4f74515ee23080f7d8130342be0f7a7b177c9b67d39f3351acd60e2df8f57
|
|
BLAKE2b-256 checksum How to use checksums |
f1b4fb53b242ccc3d263738515a225915c079bcf9f62bec2276c14a462f56e62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / uac_tui-0.1.1-py3-none-any.whl
| Download URL | uac_tui-0.1.1-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
70973b40e099f77da79ce70d7ba4d863a6239d66b084e37c2fec02e37b21fb86
|
|
BLAKE2b-256 checksum How to use checksums |
ada6bc3e4424e78e259e07ac0bdd45230c95f437dfba3d92d47393947bdeacba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for uac-tui 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.