# mi6
Tool for monitoring and managing coding agents
Features:
- **Informative**: monitor 40+ live metrics per session (see [metrics](#metrics) below)
- **Versatile**: monitors any workflow, can be used alongside other tools
- **Customizable**: choose the columns, sorting, filtering, theming
- **Fast**: instant startup, low input latency, consumes almost no CPU / RAM
- **Compatible**: Claude Code, OAI Codex, Gemini CLI
- **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)
## Installation
Install via script (macOS/Linux):
```bash
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
```