slopus/happy · error
Daemon installation is currently only supported on macOS
Error message
Daemon installation is currently only supported on macOS
What it means
install() guards daemon installation to macOS only; on any other platform (linux, win32) it throws immediately before attempting the macOS-specific launchd install. The daemon implementation only exists for macOS (launchd plist via ./mac/install).
Source
Thrown at packages/happy-cli/src/daemon/install.ts:6
import { logger } from '@/ui/logger';
import { install as installMac } from './mac/install';
export async function install(): Promise<void> {
if (process.platform !== 'darwin') {
throw new Error('Daemon installation is currently only supported on macOS');
}
if (process.getuid && process.getuid() !== 0) {
throw new Error('Daemon installation requires sudo privileges. Please run with sudo.');
}
logger.info('Installing Happy CLI daemon for macOS...');
await installMac();
}View on GitHub (pinned to b824cd0a46)
Solutions
- Install/run the daemon on macOS only
- Skip daemon installation on Linux/Windows and run happy in the foreground instead
- Check the repo for Linux daemon support or file/track a feature request
- On Windows use WSL only if a Linux daemon path exists — otherwise it is unsupported
Example fix
// before
await install(); // throws on linux/windows
// after
if (process.platform !== 'darwin') {
console.log('Daemon install requires macOS; running without daemon.');
} else {
await install();
} Defensive patterns
Strategy: validation
Validate before calling
if (process.platform !== 'darwin') {
console.log('Daemon install is macOS-only; skipping.');
} else {
await install();
} Try / catch
try {
await install();
} catch (err) {
if (err.message.includes('only supported on macOS')) {
console.log('Run happy without the daemon on this platform.');
} else throw err;
} Prevention
- Check process.platform before invoking daemon install
- Only follow macOS docs on macOS machines
- Feature-detect daemon support rather than assuming
- Avoid daemon install in Linux CI runners
When it happens
Trigger: Running `happy daemon install` (or the equivalent command) on Linux or Windows.
Common situations: Developer on a Linux/WSL machine tries to set up the daemon following macOS docs; CI runner on ubuntu attempts daemon install; user expects cross-platform daemon support that doesn't exist yet.
Related errors
- Daemon uninstallation is currently only supported on macOS
- Daemon-spawned sessions cannot use local/interactive mode. U
- Process did not die within timeout
- Daemon installation requires sudo privileges. Please run wit
- Tmux window created but no PID returned
AI-assisted analysis of slopus/happy@b824cd0a46 (2026-08-31).
Data as JSON: /api/errors/75a8523fb84354ce.
Report an issue: GitHub.