| Crates.io | rpai |
| lib.rs | rpai |
| version | 0.1.12 |
| created_at | 2026-01-04 21:48:50.214911+00 |
| updated_at | 2026-01-16 17:43:28.070985+00 |
| description | Tool to make it easier to jump between AI agents in tmux. |
| homepage | |
| repository | https://github.com/radoslav11/rpai |
| max_upload_size | |
| id | 2022545 |
| size | 568,697 |
A tool for managing multiple AI coding agent sessions (opencode, claude, codex, cursor, gemini) in tmux.
cargo install rpai
git clone https://github.com/radoslav11/rpai.git
cd rpai
./install.sh
This builds and installs rpai in one step.
Add this line to your ~/.tmux.conf (or alternative mapping).
bind-key a display-popup -E "rpai"
Then reload tmux:
tmux source ~/.tmux.conf
Now use it:
prefix + a to open rpai in a centered popup.rpai # Interactive TUI (default)
rpai scan # List sessions (non-interactive)
rpai jump <id|name> # Jump to session by ID or name
rpai kill <id> # Terminate a session
rpai theme [name] # Show/set theme
rpai help # Show help
| Key | Action |
|---|---|
j / k / ↑ / ↓ |
Navigate sessions |
Enter |
Jump to selected session |
t |
Cycle through themes |
/ or : |
Enter command mode |
q / Esc / Ctrl-C |
Quit |
| Mouse click | Select session |
| Mouse scroll | Navigate sessions |
/)theme [name] - Switch theme (gruvbox, nord, catppuccin, dracula, tokyo, solarized)themes - List available themesConfig file: ~/.config/rpai/config.json
Example config.json:
{
"theme": "gruvbox",
"idle_threshold": 3.0,
"refresh_ms": 50
}
To use ASCII symbols instead of Unicode (e.g., for terminals with poor Unicode support), set "ascii_symbols": true:
{
"theme": "gruvbox",
"idle_threshold": 3.0,
"refresh_ms": 50,
"ascii_symbols": true
}
Options:
theme - Color theme (default: "gruvbox"). Options: gruvbox, nord, catppuccin, dracula, tokyo, solarized.idle_threshold - CPU percentage threshold below which a process is considered idle/waiting (default: 3.0). LSP servers (pyright, clangd, etc.) are automatically excluded from CPU calculation to avoid false positives from background indexing.refresh_ms - Refresh interval in milliseconds (default: 50). Lower values give smoother updates but use slightly more CPU.ascii_symbols - Use ASCII symbols instead of Unicode (default: false). When true, shows >> for running and || for waiting instead of ▶ and ⏸.MIT