π A cross-platform CLI for launching multiple Agent CLIs across preconfigured terminal tabs with one command
Alias: ota
- π Cross-platform support β Windows, Linux, and macOS
- π₯οΈ Flexible terminal selection β Choose between
cmdorpowershellon Windows - π Smart directory management β Save directories with optional aliases for quick access
- π€ Agent command registry β Store and reuse your favorite CLI commands (
codex,claude, etc.) - β‘ Interactive launcher β Select multiple directories and commands, launch them all at once
- π Bilingual interface β Switch between English and Chinese with
ota language - π Human-readable config β TOML format stored in your user config directory
cargo install --path .π‘ The project depends only on the Rust standard library, so it works in offline environments.
After installation, the open-terminal-agents binary will be available on your PATH. You can create a shell alias ota manually; future releases will ship the alias through package scripts.
cargo run -- [command] [options]Everything after -- is forwarded to the CLI.
Once published, install globally:
npm install -g open-terminal-agents
open-terminal-agents --helpTo verify locally before publishing:
node scripts/prepare-win-binary.js
cd npm
npm install -g .ota [command] [options]
| Command | Description |
|---|---|
| (none) | Start the interactive launcher: pick directories and Agent commands, then open terminals |
help, -h, --help |
Print the top-level help |
terminal (alias terminal) |
Configure the default terminal shell on Windows |
path |
Manage project directories |
agent-command |
Manage Agent CLI commands |
language |
Switch interface language between English and Chinese |
list |
Display stored configuration |
version, -v, --version |
Show the installed CLI version |
ota path -a, --add <DIR> [ALIAS] # Add a directory with optional alias
ota path -d, --delete [ALIAS|DIR] # Delete by alias/path, or interactive mode if omitted
ota path help # Show helpRules:
- Directories must exist when added
- Each directory can have one alias; aliases are unique (case-insensitive on Windows)
- Duplicate directories are rejected with a friendly message
ota agent-command -a, --add "codex" # Add a command
ota agent-command -d, --delete "codex" # Delete a command
ota agent-command help # Show helpNote: Commands are stored as single strings. Use quotes for multi-word commands.
ota list # Interactive selector
ota list all # Show directories + commands
ota list path # Show directories only
ota list agent-command # Show commands only
ota list help # Show helpRun ota without arguments to start the interactive flow:
- Select directories β Use β/β to move, Space to toggle entries, press
Ato select/deselect all, pressQto exit - Select commands β Same controls (including
Qto exit), choose one or more Agent commands - Launch β The tool opens system terminals and runs every command in every chosen directory
Platform Support:
- Windows: Uses Windows Terminal (
wt). Shows helpful error if not installed. - Linux: Tries
gnome-terminal,konsole,xfce4-terminal,alacritty,xtermwith graceful fallback. - macOS: Uses native Terminal via AppleScript.
The config file uses TOML format and lives in your user home directory at .open-terminal-agents/settings.toml.
| Platform | Path |
|---|---|
| Windows | %USERPROFILE%\.open-terminal-agents\settings.toml |
| macOS / Linux | ~/.open-terminal-agents/settings.toml |
terminal = "cmd"
language = "en"
[[paths]]
path = "C:\\work\\demo"
alias = "demo"
[[paths]]
path = "D:\\lab\\ota"
agent_commands = ["codex", "ccr code"]Supported language values: en (English) and zh (Chinese).
π‘ Tip: Use the CLI commands to manage configuration instead of manual editing.
cargo fmt # Format code
cargo check # Check for errors
cargo test # Run testsUse the Node helper script to build and stage the Windows binary:
node scripts/prepare-win-binary.js # Build + copy to npm/bin/win32
node scripts/prepare-win-binary.js --skip-build # Copy only (after cargo build --release)- Update
npm/package.jsonversion and metadata - Run
node scripts/prepare-win-binary.jsto build and copy the Windows binary - Navigate to
npmdirectory and runnpm publish(ornpm packfor dry run) - Verify with
npm install -g open-terminal-agents
The repository includes a GitHub Actions workflow (.github/workflows/ci.yml) that runs checks on every push.
- Extended terminal integrations (Windows Terminal panes, custom iTerm profiles)
Released under the MIT License.
