System Requirements
Happy works on macOS, Linux, and Windows with the following minimum requirements.
Required Software
- Node.js: Version 20.0.0 or higher
- Package Manager: npm, yarn, or pnpm
- Claude CLI: Installed and authenticated (for Claude mode)
- Gemini CLI: Installed for Gemini mode (optional)
Recommended
- Terminal: Modern terminal emulator with Unicode and emoji support
- Mobile Device: iOS 14+, Android 8+, or modern web browser
Installation Methods
- npm
- yarn
- pnpm
- From Source
Platform-Specific Setup
macOS
Or download from nodejs.org.
Happy automatically prevents your Mac from sleeping during active sessions using the
caffeinate command. To disable this:Linux
sudo apt update
sudo apt install nodejs npm
# Upgrade to Node 20+
sudo npm install -g n
sudo n stable
Windows
Download and install from nodejs.org or use package manager:
Post-Installation Setup
Verify Installation
Check that all components are working:happy doctor command checks:
- Node.js version compatibility
- Claude CLI installation and authentication
- Happy daemon status
- File permissions and configuration
- Network connectivity to Happy servers
Configure Data Directory
By default, Happy stores data in~/.happy. To use a custom location:
Connect Mobile App
Download the Happy app:- iOS: App Store
- Android: Google Play
- Web: app.happy.engineering
- Scan QR code with mobile app, or
- Open authentication URL in browser
Optional Dependencies
Gemini Support
To use Happy with Gemini:See the Gemini authentication guide for detailed setup.
Bun Runtime (Experimental)
Happy can use Bun as an alternative JavaScript runtime:Configuration Files
Configuration File Locations
Configuration File Locations
Happy stores configuration in these locations:
| File | Location | Purpose |
|---|---|---|
| Credentials | ~/.happy/access.key | Authentication credentials |
| Settings | ~/.happy/settings.json | User preferences |
| Logs | ~/.happy/logs/ | Daemon and session logs |
| Session Data | ~/.happy/sessions/ | Active session state |
| Daemon State | ~/.happy/daemon.state | Background service status |
Environment Variables
Customize Happy behavior with these environment variables:| Variable | Description | Default |
|---|---|---|
HAPPY_SERVER_URL | Custom server URL | https://api.cluster-fluster.com |
HAPPY_WEBAPP_URL | Custom web app URL | https://app.happy.engineering |
HAPPY_HOME_DIR | Data directory | ~/.happy |
HAPPY_DISABLE_CAFFEINATE | Disable macOS sleep prevention | false |
HAPPY_EXPERIMENTAL | Enable experimental features | false |
GEMINI_MODEL | Override default Gemini model | - |
GOOGLE_CLOUD_PROJECT | Google Cloud Project ID | - |
Troubleshooting
Command not found: happy
Command not found: happy
Solution: Ensure npm global bin directory is in your PATH:
Permission denied errors
Permission denied errors
Solution: Fix npm global permissions:
Claude CLI not found
Claude CLI not found
Solution: Install and authenticate Claude:
Daemon won't start
Daemon won't start
Solution: Check for conflicts and clean up:
Node version too old
Node version too old
Solution: Upgrade Node.js to 20.0.0 or higher:
macOS
Linux (using n)
Windows
Uninstallation
To remove Happy from your system:Next Steps
Quickstart Guide
Get started with your first Happy session
Authentication
Learn about authentication methods and security
CLI Reference
Explore all available commands
Settings
Customize Happy for your workflow