# CAI TUI Commands Reference !!! warning "Documentation freshness" This page is **likely out of date**. **Maintained command reference:** **[CLI docs](../cai/getting-started/commands.md)** and **`docs/cai/`** — use those when in doubt. > **⚡ 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 comprehensive guide documents all commands available in the CAI Terminal User Interface (TUI), including command palette actions, keyboard shortcuts, and CLI-style commands. --- ## Command Categories CAI TUI commands are organized into the following categories: 1. [Agent Management](#agent-management) 2. [Model Management](#model-management) 3. [Terminal Control](#terminal-control) 4. [History and Memory](#history-and-memory) 5. [Session Management](#session-management) 6. [Utility Commands](#utility-commands) 7. [Navigation and UI](#navigation-and-ui) --- ## Agent Management ### `/agent` or `/a` Switch between agents or list all available agents. **Syntax**: ``` /agent [agent_name] /a [agent_name] ``` **Examples**: ```bash # List all available agents /agent # Switch to red team agent /agent redteam_agent # Switch to bug bounty agent /a bug_bounter_agent ``` **Available Agents**: - `redteam_agent` - Offensive security testing and penetration testing - `blueteam_agent` - Defensive security analysis and hardening - `bug_bounter_agent` - Bug bounty hunting and vulnerability research - `retester_agent` - Retesting and validation of vulnerabilities - `one_tool_agent` - Basic single-tool execution (minimalist approach) - `dfir_agent` - Digital forensics and incident response - `reporting_agent` - Report generation and security documentation - `reverse_engineering_agent` - Binary analysis and reverse engineering - `network_security_analyzer_agent` - Network security assessment - `wifi_security_agent` - WiFi security testing and wireless analysis - `memory_analysis_agent` - Memory forensics and analysis - `dns_smtp_agent` - DNS and SMTP protocol analysis - `replay_attack_agent` - Replay attack testing and analysis - `subghz_sdr_agent` - Sub-GHz and Software Defined Radio (SDR) analysis - `thought_agent` - Reasoning, planning, and analysis - `use_case_agent` - Use case analysis and scenario planning - `flag_discriminator` - CTF flag identification and discrimination - `cybersecurity_engineer` - Cybersecurity engineering and architecture - `selection_agent` - Intelligent agent selection and routing - `bb_triage_swarm_pattern` - Bug bounty triage swarm pattern - `redteam_swarm_pattern` - Red team swarm coordination pattern - `offsec_pattern` - Offensive security pattern orchestration **Notes**: - Agent changes are immediate and affect only the active terminal - Each terminal can run a different agent simultaneously - Agent context is preserved when switching between terminals --- ## Model Management ### Model Selection via Dropdown CAI TUI uses model dropdowns in each terminal header for model management. Models are configured via environment variables and aliases. **Available Models**: - `alias1` - Cybersecurity focus model [Recommended] - `gpt-4o` - OpenAI GPT-4 Optimized - `gpt-4-turbo` - OpenAI GPT-4 Turbo - `claude-3-5-sonnet-20241022` - Anthropic Claude 3.5 Sonnet - `o1-mini` - OpenAI O1 Mini - `o1-preview` - OpenAI O1 Preview **How to Change Models**: 1. Click the model dropdown in any terminal header 2. Select desired model from the list 3. Model change takes effect immediately for that terminal **Environment Variables**: ```bash export CAI_MODEL=gpt-4o # Set default model export CAI_OPENAI_API_KEY=sk-... # OpenAI API key export CAI_ANTHROPIC_API_KEY=sk-... # Anthropic API key ``` **Notes**: - Each terminal can use a different model - Model costs are tracked separately per terminal - Switching models mid-conversation preserves history --- ## Terminal Control ### Terminal-Specific Commands Send commands to specific terminals using either the prefix notation or the flag notation. #### Method 1: Prefix Notation **Syntax**: ``` T: ``` **Examples**: ```bash # Switch agent in Terminal 2 T2:/agent blueteam_agent # Change model in Terminal 3 T3:/model alias1 # Clear Terminal 1 T1:/clear # Execute command in Terminal 4 T4:scan target.com for vulnerabilities ``` #### Method 2: Flag Notation **Syntax**: ``` t ``` **Examples**: ```bash # Switch agent in Terminal 2 /agent blueteam_agent t2 # Change model in Terminal 3 /model alias1 t3 # Clear Terminal 1 /clear t1 # Execute any command in Terminal 4 /help t4 # Send prompt to Terminal 2 Scan target.com for XSS vulnerabilities t2 ``` **Supported Flags**: - `t1` - Target Terminal 1 - `t2` - Target Terminal 2 - `t3` - Target Terminal 3 - `t4` - Target Terminal 4 - (Additional terminals if configured: `t5`, `t6`, etc.) **Notes**: - Both methods achieve the same result - Flag notation is more concise for quick commands - Prefix notation is clearer for complex prompts - You can target any terminal without focusing it first - Useful for scripting and automation - Works with all commands (slash commands and prompts) **Keyboard Shortcut**: Click the `[+]` button in the top bar **Notes**: - New terminals start with `redteam_agent` by default - Maximum recommended terminals: 4 (for optimal UX) - Terminals beyond 4 use scrollable layout --- ## History and Memory ### `/history [number] [agent_name]` or `/h` Display conversation history for the current or specified agent. **Syntax**: ``` /history [number] [agent_name] ``` **Examples**: ```bash # Show last 10 messages /history # Show last 20 messages /history 20 # Show history for specific agent /history 10 redteam_agent # Compact syntax /h 5 ``` **Notes**: - Default shows last 10 interactions - History includes both user prompts and agent responses - History is terminal-specific - In the REPL, `/history` also supports subcommands such as `all`, `agent`, `search`, and `index` (see `/help history`). To export conversations, use **`/save `** (`.jsonl` for `/load`, `.md` for a readable report). The old **`/history export`** command was removed (using it prints a deprecation hint). ### `/flush [agent_name|all]` Clear agent message history. **Syntax**: ``` /flush [agent_name|all] ``` **Examples**: ```bash # Flush current agent history /flush # Flush specific agent /flush redteam_agent # Flush all agents /flush all ``` **Notes**: - Flushing is irreversible - Agent context window is reset - Useful for starting fresh conversations ### `/memory [subcommand]` or `/mem` Advanced memory management for agents. **Syntax**: ``` /memory /mem ``` **Subcommands**: #### `list` Show all saved memories. ```bash /memory list ``` #### `save [name]` Save current conversation as a memory. ```bash /memory save "Authentication bypass research" /mem save pentest_findings ``` #### `apply ` Apply a saved memory to the current agent. ```bash /memory apply mem_12345 ``` #### `show ` Display the content of a specific memory. ```bash /memory show mem_12345 ``` #### `delete ` Remove a memory permanently. ```bash /memory delete mem_12345 ``` #### `merge [name]` Combine two memories into one. ```bash /memory merge mem_12345 mem_67890 "Combined pentesting notes" ``` #### `compact` AI-powered memory summarization. ```bash /memory compact ``` #### `status` Show memory system status and statistics. ```bash /memory status ``` **Notes**: - Memories persist across sessions - Useful for resuming long-term research projects - AI-powered summarization reduces token usage --- ## Session Management ### `/save ` Save all agent conversation histories in one of two formats (chosen by file extension): | Extension | Purpose | |-----------|---------| | **`.jsonl`** (default style) | One JSON object per line (`agent`, `role`, `content`, plus tool fields). **Reload with `/load`.** | | **`.md`** or **`.markdown`** | Human-readable Markdown (sections per agent, `### role` headings, fenced content). **Not** for `/load`. | **Syntax**: ``` /save ``` **Examples**: ```bash /save pentest_session.jsonl /save ~/Documents/cai_sessions/project_alpha.jsonl /save executive_summary.md /save findings.markdown ``` **Notes**: - Distinct from `/memory save` (that writes summarized memory markdown under `.cai/memory`) - Paths such as `~/file.jsonl` are expanded to your home directory; parent folders are created if they do not exist yet ### `/load ` or `/l` Load conversation messages from **JSONL** (e.g. a `/save` **`.jsonl`** file, or compatible session logs — not **`.md`** exports). **Syntax**: ``` /load /l ``` **Examples**: ```bash /load pentest_session.jsonl /l ~/cai_sessions/old_session.jsonl ``` **Notes**: - Restores message history into the session (see `/help load` for agent- and parallel-specific forms) - Only **`/save` `.jsonl`** files round-trip with `/load`; Markdown exports are for reading or sharing --- ## Utility Commands ### `/cost [agent_name]` Display API usage costs and token statistics. **Syntax**: ``` /cost [agent_name] ``` **Examples**: ```bash # Show costs for active terminal /cost # Show costs for specific agent /cost redteam_agent # Show total session costs /cost all ``` **Output Includes**: - Total cost (USD) - Input tokens used - Output tokens used - Cost per interaction - Model pricing rates - Terminal breakdown ### `/help [command]` or `/?` Get help for commands. **CLI headless only:** typing **`?`** alone (no leading slash) shows a compact **input shortcuts** panel. In the TUI, **`?`** is sent as normal chat text. **`/?`** remains an alias for **`/help`** (with slash). **Syntax**: ``` /help [command] /? [command] ``` **Examples**: ```bash # General help /help # Help for specific command /help agent /help parallel /help mcp /? mcp ``` ### `/env` Display environment variables relevant to CAI. **Syntax**: ``` /env ``` **Output Includes**: - `CAI_MODEL` - Default model - `CAI_AGENT_TYPE` - Default agent - `CAI_MAX_TURNS` - Maximum interaction turns - `CAI_TRACING` - Tracing status - `CAI_GUARDRAILS` - Guardrails enabled - `CAI_PRICE_LIMIT` - Cost limit - `CAI_TUI_MODE` - TUI mode settings - API keys (masked) ### `/shell` or `$` Execute shell commands directly from the TUI. **Syntax**: ``` /shell $ ``` **Examples**: ```bash # List files /shell ls -la # Check network $ping -c 3 target.com # Run nmap scan $nmap -sV 192.168.1.1 ``` **Notes**: - Commands execute in the system shell - Output is displayed in the terminal - Use with caution - no sandboxing ### Interrupting agent execution There is **no** `/kill` slash-command in CAI. To stop the agent mid-turn in the TUI, use **`Ctrl+C`** on the focused terminal (or press **`Escape` twice** for a broader cancel, depending on your layout). Partial streaming output may be discarded; conversation context in memory is otherwise preserved unless you clear it with `/flush`. ### `/clear` Clear the terminal output. **Syntax**: ``` /clear ``` **Keyboard Shortcut**: `Ctrl+L` **Notes**: - Clears visual output only - Conversation history is preserved - Cost tracking continues **Keyboard Shortcut**: `Ctrl+Q` **Notes**: - Unsaved sessions will be lost - Graceful shutdown of all terminals --- ## Navigation and UI ### Command Palette Access the command palette for quick command search and execution. **Keyboard Shortcut**: `Ctrl+P` **Features**: - Fuzzy search for commands - Command descriptions - Keyboard navigation (arrow keys, Enter) - Recent commands - Theme switching ### Sidebar Toggle Show or hide the sidebar. **Keyboard Shortcut**: `Ctrl+S` **Alternative**: Click the `[≡]` button in the top bar ### Clear Input Clear the prompt input field. **Keyboard Shortcut**: `Ctrl+U` **Use Cases**: - Parallel agent execution - Comparing agent responses - Team-based workflows ### Cancel Operations Cancel running operations. **Keyboard Shortcuts**: - `Ctrl+C` - Cancel execution in focused terminal - `Escape` - Cancel all running agents (press twice to exit) --- ## Next Steps - [Terminals Management](terminals_management.md) - Advanced multi-terminal workflows - [Keyboard Shortcuts](keyboard_shortcuts.md) - Complete keyboard reference - [User Interface Guide](user_interface.md) - Visual components and layouts For questions or issues, visit [CAI GitHub Issues](https://github.com/aliasrobotics/cai/issues). --- *Last updated: October 2025 | CAI TUI v0.6+*