[FEATURE] Show running background bash processes in statusline
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When working with Claude Code, I frequently use background bash processes for long-running tasks like development servers, build watchers, test runners, or database connections. Currently,
there's no visible indication in the interface of which background processes are running, their status, or their output state.
This creates several problems:
- I lose track of what background processes Claude has started
- I don't know if a server is still running or has crashed
- I have to manually ask "what background processes are running?" or type /bashes to check status
- There's no visual feedback when background processes produce errors or complete
- I can't quickly see at a glance what's happening in my development environment
The current workflow requires me to manually interrupt my conversation to check process status, breaking my flow and making it harder to maintain situational awareness of my development
environment.
Proposed Solution
The Claude Code statusline should display active background bash processes with their status. The ideal implementation would:
- Show process indicators in the statusline - Display icons or text for each running background bash process (e.g., "🔄 npm start", "⚙️ build watch")
- Status at a glance - Use visual indicators for process state:
- Running normally (green/neutral)
- New output available (blue/highlight)
- Process exited (grey)
- Process failed/error (red)
- Interactive elements - Allow me to:
- Click a process to view recent output
- Right-click to kill a process
- See process duration/uptime
- Toggle which processes to display
- Configuration options - Let users control:
- Whether to show background processes in statusline
- Maximum number of processes to display
- Which types of processes to show
Example statusline display:
[🔄 backend:3001] [⚙️ npm build --watch] [✓ tests] | Files: 3 changed
Alternative Solutions
Alternative Solutions
Workarounds I'm currently using:
- Manually typing /bashes to list background processes
- Asking Claude "what's running in the background?"
- Running ps aux | grep node in a separate terminal
- Keeping a mental note of what I've asked Claude to start
Other approaches considered:
- A dedicated panel/sidebar for background processes (more intrusive)
- Notifications when processes exit or error (could be noisy)
- A /status command to check all background processes (still requires manual checking)
Similar features in other tools:
- VS Code's integrated terminal shows active terminal sessions in tabs
- tmux/screen show session names in status bars
- Docker Desktop shows running container status
- Process managers like PM2 provide status dashboards
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
Use Case Example
Scenario: Full-stack development session
- I'm working on the multi-tenant Databricks application (React frontend + Node.js backend)
- I ask Claude: "Start the backend server in the background"
- Claude starts the server with run_in_background: true
- With this feature: The statusline now shows [🔄 backend:3001]
- I ask: "Now start the frontend dev server"
- Statusline updates: [🔄 backend:3001] [🔄 frontend:3000]
- I continue working on code changes
- The backend encounters an error and crashes
- Statusline updates: [❌ backend:3001] [🔄 frontend:3000] - I immediately see the problem
- I can click the red indicator to see the error output
- This saves me time because I don't need to interrupt my workflow to check if services are running
Benefits:
- Immediate awareness when processes fail
- No need to break conversation flow to check status
- Visual confirmation that services started successfully
- Quick access to process output when needed
Additional Context
Technical considerations:
- Should integrate with existing BashOutput and KillShell tools
- Needs to handle process lifecycle: started → running → exited/failed
- Should poll for new output or status changes periodically
- Consider performance impact of monitoring multiple processes
Similar tools:
- tmux statusline: Shows session/window info at bottom of terminal
- iTerm2 badges: Shows current command/status as overlay
- VS Code: Terminal tabs show process status (running/exited)
┌─────────────────────────────────────────────────┐
│ Claude Code │
├─────────────────────────────────────────────────┤
│ [conversation content] │
│ │
├─────────────────────────────────────────────────┤
│ 🔄 npm:backend:3001 ⚙️ watch:build 💬 Type...│
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗