Document the critical finding that text and Enter key must be sent
as separate screen -X stuff commands for Ink to process correctly.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fixed respawn controller immediately sending commands when Claude
becomes idle, which prevented users from typing. Now waits for
idleTimeoutMs (default 10s) before triggering the respawn cycle.
- Removed Directory field from Session Options modal for cleaner UI
- Compacted CLAUDE.md documentation for better readability
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add quick reference table for commonly used API endpoints and clarify
that no linter is configured (use tsc --noEmit for type checking).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update CLAUDE.md:
- Add inner-loop-tracker.ts to architecture diagram
- Add InnerLoopTracker component description
- Add Inner Loop Tracking section with patterns and API
- Update SSE events list with inner loop events
- Update state persistence notes
Update README.md:
- Add Inner Loop Tracking to features list
- Add Inner Loop Tracking section with detection patterns, UI, and API
- Update State Files section with state-inner.json
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Kickstart Prompt:
- Remove Idle Timeout setting from respawn UI (uses 10s default)
- Add Kickstart Prompt field sent when /init doesn't trigger work
- New states: monitoring_init, sending_kickstart, waiting_kickstart
- Monitors 3s after /init to detect if Claude started working
Auto-Compact Context:
- Add auto-compact at 110k tokens (sends /compact with optional prompt)
- Preserves summarized context unlike /clear which wipes everything
- Optional focus prompt to guide what compact should preserve
- Blocks auto-clear while compacting to prevent conflicts
Also updates auto-clear default threshold from 100k to 140k tokens.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Make dev mode GOTCHA more prominent with warning emoji
- Add State Store Debouncing pattern documenting 100ms debounce
- Add dedicated E2E Testing section with quick test sequence
- Move E2E info from Notes to its own section
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add task-tracker.ts to architecture tree
- Document pre-compiled regex pattern convention for performance
- Update idle detection docs with hybrid indicator+timeout approach
- Add buffer limits table with all size constants
- Clarify test configuration (ports 3101-3108)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- killScreen now finds and kills all child processes before quitting screen
to prevent claude processes from becoming orphaned (the main bug)
- Add cleanupSession() method for comprehensive resource cleanup:
respawn controllers, timers, batches, event listeners, and sessions
- Fix /api/run endpoint to cleanup sessions after completion
- Fix /api/quick-start error path to cleanup on failure
- Add MAX_CONCURRENT_SESSIONS (50) limit to prevent unbounded growth
- Update CLAUDE.md with improved documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Redesign Run Claude button with purple gradient
- Redesign Run Shell button with dark green gradient
- Add + button to create new cases from toolbar
- Add Create Case modal for quick case creation
- Add Kill All modal with two options (tabs only vs full kill)
- Add CPU/Memory progress bars with color gradients
- Make monitor panel detachable as floating draggable window
- Monitor panel resizable when detached (min 350x250)
- Default CLAUDE.md template now uses /home/arkon/default/CLAUDE.md
- Streamline CLAUDE.md documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
GNU screen creates blank space at the top when initializing sessions.
This is now handled after attaching to the screen:
- Claude sessions: emit clearTerminal event after 100ms, client clears xterm
- Shell sessions: send 'clear' command after 100ms
Also updates CLAUDE.md with documentation of the fix.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Document three endpoints that were in the code but missing from docs:
- GET /api/sessions/:id/output
- POST /api/sessions/:id/run
- POST /api/run
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add complete API endpoint listing organized by category
- Include request body formats for all endpoints
- Add key frontend files reference for easier navigation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Monitor panel now 500px wide and 80vh max height
- Removed Copy, Clear, Monitor, Kill buttons from toolbar
- Redesigned close session modal with cleaner options:
- "Remove Tab" keeps screen running
- "Kill Claude" terminates completely
- Auto-switch to new session when created
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Document different token tracking approaches for one-shot vs interactive modes
- Update PTY spawn mode examples to show --output-format stream-json flag
- Explain that interactive mode parses tokens from status line with 60/40 split estimate
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Instead of showing "No background tasks" message, the section is now
completely hidden when there are no tasks, making the UI cleaner.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Make it explicit that `npm run dev` shows CLI help, not starts server.
Document the correct command: `npx tsx src/index.ts web`
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move font controls (A+/A-) to left of connection status
- Redesign tab count with stepper buttons (−/number/+)
- Remove respawn panel, integrate settings into session options modal
- Fix Monitor panel SSE handler (wrong element ID)
- Add screen wrapping support to Session class
- Add E2E testing skill using agent-browser
- Document testing approach in README.md and CLAUDE.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
README.md:
- Add multi-tab sessions, monitor panel, session restoration to features
- Update keyboard shortcuts (remove Ctrl+N, update descriptions)
- Document new UI features in Additional Features section
CLAUDE.md:
- Add screen-manager.ts to architecture diagram
- Add ScreenManager to key components section
- Update WebServer description with session restoration
- Add completed tasks for recent features
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
All 6 tasks from the pending list have been implemented:
1. Settings gear icon with app settings modal
2. Confirmation dialog for session close
3. Default CLAUDE.md template path setting
4. GNU screen wrapping with Process Monitor panel
5. UI cleanup (respawn controls, directory width)
6. Terminal focus escape sequence filtering
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Document the centralized TypeScript interfaces in src/types.ts
including core state types, configuration types, and API error handling.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move respawn controls from toolbar to session options modal
- Remove unnecessary Mode label from session options (visible in tab)
- Increase directory input width from 200px to 350px
- Add RTL direction to directory display to show end of long paths
- Add respawn status indicator with stop/configure buttons in modal
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add session rename endpoint (PUT /api/sessions/:id/name)
- Add shell session endpoint (POST /api/sessions/:id/shell)
- Update session creation to include mode and name parameters
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix terminal welcome message to say "Run Claude" instead of "Quick Start"
- Fix Ctrl+Enter keyboard shortcut by using capture phase
- Auto-select default case and show directory on load
- Make gear icon larger (1rem) with rotation animation on hover
- Add right-click on session tabs for inline rename
- Update directory display when case selection changes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add documentation for token tracking and auto-clear
- Add documentation for enable respawn on existing sessions
- Add documentation for timed respawn duration
- Add TaskTracker to architecture diagram
- Update keyboard shortcuts section
- Add new SSE events to event catalog
- Add new API endpoints documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Include npm test scripts and vitest commands for running
single test files and pattern matching.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements an autonomous respawn loop that keeps Claude Code productive:
- Detects idle state by monitoring PTY for prompt character + timeout
- Sends configurable update prompt when idle (default: "update all the docs and CLAUDE.md")
- Executes /clear and /init to reset session
- Cycles automatically
New features:
- RespawnController class with state machine (watching → update → clear → init)
- REST API endpoints for respawn control (/api/sessions/:id/respawn/*)
- Web UI controls: toggle, prompt config, idle timeout settings
- SSE events for real-time respawn status updates
- Full CLAUDE.md template with Ralph Loop instructions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claudeman manages multiple Claude CLI sessions as subprocesses with:
- Session management (start/stop/list/logs)
- Priority-based task queue with dependency support
- Ralph Loop for autonomous task assignment and completion detection
- Time-aware loops for extended work sessions
- JSON file persistence to ~/.claudeman/state.json
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>