mi6-cli 0.2.5

CLI interface for mi6
Documentation
# mi6

Tool for monitoring and managing coding agents

Features:
- **Informative**: monitor 40+ live [metrics]#metrics per session
- **Versatile**: monitors any workflow, can be used alongside other tools
- **Customizable**: choose the columns, sorting, filtering, theming
- **Fast**: instant startup, low input latency, consumes little CPU / RAM
- **Compatible**: supports Claude Code and [many other tools]#compatibility
- **Controllable**: intuitive + efficient [keyboard shortcuts]#keyboard-shortcuts
- **QoL**: many small things

`mi6` makes it easy to monitor and manage many agentic sessions in parallel:
- double-click a session to change window focus to that session
- can see which sessions are 1. waiting on user input 2. working 3. idle
- shortcuts for focus, kill, open in terminal, go to issue/pr in github

## Table of Contents
1. [Installation]#installation
2. [Usage]#usage
    1. [Metrics]#metrics
    2. [Keyboard Shortcuts]#keyboard-shortcuts
    3. [Query Data Programmatically]#query-data-programmatically
3. [Compatibility]#compatibility
    1. [Framework Compatibility]#framework-compatibility
    2. [Multiplexer Compatibility]#multiplexer-compatibility
    3. [Terminal Compatibility]#terminal-compatibility

## Installation

Install via script (macOS/Linux):
```bash
curl -sSL https://github.com/paradigmxyz/mi6/releases/latest/download/install.sh | sh
```

Install via brew:
```bash
brew install mi6
```

Install via cargo:
```bash
cargo install mi6
```

Install via source code:
```bash
git clone https://github.com/paradigmxyz/mi6/
cd mi6
cargo install --path crates/mi6
```

Upgrade to latest `mi6` version:
```bash
mi6 upgrade
```

Uninstall `mi6`:
```bash
mi6 uninstall
```

## Usage

Run `mi6` in terminal

### Metrics

`mi6` tracks 40+ live metrics for each agentic coding session including:
- **status**: working, idle, waiting for user input, dead
- **system resources**: CPU, memory, disk I/O (each including child processes)
- **git info**: branch, repo, worktree, issue, PR
- **token counts**: inputs, outputs, cache, and context size
- **operations**: compactions, messages, tool calls
- **metadata**: model, framework, session id, PID

### Keyboard Shortcuts

For the complete list of keyboard shortcuts, press `?` while running `mi6`

Session Operations
- `Enter`: switch window focus to selected session
- `K`: kill selected session
- `T`: open terminal in selected session's worktree / CWD

Menus
- `C`: config menu
- `c`: column customization
- `f`: filter menu
- `t`: theme menu
- `?`: help menu

Panels
- `p`: toggle projects panel
- `d`: toggle details panel

Navigation
- `k` / `j` / `` / ``: move up / down
- `g` / `G`: go to top / bottom
- `h` / `l` / `` / ``: move left / right between panels
- `Shift →` / `Shift ←`: horizontal scroll

Other
- `/`: use quick filter
- `a`: toggle dead sessions display
- `+` / `=` / `-`: increase / decrease refresh rate
- `q` / `Esc`: quit

### Query Data Programmatically

Query the data collected by `mi6` from the command line without the interactive TUI:
```bash
mi6 session <SESSION_ID_OR_PID> --json
```

Specify which fields to return with `--fields` (all fields printed by default):
```bash
mi6 session <SESSION_ID_OR_PID> --fields status,model,cpu --json
```

## Compatibility

`mi6` can utilize the extra capabilities of certain frameworks, multiplexers, and terminals. If one of these programs has capabilities that `mi6` is not yet utilizing, please file a GitHub issue.

Legend
- 🪝 Via hooks
- 📜 Via transcripts
- 🩺 Via process monitoring
- ❌ Not available

### Framework Compatibility

| | Support | Session Started | Access Request | Access Granted | User Prompt Sent | User Interrupt | Response Complete | Session Ended |
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| | | → $\mathsf{\color{green}{\textbf{idle}}}$ | → $\mathsf{\color{blue}{\textbf{wait}}}$ | $\mathsf{\color{blue}{\textbf{wait}}}$ → $\mathsf{\color{orange}{\textbf{busy}}}$ | $\mathsf{\color{green}{\textbf{idle}}}$ → $\mathsf{\color{orange}{\textbf{busy}}}$ | $\mathsf{\color{orange}{\textbf{busy}}}$ → $\mathsf{\color{green}{\textbf{idle}}}$ | $\mathsf{\color{orange}{\textbf{busy}}}$ → $\mathsf{\color{green}{\textbf{idle}}}$ | → $\mathsf{\color{gray}{\textbf{done}}}$ |
| [**Claude**]https://docs.anthropic.com/en/docs/claude-code/hooks | 🏆 | 🪝 | 🪝 || 🪝📜 || 🪝📜 | 🪝🩺 |
| [**Codex**]https://developers.openai.com/codex/config-advanced/ ||| ❌* || 📜 || 🪝📜 | 🩺 |
| [**Cursor**]https://cursor.com/docs/agent/hooks || 🪝* ||| 🪝 || 🪝 ||
| [**Gemini**]https://geminicli.com/docs/hooks/ || 🪝 ||| 🪝📜 || 🪝📜 | 🪝🩺 |
| [**OpenCode**]https://opencode.ai/docs/plugins/ | 🏆 | 🪝 | 🪝 || 🪝 || 🪝 | 🪝🩺 |

### Multiplexer Compatibility

| | Support | Focus Window | Focus Tab | Focus Pane |
|---|:---:|:---:|:---:|:---:|
| [**tmux**]https://man7.org/linux/man-pages/man1/tmux.1.html | 🏆 ||||
| [**zellij**]https://github.com/zellij-org/zellij/pull/3747 |||||
| [**screen**]https://www.gnu.org/software/screen/manual/screen.html |||||

### Terminal Compatibility

| | Support | Focus Window | Focus Tab | Focus Pane |
|---|:---:|:---:|:---:|:---:|
| [**iTerm2**]https://iterm2.com/documentation-scripting.html | 🏆 ||||
| [**Terminal.app**]https://support.apple.com/guide/terminal/welcome/mac |||| no panes |
| [**Kitty**]https://sw.kovidgoyal.net/kitty/remote-control/ | 🏆 ||||
| [**WezTerm**]https://wezfurlong.org/wezterm/cli/cli/activate-pane.html | 🏆 ||||
| [**Ghostty**]https://github.com/ghostty-org/ghostty/discussions/2353 |||||
| [**Alacritty**]https://alacritty.org/ ||| no tabs | no panes |
| [**GNOME**]https://help.gnome.org/users/gnome-terminal/stable/ |||| no panes |
| **All others** |||||