TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/slopus/happy/llms.txt
Use this file to discover all available pages before exploring further.
happy acp command runs any agent that implements the Agent Client Protocol (ACP), providing a generic interface for AI agent integration.
Syntax
Description
The ACP (Agent Client Protocol) command provides a unified interface for running various AI agents through Happy’s infrastructure. It supports:- Known ACP-compatible agents (gemini, opencode)
- Custom ACP commands
- Permission management
- Mobile control integration
- Session persistence
Arguments
Name of a known ACP agent to run. Currently supported:
gemini- Google Gemini agentopencode- OpenCode agent
Custom ACP-compatible command to execute (use with
-- separator)Options
Session origin. Options:
daemon or terminal. Internal usePrint raw ACP backend and envelope events for debugging
Separates Happy options from the custom ACP command. Everything after
-- is treated as the agent commandKnown Agents
Gemini
happy gemini but uses the ACP protocol layer.
For Gemini, we recommend using
happy gemini directly for the best experience with Gemini-specific features.OpenCode
Examples
Run Known Agent
Run Custom ACP Command
-- separator tells Happy that everything after it is part of the agent command.
Verbose Mode
Custom Agent with Arguments
Output
Standard Mode
In standard mode, you see cleaned-up messages:Verbose Mode
With--verbose, you see raw ACP events:
ACP Protocol
The Agent Client Protocol (ACP) is a standardized protocol for AI agent communication. It defines:- Message format for agent communication
- Tool calling conventions
- Permission request/response flow
- Session state management
- Configuration options
Protocol Events
Common ACP events you might see with--verbose:
Creating Custom ACP Agents
To create your own ACP-compatible agent:- Implement the ACP protocol in your agent
- Ensure it accepts standard ACP messages
- Output ACP-formatted events
- Run it through Happy:
- Session management
- Mobile connectivity
- Permission handling
- State synchronization
Configuration
Agent-Specific Config
Each agent may have its own configuration. For example, Gemini through ACP uses:~/.gemini/config.json- Model and project settings~/.gemini/oauth_creds.json- Authentication tokens
Happy Config
Happy’s ACP integration respects:- Sandbox settings from
happy sandbox configure - Permission modes from mobile app
- Session metadata and state
Session Management
Mode Changes
When permission mode or model changes, Happy automatically:- Stops the current agent session
- Preserves conversation context
- Restarts with new settings
- Resumes with full history
Remote Control
Control ACP agents from your mobile device:- Send prompts and receive responses
- Change permission modes
- Abort or kill sessions
- Monitor tool executions
Troubleshooting
Agent Not Found
If you see “Unknown ACP agent”:Protocol Errors
If the agent fails with protocol errors:Authentication Issues
Ensure you’re authenticated:Debug Mode
Enable full debugging:~/.happy/logs/.
Performance Considerations
Verbose Mode Impact
Using--verbose adds overhead from:
- Console output formatting
- Event serialization
- Additional logging
Agent Restarts
Mode changes trigger agent restarts. To minimize restarts:- Set permission mode once at session start
- Avoid frequent model changes
- Use consistent configuration
Advanced Usage
Chaining with Other Tools
Custom MCP Servers
ACP agents can use Happy’s MCP server for enhanced capabilities:- Access to session metadata
- Mobile device communication
- Permission management
Protocol Specification
For the full ACP specification, see: The protocol is maintained by Zed Industries and uses the official@agentclientprotocol/sdk package.
Related Commands
- happy gemini - Google Gemini agent
- happy codex - OpenAI Codex agent
- happy connect - Connect API keys
- happy sandbox - Configure sandboxing
- happy doctor - System diagnostics
The
acp command provides a generic interface. For the best experience with specific agents, use their dedicated commands (e.g., happy gemini instead of happy acp gemini).