DEV Community

gentic news
gentic news

Posted on • Originally published at gentic.news

Claudectl: The TUI Dashboard That Finally Lets You Manage Multiple Claude

A lightweight Rust TUI that shows real-time Claude Code session stats, enforces budgets, and lets you jump between terminal tabs.

Claudectl: The TUI Dashboard That Finally Lets You Manage Multiple Claude Code Sessions

If you're running multiple claude code sessions across different terminal tabs or windows, you've probably felt the pain: Which session is burning through tokens? Which one needs my input? How much have I spent today? Claudectl solves this with a fast, lightweight terminal UI that gives you kubectl-style control over your Claude Code instances.

What It Does — Your Claude Code Command Center

Claudectl is a ~1MB Rust binary that starts in under 50ms and provides a live dashboard showing:

  • Session status (Processing / Needs Input / Waiting / Idle / Finished) inferred from JSONL events, CPU usage, and message timestamps
  • Resource usage (PID, project path, CPU%, memory)
  • Token economics (context window %, token counts, cost estimates, $/hour burn rate)
  • Activity visualization (sparkline showing recent activity)

But it's more than just monitoring. The real power is in the management features.

Why You Need This — Beyond Simple Monitoring

When you're working with Claude Code, you often have multiple sessions running: one for refactoring, another for debugging, a third for writing tests. Claudectl gives you three critical capabilities:

claudectl demo

  1. Budget enforcement: Set per-session dollar limits with alerts at 80% and optional auto-kill at 100%
  2. Session navigation: Press Tab to jump directly to a session's terminal tab (supports up to 7 terminals)
  3. Batch operations: Approve permission prompts (y), type input (i), or enable auto-approve (a twice) across all sessions

How To Use It — Installation and Commands

Install via Homebrew:

brew tap mercurialsolo/tap
brew install claudectl
Enter fullscreen mode Exit fullscreen mode

Or use the install script:

curl -fsSL https://raw.githubusercontent.com/mercurialsolo/claudectl/main/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

Key commands:

# Launch the TUI dashboard
claudectl

# Print session list and exit (for scripting)
claudectl --list

# Stream status changes without TUI
claudectl --watch

# Launch a new Claude session from within claudectl
claudectl --new --cwd ~/projects/my-app --prompt "Fix the auth bug"

# Budget enforcement with auto-kill
claudectl --budget 5 --kill-on-budget

# Get cost analytics
claudectl --stats --since 7d
Enter fullscreen mode Exit fullscreen mode

Advanced Features — When You Need More Power

Webhooks and Notifications

# Desktop notifications when sessions need input
claudectl --notify

# POST JSON to Slack/Discord on status changes
claudectl --webhook https://hooks.slack.com/... --webhook-on NeedsInput,Finished
Enter fullscreen mode Exit fullscreen mode

Task Orchestration

Create a tasks.json file:

[
  {
    "name": "refactor-auth",
    "cwd": "./src/auth",
    "prompt": "Refactor the authentication module to use JWT"
  },
  {
    "name": "write-tests",
    "cwd": "./tests",
    "prompt": "Write unit tests for the new auth module",
    "depends_on": ["refactor-auth"]
  }
]
Enter fullscreen mode Exit fullscreen mode

Then run:

claudectl --run tasks.json --parallel
Enter fullscreen mode Exit fullscreen mode

Configuration

Claudectl loads settings from ~/.config/claudectl/config.toml (global) and .claudectl.toml (per-project). Example:

[defaults]
interval = 1000
notify = true
grouped = true
sort = "cost"
budget = 5.00
kill_on_budget = true
Enter fullscreen mode Exit fullscreen mode

The Developer Experience Difference

Without Claudectl, you're constantly switching tabs, checking token usage manually, and risking budget overruns. With it, you get:

  • Immediate visibility: See all sessions at a glance with color-coded status
  • Proactive cost control: Set budgets before you forget
  • Workflow acceleration: Jump to the right terminal instantly
  • Scriptable automation: Export JSON data for custom dashboards or alerts

This isn't just another monitoring tool—it's a workflow optimizer built specifically for how developers actually use Claude Code in practice.


Originally published on gentic.news

Top comments (0)