neimar 0.1.0

TUI app for managing multiple AI bot sessions in a terminal
neimar-0.1.0 is not a library.

Neimar

TUI multiplexer for managing multiple AI CLI sessions in a terminal. Run several Claude, Amp, or shell sessions side-by-side with full terminal fidelity.

The name neimar is a Serbian word meaning "builder" or "master builder" — fitting for a tool that helps you build things with AI.

Neimar

Install

Install Rust (if you don't have it):

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Then install neimar:

cargo install neimar

Features

  • Multi-session — Run multiple AI sessions simultaneously, switch between them instantly
  • Full PTY fidelity — Each session runs in a real pseudo-terminal; colors, cursor movement, and line wrapping all work correctly
  • Live status monitoring — Tracks model name, cost, context window usage, turn count, and permission mode per session
  • AI state classification — Automatically detects whether each session is working, waiting for input, or done
  • Mouse support — Click to select sessions, drag to resize panels, scroll output, drag-select text, double-click to select a word
  • Drag-and-drop — Reorder sessions and labels by dragging them in the sidebar
  • Clipboard integration — Auto-copy text selections on mouse-up, Cmd+C to copy
  • Scrollback — Scroll through session output history with keyboard or mouse
  • Multiple CLI types — Claude, Claude (danger mode), Amp, or plain shell sessions
  • Session labels — Group sessions under named labels for organization
  • Agents directory — Browse and view agent definition files from a dedicated tab
  • Resizable panels — Drag the divider between sidebar and terminal to resize

Keyboard Shortcuts

Global

Key Action
Ctrl+N Create a new session
Ctrl+Q Quit

Sidebar (Sessions panel focused)

Key Action
/ Navigate sessions
/ Switch between Sessions and Agents tabs
Shift+↑ / Shift+↓ Reorder selected session or label
Shift+← / Shift+→ Switch focus between sidebar and terminal
e Rename selected session or label
r Remove selected session or label
g Create a new label

Terminal (Terminal panel focused)

Key Action
Shift+← / Shift+→ Switch focus back to sidebar
Shift+PageUp / Shift+PageDown Scroll terminal output
Esc Snap to bottom (when scrolled) / clear selection
Cmd+C Copy selection to clipboard (when text is selected)

All other keys are forwarded directly to the PTY.

Session Creation

Key Action
1 Quick-select Claude
2 Quick-select Claude (danger mode)
3 Quick-select Amp
4 Quick-select Console
/ / Tab Navigate options
Enter Confirm selection
Esc Cancel

Mouse Interactions

  • Click session — Select and focus sidebar
  • Click terminal — Focus terminal, start text selection
  • Double-click terminal — Select word and copy to clipboard
  • Drag session/label — Reorder in sidebar
  • Drag divider — Resize panels
  • Drag on terminal — Select text (auto-copied on mouse-up)
  • Drag scrollbar — Scroll terminal or session list
  • Scroll wheel — Scroll sessions, terminal output, or agent content

Status Indicators

Session State

Emoji State Color Meaning
🧱 Working Yellow Session is actively producing output
💬 Input Cyan Waiting for user input
📋 Planned Magenta Plan prompt shown, awaiting approval
🟢 Done Green Session is idle
Starting Gray Session just started
🔒 Closed Gray Session exited normally
🔴 Failed Red Session failed to start

Permission Mode

Emoji Mode Meaning
Plan Claude is in plan mode
AcceptEdits Claude auto-accepts edits

Session Types

When creating a new session (Ctrl+N), choose a type:

# Type Icon Description
1 Claude 🤖 Claude CLI session
2 Claude (Danger) 🤖💥 Claude CLI with --dangerously-skip-permissions
3 Amp Amp CLI session
4 Console 🖥️ Plain shell session

License

Licensed under either of Apache License, Version 2.0 or MIT License at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.