# CLAUDE-IPC.md IPC API surface documentation for the Maestro codebase. For the main guide, see [[CLAUDE.md]]. ## Overview The `window.maestro` API exposes the following namespaces: ## Core APIs - `settings` - Get/set app settings - `sessions` / `groups` - Persistence - `process` - Spawn, write, kill, resize - `fs` - readDir, readFile - `dialog` - Folder selection - `shells` - Detect available shells - `logger` - System logging ## Agent & Agent Sessions - `agents` - Detect, get, config, refresh, custom paths, getCapabilities - `agentSessions` - Generic agent session storage API (list, read, search, delete) - `agentError` - Agent error handling (clearError, retryAfterError) - `claude` - (Deprecated) Claude Code sessions - use `agentSessions` instead ## Git Integration - `git` - Status, diff, isRepo, numstat, branches, tags, info - `git` - Worktree support: worktreeInfo, getRepoRoot, worktreeSetup, worktreeCheckout - `git` - PR creation: createPR, checkGhCli, getDefaultBranch ## Web & Live Sessions - `web` - Broadcast user input, Auto Run state, tab changes to web clients - `live` - Toggle live sessions, get status, dashboard URL, connected clients - `webserver` - Get URL, connected client count - `tunnel` - Cloudflare tunnel: isCloudflaredInstalled, start, stop, getStatus ## Automation - `autorun` - Document and image management for Auto Run - `playbooks` - Batch run configuration management - `history` - Per-session execution history (see History API below) - `cli` - CLI activity detection for playbook runs - `tempfile` - Temporary file management for batch processing ## Analytics & Visualization - `stats` - Usage statistics: recordQuery, getAggregatedStats, exportCsv, clearOldData, getDatabaseSize - `stats` - Auto Run tracking: startAutoRun, endAutoRun, recordTask, getAutoRunSessions - `stats` - Real-time updates via `stats:updated` event broadcast - `documentGraph` - File watching: watchFolder, unwatchFolder - `documentGraph` - Real-time updates via `documentGraph:filesChanged` event ## History API Per-session history storage with 5,000 entries per session (up from 1,000 global). Each session's history is stored as a JSON file in `~/Library/Application Support/Maestro/history/{sessionId}.json`. ```typescript window.maestro.history = { getAll: (projectPath?, sessionId?) => Promise, add: (entry) => Promise, clear: (projectPath?, sessionId?) => Promise, delete: (entryId, sessionId?) => Promise, update: (entryId, updates, sessionId?) => Promise, // For AI context integration: getFilePath: (sessionId) => Promise, listSessions: () => Promise, // External change detection: onExternalChange: (handler) => () => void, reload: () => Promise, }; ``` **AI Context Integration**: Use `getFilePath(sessionId)` to get the path to a session's history file. This file can be passed directly to AI agents as context, giving them visibility into past completed tasks, decisions, and work patterns. ## Power Management - `power` - Sleep prevention: setEnabled, isEnabled, getStatus, addReason, removeReason ## Utilities - `fonts` - Font detection - `notification` - Desktop notifications, text-to-speech - `devtools` - Developer tools: open, close, toggle - `attachments` - Image attachment management