Skip to content

Windows native support (named pipe + psmux)#183

Open
shobgj132 wants to merge 33 commits intobfly123:v6from
shobgj132:v6
Open

Windows native support (named pipe + psmux)#183
shobgj132 wants to merge 33 commits intobfly123:v6from
shobgj132:v6

Conversation

@shobgj132
Copy link
Copy Markdown

Summary

  • CCB Windows native support without WSL dependency
  • Named Pipe IPC replacing Unix socket on Windows
  • psmux backend replacing tmux on Windows
  • 25+ fixes covering the full stack: process spawn, pipe communication, session lifecycle, keeper stability

Key changes

  • Windows detached process spawn (CREATE_NEW_PROCESS_GROUP + DETACHED_PROCESS + CREATE_NO_WINDOW)
  • Named Pipe multi-instance with spare handle pre-creation
  • Named Pipe readiness probe retry loop
  • Windows PID liveness check via tasklist (replacing os.kill)
  • Keeper restart storm protection (max 5 retries)
  • JSON store read locking for Windows file contention
  • Skip self pipe probe in daemon health/startup report
  • psmux placeholder using cmd.exe instead of pwsh (session stability)
  • Skip WSL-dependent tmux UI scripts on Windows/psmux
  • Extended probe/heartbeat timeouts for Windows
  • Hardened system tool paths (absolute paths to prevent PATH hijacking)
  • Global subprocess CREATE_NO_WINDOW monkey-patch to prevent console popups

Test plan

  • V1: Installation verification (ccb --version)
  • V2: Daemon startup (named_pipe + psmux, status=ok)
  • V3: Agent communication (ccb ask)
  • V4: Task dispatch and retrieval (ccb pend)
  • All changes gated by os.name == 'nt', Linux/macOS unaffected

Generated with Claude Code

bfly123 added 30 commits April 22, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants