Skip to main content

Typer-based CLI for tmux-backed Codex orchestration sessions

Project description

中文 · Install Guide

tmux-orche

tmux-backed Codex orchestration for OpenClaw fire-and-forget workflows.

tmux-orche lets OpenClaw hand work to Codex, return immediately, and continue later through the same persistent tmux session. That keeps OpenClaw from burning tokens while Codex works in the background.

OpenClaw Workflow

  1. OpenClaw creates or reuses a Codex session with orche session-new.
  2. OpenClaw sends the task with orche send.
  3. orche returns immediately.
  4. Codex keeps running in tmux.
  5. When notify arrives, OpenClaw or another agent inspects the same session with status, read, or history.
  6. The session stays available until it is explicitly closed.

Quick Start

Create or reuse a session:

orche session-new \
  --cwd /path/to/repo \
  --agent codex \
  --name repo-codex-main \
  --discord-channel-id 123456789012345678

Send work and return immediately:

orche send --session repo-codex-main "analyze the failing tests and propose a fix"

Inspect the same session later:

orche status --session repo-codex-main
orche read --session repo-codex-main --lines 120
orche history --session repo-codex-main --limit 20

Close it when done:

orche close --session repo-codex-main

Installation

Full step-by-step install guide: https://github.com/parkgogogo/tmux-orche/raw/main/install.md

Install from PyPI:

pip install tmux-orche

Install with uv:

uv tool install tmux-orche

Install from source:

git clone https://github.com/parkgogogo/orche
cd orche
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install .

Commands

  • orche session-new --cwd /repo --agent codex --name repo-codex-main --discord-channel-id 123456789012345678 Create or reuse a persistent Codex tmux session.
  • orche send --session repo-codex-main "review the recent auth changes" Send a task into an existing session and return immediately.
  • orche status --session repo-codex-main Check whether the session and Codex process are still running.
  • orche read --session repo-codex-main --lines 80 Read recent terminal output from the live session.
  • orche type --session repo-codex-main --text "yes" Type text into the live Codex session without pressing Enter.
  • orche keys --session repo-codex-main --key Enter Send one or more key presses to the live Codex session.
  • orche history --session repo-codex-main --limit 20 Show recent local control actions for that session.
  • orche sessions list Show stored sessions from local metadata.
  • orche sessions clearall Close and remove all stored sessions.
  • orche close --session repo-codex-main Close the session when the work is finished.
  • orche config list Show current runtime configuration.

Interactive Input

Use type and keys when Codex is waiting on an interactive prompt inside the tmux session.

Read the latest output first:

orche read --session repo-codex-main --lines 40

Type text without submitting it:

orche type --session repo-codex-main --text "yes"

Then send Enter:

orche keys --session repo-codex-main --key Enter

This is useful for prompts such as trust confirmations, shell confirmations, or any other step where Codex is paused waiting for input.

You can also send multiple keys in one command:

orche keys --session repo-codex-main --key Down --key Down --key Enter

Config

Manage runtime settings:

orche config list
orche config get discord.channel-id
orche config set discord.channel-id 123456789012345678
orche config set discord.bot-token "$BOT_TOKEN"
orche config set discord.mention-user-id 123456789012345678
orche config set notify.enabled true

Config file:

~/.config/orche/config.json

State directory:

~/.local/share/orche/

Troubleshooting

Cancel a stuck turn

If Codex is stuck, running in the wrong direction, or needs to be stopped without losing the session:

orche cancel --session repo-codex-main

This interrupts the current Codex turn but keeps the session alive, allowing you to read output and send a corrected task.

Compare with close:

  • cancel: Interrupt current turn, keep session (for stuck or still-running tasks)
  • close: End entire session (for completed or abandoned tasks)

Prerequisites

  • tmux
  • tmux-bridge
  • codex CLI
  • Python 3.9+

License

MIT

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

tmux_orche-0.3.5.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

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

tmux_orche-0.3.5-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file tmux_orche-0.3.5.tar.gz.

File metadata

  • Download URL: tmux_orche-0.3.5.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tmux_orche-0.3.5.tar.gz
Algorithm Hash digest
SHA256 4291cef3feb7afad0667e91b2f47b9644750e65046f56cb2549034f4d35b2c90
MD5 10dbad75dac0edaf1690b1f9e711b6fb
BLAKE2b-256 618b6a8f48b3c5ae38aac1cc9cfab8d3bac9cc0c5a76a3d4f8ec3d8f6b4c8d10

See more details on using hashes here.

Provenance

The following attestation bundles were made for tmux_orche-0.3.5.tar.gz:

Publisher: publish.yml on parkgogogo/tmux-orche

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

File details

Details for the file tmux_orche-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: tmux_orche-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tmux_orche-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 44b4c517b37716e85fbfb099a85eb8c65ea2d43bebcf7581fe5cac89b5138737
MD5 e809b88230aab133f0343a628e79eae1
BLAKE2b-256 2a1f1f81e224eb250a3ebbc7ed8ff20c9e413df733dd5b545efa8b22f7910da3

See more details on using hashes here.

Provenance

The following attestation bundles were made for tmux_orche-0.3.5-py3-none-any.whl:

Publisher: publish.yml on parkgogogo/tmux-orche

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