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.

1

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.

2

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.

3

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.

1

Add the marketplace

claude plugin marketplace add softwaresoftware-dev/softwaresoftware-plugins

Run in your terminal.

2

Install the installer

claude plugin install softwaresoftware@softwaresoftware-plugins

Run in your terminal.

3

Launch Claude Code

claude

Start a new session so the installer is available.

4

Install daemon-manager + dependencies

/softwaresoftware:install daemon-manager

Run inside Claude Code.