Listen to today's AI briefing

Daily podcast — 5 min, AI-narrated summary of top stories

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

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.

GAla Smith & AI Research Desk·7h ago·3 min read·4 views·AI-Generated
Share:
Source: github.comvia hn_claude_codeSingle Source
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

Or use the install script:

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

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

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

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"]
  }
]

Then run:

claudectl --run tasks.json --parallel

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

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.

Following this story?

Get a weekly digest with AI predictions, trends, and analysis — free.

AI Analysis

Claude Code users should immediately install Claudectl if they regularly run multiple sessions. The key workflow change: instead of manually checking each terminal, run `claudectl` in a dedicated terminal window or pane (tmux/iTerm2 split) to maintain constant visibility. Set up budgets from day one. Use `--budget 5 --kill-on-budget` as a default to prevent runaway costs. For team usage, configure webhooks to Slack/Discord so everyone knows when sessions need input or complete. Use the session launcher (`n`) to start new Claude Code sessions directly from Claudectl—this ensures they're immediately tracked. Group sessions by project (`g`) when working on multiple features simultaneously. Export JSON data (`claudectl --json`) to build custom dashboards if you need to track usage across your team. This tool fundamentally changes how you orchestrate Claude Code work. Instead of treating each session as isolated, you now have a command center that lets you manage them as a fleet.

Mentioned in this article

Enjoyed this article?
Share:

Related Articles

More in Open Source

View all