Skip to main content

Full-screen terminal chat for Claude Code and Codex over one shared memory layer.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uac_tui-0.1.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uac_tui-0.1.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file uac_tui-0.1.0.tar.gz.

File metadata

  • Download URL: uac_tui-0.1.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for uac_tui-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f8ba558289dc57293afb749c57868d7ae6de9423efaf0bafde2cbd77f3ea7ccd
MD5 594221509e8aa003598d325efde35a34
BLAKE2b-256 ecff0483556bbb5afa8d19a38bfab0708df642a9d2a54db415c6ab359e7141e9

See more details on using hashes here.

File details

Details for the file uac_tui-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: uac_tui-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for uac_tui-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33d08279f5d0963efb1d41e24aba38dfae62925378ec0e09f3a429cb6a58b065
MD5 d25c7e07b5220b70edcff2d50faf482b
BLAKE2b-256 fa8c79584fae78b8d76093925bb3da00dc3d0a5cb6724c942dca23b459043497

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page