Claude Code Plugin
Long-running daemons without the complexity.
Generic daemon lifecycle manager for Claude Code plugins. Start, stop, and monitor persistent background processes that survive across sessions. Cross-platform IPC handles the plumbing so your plugin doesn't have to.
Processes that outlive your session.
Some plugins need a background process running persistently — a WebSocket server, a file watcher, a local proxy. Without daemon-manager, each plugin reinvents PID tracking, lock files, and crash recovery.
daemon-manager handles the full lifecycle: start, stop, status, list, and one-call autostart registration, plus check-updates and sync to keep daemons current. It manages PID files, cross-platform IPC (Unix sockets on Linux/macOS, named pipes on Windows), and lock files. Your plugin just says what to run.
daemon_start
starting browser-bridge daemon...
pid: 48291
socket: /tmp/browser-bridge.sock
daemon running.
How it works.
Start
A plugin calls daemon_start with a name and command. daemon-manager spawns the process, writes a PID file, and sets up an IPC socket for communication.
Monitor
daemon_status checks if a daemon is alive, returns its PID and uptime. Detects stale PID files from crashed processes and cleans them up automatically.
Stop
daemon_stop sends a graceful shutdown signal, waits for cleanup, and removes the PID and socket files. Force-kill available as a fallback.
Provides the daemon capability for the softwaresoftware-plugins ecosystem. Any plugin that needs persistent background processes routes through this provider.
Cross-platform IPC
Unix sockets on Linux and macOS, named pipes on Windows. Your plugin communicates with its daemon the same way regardless of OS.
Crash recovery
Detects stale PID files from processes that died unexpectedly. Cleans up orphaned sockets and lock files so daemons can restart cleanly.
Capability provider
Implements the daemon capability from the softwaresoftware-plugins ecosystem. Plugins like claude-browser-bridge depend on this for persistent WebSocket servers.
Session-independent
Daemons survive across Claude Code sessions. Start a process in one conversation, check on it in another. No re-initialization needed.
Auto-restart on update
When a plugin ships a new version, its daemon is still running the old code. daemon-manager catches that drift and restarts the daemon on your next session start, so updates take effect without a manual restart.
Install
Requires Claude Code. Works on Linux, macOS, and Windows.
Add the marketplace
claude plugin marketplace add softwaresoftware-dev/softwaresoftware-plugins
Run in your terminal.
Install the installer
claude plugin install softwaresoftware@softwaresoftware-plugins
Run in your terminal.
Launch Claude Code
claude
Start a new session so the installer is available.
Install daemon-manager + dependencies
/softwaresoftware:install daemon-manager
Run inside Claude Code.