com um clique
session-orchestration
// Use when managing multiple iTerm2 sessions, creating split layouts, navigating session hierarchies, or orchestrating terminal workflows across panes.
// Use when managing multiple iTerm2 sessions, creating split layouts, navigating session hierarchies, or orchestrating terminal workflows across panes.
Control iTerm2 terminals. Use when splitting panes, sending commands to sessions, checking session output, setting badges, creating layouts, or coordinating multiple terminals.
Use when working with Claude Code sessions in iTerm2 - detecting Claude sessions, checking their status, linking sessions, or coordinating multiple Claude instances.
Use when monitoring iTerm2 session activity, watching for state changes, subscribing to notifications, or implementing automated responses to terminal events.
| name | session-orchestration |
| description | Use when managing multiple iTerm2 sessions, creating split layouts, navigating session hierarchies, or orchestrating terminal workflows across panes. |
| allowed-tools | ["Bash","Read","Grep"] |
Guidance for managing iTerm2 sessions using the it2 CLI tool.
# List all sessions
it2 session list
# Get current session ID
it2 session current
# Create a horizontal split (new pane below)
it2 session split --horizontal -q
# Create a vertical split (new pane to the right)
it2 session split --vertical -q
# Send text to a session
it2 session send-text "$SESSION_ID" "echo hello"
Sessions are identified by UUIDs (e.g., A81F7ED5-3F4B-4504-8F14-6C98F9422F72). Use the first 8 characters as shorthand for display purposes.
# Get current session
CURRENT_SID=$ITERM_SESSION_ID
# List sessions with JSON output for parsing
it2 session list --format json
Sessions exist within a hierarchy: Window → Tab → Session (Pane)
# Look up parent tab
it2 session lookup tab "$SID"
# Look up parent window
it2 session lookup window "$SID"
# Find sibling sessions (same split root)
it2 session lookup siblings "$SID"
The -q flag returns only the new session ID (quiet mode), essential for scripting.
# Create split and capture new session ID
NEW_SID=$(it2 session split --horizontal -q)
# Send command to new session
it2 session send-text "$NEW_SID" "cd /path/to/project && npm start"
# Start from main session
MAIN=$ITERM_SESSION_ID
# Create editor pane (right)
EDITOR=$(it2 session split --vertical -q)
# Create log pane (bottom of main)
LOGS=$(it2 session split --horizontal -q)
# Set up each pane
it2 session send-text "$EDITOR" "vim ."
it2 session send-text "$LOGS" "tail -f logs/*.log"
Always include the session ID prefix in badges for automation:
it2 session set-badge "$SID" "$(echo $SID | cut -c1-8)\nServer"
# Get comprehensive session info
it2 session get-info "$SID" --format json
# Check if session has shell integration
it2 session has-shell-integration "$SID"
# Get current screen contents
it2 session get-screen "$SID"
# Get scrollback buffer (last 100 lines)
it2 session get-buffer "$SID" --lines 100
-q flag when capturing session IDs from split operationsit2 session get-info --format json | jq .grid_size&& or ; when sending multiple commandsSee references/hierarchy.md for session hierarchy navigation. See references/layouts.md for complex layout recipes. See workflows/multi-project.md for multi-project setups.