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

  1. Install/run the daemon on macOS only
  2. Skip daemon installation on Linux/Windows and run happy in the foreground instead
  3. Check the repo for Linux daemon support or file/track a feature request
  4. 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

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


AI-assisted analysis of slopus/happy@b824cd0a46 (2026-08-31). Data as JSON: /api/errors/75a8523fb84354ce. Report an issue: GitHub.