← Back to Blog
🤖 AI-written, human-guided

CrewHub v0.21.0: 20 Features That Make Claude Code Feel Like a Team

This is the biggest Claude Code update we’ve shipped. Twenty features across monitoring, interaction, multi-agent orchestration, UX, and extensibility, all landing in a single release. Here’s the full breakdown.


🔍 Monitoring & Observability

Live Terminal Output Streaming

When Claude Code runs a bash command, building, testing, installing dependencies, you used to see “Running command” and nothing else. Now CrewHub parses bash_progress events from Claude Code’s JSONL transcripts and streams live output directly into the dashboard. Terminal output scrolls inside tool call bubbles, and the 3D world activity bubbles show the last line of output in real time.

No more guessing whether your agent is stuck or just compiling.

Session Titles from Summary Events

Sessions used to show up as “crewhub (a2e0d3)”, project name plus a truncated UUID. Not exactly helpful when you’re running five sessions at once. Claude Code emits summary events with human-readable descriptions, and CrewHub now captures these as session titles. Your session list shows “Refactoring auth middleware” instead of a hash.

Error Alerts with Red Halos

API errors, rate limits, context overflow, server errors, used to appear as normal assistant text. Easy to miss. A new ErrorEvent type detects isApiErrorMessage and error fields from JSONL records. Errors now get distinct styling, error counts show on session cards, and the 3D bot displays a red warning halo. When something breaks, you’ll know immediately.

Conversation Tree View

Complex agent sessions with parallel tool calls produce non-linear conversations. Scrolling through a flat chat log makes it nearly impossible to trace cause and effect. A new collapsible tree panel sits alongside the chat window, showing user messages as parent nodes with assistant responses and tool calls as children. Click any node to jump to that point in the conversation.

Token & Cost Tracking

Teams running multiple agents had no idea how much each session was spending. A new TokenUsageEvent parses result events from JSONL transcripts, extracting input tokens, output tokens, and cache token counts. Usage accumulates per session and shows up as cost badges on session cards. Finally, visibility into what your agents are actually costing you.

Hook Execution Visibility

When pre-commit hooks or custom hooks run, agents appeared “stuck” with no explanation. Now hook_progress events are surfaced via SSE broadcast. Activity bubbles show “Running hook: pre-commit” and the agent top bar displays hook execution status. No more wondering if your agent froze.


🎮 Interaction & Control

Session Kill / Abort

There was no way to stop a runaway agent from the dashboard. The kill_session method was literally a stub that logged “not yet implemented.” Now there’s a real implementation that handles both CrewHub-managed processes (via SIGTERM through ClaudeProcessManager) and discovered sessions (via process matching). Hit POST /api/chat/{key}/kill and the session stops.

In-Dashboard Permission Approval

Permission prompts were the top friction point. You’d see “waiting for permission” in the dashboard but had to switch to the terminal to actually approve the tool call. A new PermissionPromptPanel renders directly in the chat when an agent enters WAITING_PERMISSION state. For managed sessions, Approve/Deny buttons send responses via the bidirectional stream-json protocol. For discovered sessions, a one-click “Open in Terminal” handoff button gets you there fast.

Prompt Templates & Quick Actions

Many interactions with Claude Code are repetitive, the same review instructions, the same test-and-fix loop. A new prompt template system with full CRUD API lets you save and reuse these. Templates support variable substitution ({{project}}, {{branch}}, {{file}}) and can be scoped per-project. Built-in starters included: “Run tests and fix failures”, “Review changes on current branch”, “Explain this file.”

System Prompt Configuration

System prompts shape agent behavior, but configuring them required editing CLI flags or CLAUDE.md files. Now there’s a system_prompt field on agents, configurable from the dashboard. When CrewHub spawns a Claude process, it passes the text via --append-system-prompt. Set persistent guidelines like “Always run tests before committing” from one central place.


🔗 Multi-Agent Orchestration

Agent Pipelines

Real development workflows are multi-step: write, review, test. Each agent was isolated with no way to chain outputs into the next step. v0.21.0 ships a full pipeline system with CRUD, execution tracking, and run history. Define ordered steps with agent assignments and prompt templates, start a pipeline run, and track progress across each step. This is the foundation for CI-like automation with AI agents.

Cross-Agent File Conflict Detection

Multiple agents editing the same codebase can silently overwrite each other’s work. An in-memory ConflictDetector service now tracks file paths from Edit and Write tool_use events. When two agents modify the same file within a 5-minute window, a file-conflict SSE event is broadcast and the conflict data is exposed via /api/conflicts. Catch collisions before they cause merge nightmares.

Agent Cloning

When one agent discovers a problem that needs two different approaches, there was no way to fork the work without manually configuring a second agent. Now POST /api/agents/{id}/clone copies an agent’s full configuration, project path, permissions, model, system prompt, room assignment, to a new agent with an auto-generated name. The clone appears in the same room, ready to explore an alternative path.

Task-to-Agent Assignment

Task board items and agent execution were completely disconnected. You’d manually copy task descriptions into chat. Now POST /api/tasks/{id}/assign assigns a task to an agent session, automatically sends the task title and description as a prompt, and updates the task status to “in_progress.” One click from task to execution.


✨ UX & Polish

Interleaved Content Blocks

When an agent responded with text, then a tool call, then more text, the UI used to group all tools first, then all text, losing the narrative flow of the conversation. Both ZenMessageContent and InlineMessageContent now check for contentSegments and render them in order, preserving the original interleaving of text, tool calls, and thinking blocks.

Session Timeline / Playback

Reviewing what an agent did required scrolling through long chat logs with no way to navigate quickly. A new horizontal timeline bar shows events as colored dots, blue for user messages, green for assistant, amber for tools, purple for thinking, red for errors. Hover for tooltips, click to jump to any event. Toggle it via the chart icon in the chat header.

Richer 3D Agent Health Indicators

The 3D office metaphor was under-utilized, all agents looked similar regardless of state. Two new status types bring the bots to life:

  • Error state: Red warning halo with fast pulse (impossible to miss)
  • Waiting permission: Yellow slow blink (needs attention but not urgent)
  • Active state: Faster pulse than before for a more energetic feel

These states propagate across all bot components: glow, body, face, and info panel.

Smart Notification Rules

Notification fatigue is real. You either got notified about everything or nothing. A new configurable rule system offers 5 rule types: on_error, on_completion, on_idle, on_permission_wait, and on_specific_tool. Rules can be scoped per-agent, per-project, or global, with full CRUD and enable/disable toggles.


🔌 Integration & Extensibility

Git Activity Timeline

Git operations, commits, pushes, branch switches, were buried in bash command output, invisible at a glance. The session watcher now detects git commands in Bash tool_use events via pattern matching, tracking commit count, push count, and last git action per session. This data shows up in session metadata for first-class git activity display.

MCP Server Connection Monitoring

MCP is increasingly central to Claude Code workflows, but there was zero visibility into which servers agents are using or whether they’re failing. Tool_use events with mcp__ prefixed names are now detected and grouped by server, with per-session tracking of call count, error count, and last-used timestamp.


📊 By the Numbers

  • Monitoring & Observability: 6 features
  • Interaction & Control: 4 features
  • Multi-Agent Orchestration: 4 features
  • UX & Polish: 4 features
  • Integration & Extensibility: 2 features
  • Total: 20 features

8 new files created across frontend components, backend services, and API routes. 4 new database tables for prompt templates, pipelines, pipeline runs, and notification rules. 8 new API endpoints covering session control, agent cloning, task assignment, templates, pipelines, conflict detection, and notification rules.


🔮 What’s Next

These 20 features lay the foundation for CrewHub to become the definitive orchestration layer for AI coding agents. Coming up: async pipeline execution, frontend UI for all the new APIs, deeper conversation tree support, and real-time terminal output in chat.


Built with Claude Code. Monitored with CrewHub.