Claude Code is the default agent in Happy. Running happy without a subcommand starts a Claude Code session.
Basic usage
This opens Claude Code in your terminal with Happy’s mobile sync layer on top. Everything you can do in Claude Code, you can do through Happy — plus mobile access, voice control, and orchestration.
Claude Code options
Happy supports all Claude Code flags — any flag not recognized by Happy is passed through to Claude Code directly. For example:
happy -m sonnet-4-6 # Choose a model
happy -p plan # Set permission mode
happy --resume # Resume last session
happy --allowedTools Read,Write,Bash
Run happy --help to see both Happy-specific and Claude Code options.
Happy-specific flags
These flags are handled by Happy itself (not passed to Claude Code):
| Flag | Description |
|---|
--yolo | Shortcut for --dangerously-skip-permissions |
--claude-env KEY=VALUE | Set environment variable for the Claude Code process |
--js-runtime <node|bun> | Runtime to spawn Claude Code with (default: node) |
--happy-starting-mode <local|remote> | local for interactive terminal, remote for mobile-controlled |
--chrome / --no-chrome | Enable or disable Chrome browser access |
Environment variables
Pass environment variables to the Claude Code process:
happy --claude-env API_KEY=sk-123 --claude-env DEBUG=true
Permission shortcut
--yolo is Happy’s shorthand for Claude Code’s --dangerously-skip-permissions:
This skips all permission prompts. The agent can modify files, run commands, and make network requests without asking.
JavaScript runtime
By default, Happy spawns Claude Code with Node.js. To use Bun instead:
Starting mode
Control whether the session starts in local (interactive) or remote (mobile-controlled) mode:
happy --happy-starting-mode local # Interactive terminal (default)
happy --happy-starting-mode remote # Controlled from mobile app