Skip to main content

Multi-user wrapper for managing terminal AI coding agent sessions (claude, codex, cursor)

Project description

uxon

PyPI CI License: MIT Python 3.11+ Platform: Linux

Session manager for development teams using terminal AI coding agents (Claude Code, Codex, Cursor CLI) on one or more Linux servers. Team visibility via OS accounts, cross-host visibility via SSH, supervision via sudoers.

When to use uxon

Use uxon when terminal AI coding agents are a runtime someone else may need to see, attach to, or stop. Four shapes of deployment, one tool:

  • One developer, one host. Persistent TUI over tmux; agents optionally sandboxed in a low-priv <user>_agent account so a yolo run can't trash your $HOME.
  • One developer, several hosts. Aggregate everything into one TUI with a HOST column; locals first, then peers grouped by host.
  • A team sharing one host. Each developer runs as their paired <user>_agent. The lead's TUI sees everyone via sudo. Cross-user supervision without impersonation — the lead never becomes the developer.
  • A team across several hosts. Same supervision property per host; per-peer authority (each host's sudoers is the authority on that host); cross-host audit correlation via UUID correlation_id joining caller-side and peer-side events.

There is no daemon, no database, no central control plane. Each host stays independently configured and independently authorised.

Install

Requires Python 3.11+, tmux, and Linux.

# Team / shared host (recommended): one root-owned binary in
# /usr/local/bin/uxon. Operator owns the version and the install
# path; launch users can append audit events but cannot edit
# the binary or the trail.
sudo pipx install --global uxon

# Solo / single-owner: each OS user manages their own copy.
uv tool install uxon              # or:  pipx install uxon

uxon                              # launch the TUI; it self-diagnoses

For the bundled installer, PEP 668 caveat, and unreleased-from- main builds, see docs/start/install.md.

Documentation

The site at docs/ is organised two ways. Pick the entry that matches what you have in mind.

By scenario:

By task (Diátaxis layout):

  • docs/start/ — tutorials (install, bootstrap a host, add a peer).
  • docs/guides/ — how-to recipes (operate, harden, customise, debug).
  • docs/reference/ — every command, every flag, every config key, every audit event.
  • docs/explain/ — the model (isolation, supervision, multi-host, audit channel).

Top-level pointers:

Quick TUI tour

uxon (no args, on a TTY) opens a full-screen picker:

  • New session in current folder — start the default agent in $PWD.
  • Create new project — prompt for a name, create <new_project_root>/<name>, optionally create a GitHub repo, launch the agent.
  • Open existing project — pick a directory under new_project_root and launch.

Below that: a single sortable session dashboard mounting your own sessions, other-user sessions visible via sudo (when the superuser block is active), and one row per session on each configured [[remote_hosts]] peer. Per-row data: agent, working dir, live CPU / RAM, attached marker, creation time, last activity time. Enter attaches; d kills with confirmation.

Every launch asks whether to start in normal mode or with --dangerously-skip-permissions ("yolo") — the TUI does not start yolo without that explicit choice.

Full keybinding list: docs/reference/keybindings.md.

Supported agents

Agent id Binary --auto mode --dsp (yolo) Install
claude claude --permission-mode auto --dangerously-skip-permissions Anthropic docs
codex codex --full-auto --dangerously-bypass-approvals-and-sandbox npm i -g @openai/codex
cursor cursor-agent (not supported) --yolo curl https://cursor.com/install -fsSL | bash

Enable agents in config/config.toml:

[agents]
enabled = ["claude", "codex"]
default = "claude"

-w <branch> (worktree) is currently claude-only. --auto is unavailable for cursor.

uxon doctor probes each enabled agent and prints its path, version, and status. The TUI auto-detects newly-installed agents and offers a one-keypress enable.

Versioning

uxon follows SemVer. uxon --version prints the version and short git commit (with -dirty when the checkout has uncommitted changes).

In a team·N fleet, all peers must run the same major version — see docs/guides/operate/roll-fleet-upgrade.md.

License

MIT © 2026 Vasily Zakharov.

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

uxon-3.3.0.tar.gz (459.7 kB view details)

Uploaded Source

Built Distribution

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

uxon-3.3.0-py3-none-any.whl (217.5 kB view details)

Uploaded Python 3

File details

Details for the file uxon-3.3.0.tar.gz.

File metadata

  • Download URL: uxon-3.3.0.tar.gz
  • Upload date:
  • Size: 459.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for uxon-3.3.0.tar.gz
Algorithm Hash digest
SHA256 35439e3f8c3649dfa83f6ec5f7fe01cb427a8f67fc77d47aac931d8966d5f882
MD5 d9c1915dce5e567f78fc71dd3cdf905d
BLAKE2b-256 5a2c0d4dd0a6f0deb127d06c673491499c29f6d3b61d2f894d3ae753d0bdf26d

See more details on using hashes here.

Provenance

The following attestation bundles were made for uxon-3.3.0.tar.gz:

Publisher: release.yml on vzd3v/uxon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uxon-3.3.0-py3-none-any.whl.

File metadata

  • Download URL: uxon-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 217.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for uxon-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d7d5ff3f6e810aff6e90dd346352fe2de42af73aaac94e640983acf25675c6b
MD5 46b51cad71474a3d8cbad700068a312f
BLAKE2b-256 38723d05a870123186719c23074cf53aae322777b4f8c8b85b4ea2a27ee204cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for uxon-3.3.0-py3-none-any.whl:

Publisher: release.yml on vzd3v/uxon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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