# cove — Claude Code Session Manager

Manage multiple [Claude Code](https://docs.anthropic.com/en/docs/claude-code) sessions in tmux with a ratatui-powered sidebar navigator and real-time status detection.

## What it does

- **Multi-session tmux layout** — Each session gets a 3-pane window: Claude Code (left), interactive sidebar (top-right), and mini terminal (bottom-right).
- **Real-time status indicators** — See which sessions are working or waiting for input.
- **Interactive sidebar** — Navigate between sessions with arrow keys. Status updates live as Claude works.

## Prerequisites

- [tmux](https://github.com/tmux/tmux) (3.2+)
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)

## Install

### Homebrew

```sh
brew tap rasha-hantash/cove && brew install cove-cli
```

### curl (macOS / Linux)

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rasha-hantash/cove/releases/latest/download/cove-cli-installer.sh | sh
```

### cargo install

```sh
cargo install cove-cli
```

### From source

```sh
git clone https://github.com/rasha-hantash/cove.git
cd cove
cargo install --path .
```

## Quick Start

```sh
# Enable status indicators (one-time setup)
cove init

# Start a new session
cove my-project ~/code/my-project

# Start another session
cove api-work ~/code/api

# List active sessions
cove list

# Kill a session
cove kill my-project

# Kill all sessions
cove all-kill
```

Running `cove` with no arguments resumes an existing session or creates a new default session in the current directory.

## Commands

| Command                 | Description                                              |
| ----------------------- | -------------------------------------------------------- |
| `cove [name] [dir]`     | Start a new session, or resume/create default if no args |
| `cove list` / `cove ls` | List active sessions with status and working directory   |
| `cove kill <name>`      | Kill a single session                                    |
| `cove all-kill`         | Kill all sessions                                        |
| `cove init`             | Enable real-time status indicators in the sidebar        |

## How It Works

Cove creates a tmux session group with one window per Claude Code session. Each window has three panes:

1. **Claude pane** — runs `claude` CLI
2. **Sidebar pane** — ratatui TUI showing all sessions with live status
3. **Terminal pane** — mini shell in the session's working directory

Run `cove init` to enable real-time status indicators in the sidebar. This installs lightweight, non-blocking hooks into your Claude Code settings — they only write small event files and don't affect performance.

## License

MIT
