# CAI TUI Terminals Management

> **⚡ CAI-Pro Exclusive Feature**  
> The Terminal User Interface (TUI) is available exclusively in **CAI-Pro**. To access this feature and unlock advanced multi-agent workflows, visit [Alias Robotics](https://aliasrobotics.com/cybersecurityai.php) for more information.

---

This guide covers advanced terminal management in the CAI TUI, including multi-terminal workflows, layouts, team configurations, and parallel execution strategies.

---

## Table of Contents

1. [Terminal Basics](#terminal-basics)
2. [Multi-Terminal Workflows](#multi-terminal-workflows)
3. [Terminal Layouts](#terminal-layouts)
4. [Terminal Operations](#terminal-operations)
5. [Team-Based Configurations](#team-based-configurations)
6. [Parallel Execution Patterns](#parallel-execution-patterns)
7. [Terminal State Management](#terminal-state-management)
8. [Advanced Techniques](#advanced-techniques)

---

## Terminal Basics

### What is a Terminal?

In CAI TUI, a **terminal** is an independent execution environment where:
- A single agent processes user prompts
- Conversation history is maintained separately
- Model selection can be configured independently
- Cost tracking is isolated

### Terminal Anatomy

Each terminal consists of:

![Terminal Anatomy](../media/CAI-1terminal.png)

**Header Components**:
- **Terminal Number** (T1, T2, T3, T4)
- **Agent Name** with dropdown selector
- **Model Name** with dropdown selector
- **Container Icon** (if running in container mode)

**Output Area**:
- Streaming agent responses
- Tool call displays
- Execution results
- Error messages

**Status Bar** (global, not per-terminal):
- Current agent
- Active model
- Session cost
- Token count

### Default Behavior

- **Terminal 1 (T1)** is always the main terminal and cannot be closed
- New terminals start with `redteam_agent` and the default model (`Alias1`)
- Each terminal maintains independent conversation history
- Terminals can run different agents and models simultaneously

---

## Multi-Terminal Workflows

### Why Use Multiple Terminals?

Multiple terminals enable:

1. **Parallel Agent Execution**: Run different agents simultaneously on the same task
2. **Perspective Comparison**: Compare red team vs. blue team approaches
3. **Specialization**: Assign specific roles to different agents
4. **Efficiency**: Execute independent tasks in parallel
5. **Collaboration Simulation**: Model team-based security workflows

### Common Multi-Terminal Patterns

#### Pattern 1: Offensive + Defensive (2 Terminals)

**Use Case**: Adversarial testing with real-time defense validation

**Setup**:
- **T1**: `redteam_agent` - Performs offensive testing
- **T2**: `blueteam_agent` - Analyzes defensive posture

**Workflow**:

```
T1 > Identify attack vectors on target web application
T2 > Evaluate defensive controls for the same application
```

**Benefits**:
- Immediate validation of findings
- Balanced security assessment
- Real-time trade-off analysis

#### Pattern 2: Discover + Validate + Report (3 Terminals)

**Use Case**: Complete vulnerability lifecycle from discovery to documentation

**Setup**:
- **T1**: `bug_bounter_agent` - Discover vulnerabilities
- **T2**: `retester_agent` - Validate findings
- **T3**: `reporting_agent` - Document results

**Workflow**:

```
T1 > Hunt for authentication bypasses in target.com
T2 > <Wait for T1 findings>
T2 > Retest the authentication bypass found in T1
T3 > <After validation>
T3 > Generate report for confirmed authentication bypass
```

**Benefits**:
- Clear separation of concerns
- Quality assurance built-in
- Professional documentation

#### Pattern 3: Full Security Team (4 Terminals)

**Use Case**: Comprehensive security assessment with maximum parallelization

**Setup** (Use Team #1 from sidebar):
- **T1**: `redteam_agent` - Web application attacks
- **T2**: `redteam_agent` - Network-level exploitation
- **T3**: `bug_bounter_agent` - OWASP Top 10 focus
- **T4**: `bug_bounter_agent` - API security testing

**Workflow**:

```
<Select Team #1 in sidebar>
Prompt > Perform comprehensive security assessment of target.com all
```

**Benefits**:
- Maximum parallel execution
- Different attack surfaces covered
- Diverse perspectives
- Faster overall completion

---

## Terminal Layouts

CAI TUI automatically adjusts terminal layouts based on the number of active terminals.

### Single Terminal Layout

**Display**: Full-width terminal

![Single Terminal Layout](../media/CAI-1terminal.png)

**When to Use**:
- Single-agent workflows
- Learning and experimentation
- Detailed analysis requiring maximum screen space
- Report generation

**Keyboard Shortcuts**:
- `Ctrl+T` to toggle fullscreen mode

### Split (Two Terminal) Layout

**Display**: Side-by-side terminals

![Split Terminal Layout](../media/CAI-2terminals.png)

**When to Use**:
- Comparing two approaches
- Red team vs. Blue team analysis
- Model comparison (same agent, different models)
- Master-worker patterns

**Activation**: Automatically triggered when 2 terminals are active

### Triple Terminal Layout

**Display**: Three-column vertical split

![Triple Terminal Layout](../media/CAI-3terminals.png)

**When to Use**:
- Three parallel perspectives on the same task
- Comparing three different agents or models
- Balanced multi-agent workflows
- Mid-complexity security assessments

**Activation**: Automatically triggered when 3 terminals are active

### Quad (Four Terminal) Layout

**Display**: 2×2 grid

![Quad Terminal Layout](../media/cai-tui-main.png)

**When to Use**:
- Full team operations
- Maximum parallelization
- Preconfigured team execution (Teams #1-#11)
- Multi-dimensional analysis

**Activation**: Default for preconfigured teams

### Scrollable Layout (5+ Terminals)

**Display**: Scrollable 2-column grid

![Scrollable Terminal Layout](../media/CAI-5+terminals.png)

**When to Use**:
- Large-scale testing campaigns
- Custom advanced workflows
- Experimental configurations

**Notes**:
- Scrollbar appears on the right
- Keyboard navigation still works

---

## Terminal Operations

### Creating Terminals

#### Method 1: Manual Addition

**Keyboard Shortcut**: Click `[Add+]` button in top bar

**Example Workflow**:

```
1. Start CAI TUI (1 terminal by default)
2. Click [+]
3. New terminal appears (T2)
4. Select agent from dropdown
5. Start working
```

#### Method 2: Team Selection

**Steps**:
1. Open sidebar (`Ctrl+S`)
2. Navigate to Teams tab
3. Click desired team button (e.g., "#1: 2 red + 2 bug")
4. All 4 terminals are configured automatically

**Benefits of Team Selection**:
- Instant configuration of all terminals
- Predefined agent assignments
- Optimized for common workflows
- One-click setup

### Removing Terminals

#### Close Focused Terminal

**Keyboard Shortcut**: `Ctrl+E`

**Behavior**:
- Closes currently focused terminal
- Terminal 1 (T1) cannot be closed
- Terminal numbers do not shift
- History is lost (save session first if needed)

### Focusing Terminals

#### Keyboard Navigation

**Shortcuts**:
- `Ctrl+N` - Focus next terminal (T1 → T2 → T3 → T4 → T1)
- `Ctrl+B` - Focus previous terminal (T1 → T4 → T3 → T2 → T1)

#### Mouse Click

Click anywhere in the terminal output area to focus it.


### Visual Focus Indicators

**Focused Terminal**:
- Highlighted terminal header
- Brighter output area
- Active input cursor

**Inactive Terminals**:
- Dimmed header
- Normal output area
- Background execution continues

---

## Team-Based Configurations

CAI TUI includes 11 preconfigured teams optimized for common security workflows.

### Accessing Teams

1. Open sidebar (`Ctrl+S`)
2. Click Teams tab
3. Browse available teams
4. Click team button to apply

### Team Composition Reference

| Team | Composition | Best For |
|------|-------------|----------|
| **#1** | 2 redteam + 2 bug_bounter | Comprehensive vulnerability discovery |
| **#2** | 1 redteam + 3 bug_bounter | Bug bounty with red team leadership |
| **#3** | 2 redteam + 2 blueteam | Adversarial offense + defense testing |
| **#4** | 2 blueteam + 2 bug_bounter | Defense-focused with validation |
| **#5** | red + blue + retester + bug | Full security lifecycle coverage |
| **#6** | 2 redteam + 2 retester | Aggressive testing with validation |
| **#7** | 2 blueteam + 2 retester | Defensive validation and retesting |
| **#8** | 4 redteam | Maximum offensive power  |
| **#9** | 4 blueteam | Comprehensive defensive analysis |
| **#10** | 4 bug_bounter | Intense bug bounty hunting |
| **#11** | 4 retester | Large-scale retesting campaigns |

### Team Application Behavior

When you select a team:

1. **All terminals are reconfigured** with designated agents
2. **Agent dropdowns update** to reflect new assignments
3. **Previous conversations are preserved** in output areas
4. **Each terminal is ready** to receive prompts immediately
5. **No cost impact** - configuration is free

### Customizing Teams

To create custom team configurations:

1. Manually configure each terminal with desired agents
2. Save the session: `/save my_custom_team.jsonl` (or `/save summary.md` for a readable Markdown export)
3. Load it later with `/load my_custom_team.jsonl` (JSONL only; `.md` is not for `/load`)

---

## Parallel Execution Patterns

### Pattern 1: Broadcast to All Terminals

**Use Case**: Execute the same task with different agent perspectives

**Steps**:
1. Select a team (e.g., Team #3: 2 Red + 2 Blue)
2. Type prompt in input area
3. Add "all" flag at the end of the prompt
4. Watch all terminals execute simultaneously

**Example**:

```
Prompt: Assess the security of https://target.com/api
Broadcast to: T1 (redteam), T2 (redteam), T3 (blueteam), T4 (blueteam)
Result: Four different perspectives on API security
```

### Pattern 2: Sequential Terminal Execution

**Use Case**: Pass results from one terminal to another

**Steps**:
1. Execute in T1
2. Wait for completion
3. Reference T1 results in T2 prompt
4. Continue chain

**Example**:

```
T1 (bug_bounter) > Find all input fields on target.com
<Wait for results>
T2 (redteam) > Test the 5 input fields found by T1 for XSS vulnerabilities
<Wait for results>
T3 (retester) > Validate the XSS findings from T2
<Wait for results>
T4 (reporting) > Create report from T1, T2, and T3 findings
```

### Pattern 3: Parallel Independent Tasks

**Use Case**: Execute completely different tasks simultaneously

**Setup**:
- **T1**: Scan network (nmap)
- **T2**: Enumerate web dirs (ffuf)
- **T3**: Check DNS records
- **T4**: Analyze SSL/TLS config

**Execution**:

```
T1 > nmap -sV -A target.com
T2 > ffuf -w wordlist.txt -u https://target.com/FUZZ
T3 > Enumerate all DNS records for target.com
T4 > Analyze SSL/TLS configuration of target.com
```

**Benefits**:
- Maximizes parallelization
- Reduces total execution time
- Efficient resource utilization

### Pattern 4: Focused Execution with Monitoring

**Use Case**: One agent works while others monitor specific aspects

**Setup**:
- **T1**: `redteam_agent` (main executor)
- **T2**: `blueteam_agent` (monitors defensive gaps)
- **T3**: `dfir_agent` (monitors artifacts/logs)
- **T4**: `reporting_agent` (live documentation)

**Workflow**:

```
T1 > Perform full penetration test on target.com
<While T1 works:>
T2 > Monitor defensive weaknesses as T1 progresses
T3 > Track and analyze artifacts generated by T1
T4 > Document findings in real-time from T1, T2, T3
```

---

## Terminal State Management

### Terminal States

Each terminal can be in one of four states:

#### 1. Active State

- **Visual**: Normal border, bright colors
- **Behavior**: Ready to receive input
- **Actions**: Can send prompts, change agent/model

#### 2. Focused State

- **Visual**: Highlighted border (accent color)
- **Behavior**: Receives keyboard input
- **Actions**: All actions available, input directed here

#### 3. Busy State

- **Visual**: Spinner/progress indicator
- **Behavior**: Agent is executing
- **Actions**: Can cancel (`Ctrl+C`), cannot send new prompts

#### 4. Error State

- **Visual**: Red border or error indicator
- **Behavior**: Execution failed
- **Actions**: Can retry, clear error, or continue

### State Transitions

```
Active ──[Send Prompt]──> Busy ──[Complete]──> Active
   │
   └──[Error]──> Error ──[Clear]──> Active

Active ──[Focus Terminal]──> Focused ──[Focus Other]──> Active
```

### Managing Terminal State

#### Canceling Execution

**Method 1**: `Ctrl+C` (focused terminal only)

**Method 2**: `Escape` twice (all terminals)

#### Clearing Errors

**Command**: `/clear` (clears visual errors, preserves history)

**Alternative**: Click error message dismiss button (if shown)

#### Resetting Terminal

**Steps**:
1. `/flush` - Clear conversation history
2. `/clear` - Clear visual output
3. Select new agent (if desired)
4. Start fresh

---

## Advanced Techniques

### Terminal-Specific Commands

Target commands to specific terminals without focusing them.

**Syntax**: `T<num>:<command>`

**Examples**:
```bash
# Change agent in T2 without leaving T1
T2:/agent blueteam_agent

# Clear T3 output
T3:/clear

# Check T4 cost
T4:/cost

# Execute prompt in T2
T2:Scan target.com for open ports
```

**Benefits**:
- No context switching required
- Efficient multi-terminal management
- Script-friendly

### Dynamic Terminal Allocation

Adjust terminal count based on task complexity.

**Simple Task** (1-2 terminals):
- Single perspective sufficient
- Limited scope
- Quick execution

**Medium Task** (2-3 terminals):
- Multiple perspectives valuable
- Moderate complexity
- Benefit from specialization

**Complex Task** (4 terminals):
- Full team required
- High complexity
- Maximum parallelization needed


### Terminal Output Management

#### Copy Terminal Output

**Method 1**: Mouse selection + `Ctrl+C`

**Method 2**: Export session + extract terminal data

**Method 3**: `/save` and process saved file

#### Terminal Output Filtering

**Technique**: Use agent's built-in filtering

```
Prompt: Summarize key findings from previous responses
```

#### Clear Old Output

**Command**: `/clear` (visual only)

**Alternative**: `/flush` (history too)

---

## Best Practices

### 1. Start Small, Scale Up

Begin with 1-2 terminals. Add more only when parallelization provides clear benefit.

### 2. Use Preconfigured Teams

Leverage the 11 built-in teams instead of manual configuration.

### 3. Name Your Sessions

Save sessions with descriptive names:
```bash
/save 2025-10-27_webapp_pentest_team3.jsonl
```

### 4. Monitor Costs Per Terminal

Check costs regularly:
```bash
/cost    # Current terminal
/cost all  # All terminals
```

### 5. Clear Between Tasks

Reset terminals between unrelated tasks:
```bash
/flush all
/clear
```

### 6. Document Terminal Roles

Add a comment in the first prompt of each terminal:

```
T1 > [RECON] Enumerate target.com infrastructure
T2 > [EXPLOIT] Test for authentication bypass
T3 > [VALIDATE] Confirm findings from T2
T4 > [REPORT] Document all findings
```

### 7. Use Broadcast Wisely

Broadcast is powerful but expensive. Use it when you truly need multiple perspectives on the same task.

### 8. Leverage Terminal Independence

Each terminal is independent - use this for:
- Different phases of testing
- Completely separate tasks
- Long-running operations in background terminals

---

## Troubleshooting

### Terminal Not Responding

**Symptoms**: Terminal stuck in busy state, no output

**Solutions**:
1. Wait (some operations take time)
2. Cancel with `Ctrl+C`
3. Check `/mcp status` if using MCP tools
4. Restart terminal: `/flush`, `/clear`, then retry

### Terminals Not Syncing with Team Selection

**Symptoms**: Agent dropdowns don't update after selecting team

**Solutions**:
1. Check that sidebar is visible (`Ctrl+S`)
2. Click team button again
3. Manually update agent dropdowns if issue persists
4. Report bug with `cai --version` output

### Layout Not Adjusting

**Symptoms**: Terminal layout doesn't change when adding terminals

**Solutions**:
1. Resize terminal window (trigger layout recalc)
2. Toggle fullscreen mode (`Ctrl+T`) and back
3. Restart TUI if issue persists

### Cost Tracking Incorrect

**Symptoms**: Cost numbers seem wrong or don't update

**Solutions**:
1. Check `/cost all` for complete breakdown
2. Verify model pricing with `/env`
3. Check if multiple terminals using expensive models
4. Save session and review cost data offline

---

## Next Steps

- [Commands Reference](commands_reference.md) - Complete command documentation
- [Keyboard Shortcuts](keyboard_shortcuts.md) - All keyboard shortcuts
- [Sidebar Features](sidebar_features.md) - Teams tab and other sidebar capabilities
- [Advanced Features](advanced_features.md) - MCP, ICL, and session management

For questions or issues, visit [CAI GitHub Issues](https://github.com/aliasrobotics/cai/issues).

---

*Last updated: October 2025 | CAI TUI v0.6+*

