slopus/happy · warning
⚠ The gemini backend is deprecated and may be removed in a f
Error message
⚠ The gemini backend is deprecated and may be removed in a future release. Use `happy agy` (Antigravity CLI) instead.
What it means
The `happy gemini` command prints a deprecation notice before dispatching to runGemini. The standalone Gemini CLI is EOL and Google's Antigravity CLI (agy) is its successor; this backend may be removed in a future happy release.
Source
Thrown at packages/happy-cli/src/index.ts:335
// Handle "happy gemini project" (no subcommand) - show help
if (geminiSubcommand === 'project' && !args[2]) {
console.log('Usage: happy gemini project <command>');
console.log('');
console.log('Commands:');
console.log(' set <project-id> Set Google Cloud Project ID');
console.log(' get Show current Google Cloud Project ID');
console.log('');
console.log('Google Workspace accounts require a Google Cloud Project.');
console.log('If you see "Authentication required" error, set your project ID.');
console.log('');
console.log('Guide: https://goo.gle/gemini-cli-auth-docs#workspace-gca');
process.exit(0);
}
// Handle gemini command (ACP-based agent)
try {
// The standalone gemini CLI is EOL; agy (Antigravity CLI) is its successor.
console.warn(chalk.yellow('⚠ The gemini backend is deprecated and may be removed in a future release. Use `happy agy` (Antigravity CLI) instead.'));
const { runGemini } = await import('@/gemini/runGemini');
// Parse startedBy argument
let startedBy: 'daemon' | 'terminal' | undefined = undefined;
for (let i = 1; i < args.length; i++) {
if (args[i] === '--started-by') {
startedBy = args[++i] as 'daemon' | 'terminal';
}
}
const {
credentials
} = await authAndSetupMachineIfNeeded();
await ensureDaemonRunning()
await runGemini({credentials, startedBy});
} catch (error) {View on GitHub (pinned to b824cd0a46)
Solutions
- Switch to `happy agy` (Antigravity CLI) for the supported backend.
- Update scripts/aliases from `happy gemini` to `happy agy`.
- Install/authenticate the Antigravity CLI if not yet set up (see `happy agy --help` / happy connect for the new backend).
- Plan for removal: pin the current happy version if you must keep gemini temporarily.
Example fix
// before happy gemini "fix the bug" // after happy agy "fix the bug"
Defensive patterns
Strategy: fallback
Validate before calling
// grep scripts/aliases for the deprecated command before upgrading grep -rn "happy gemini" scripts/ .bashrc .zshrc 2>/dev/null
Prevention
- Replace `happy gemini` with `happy agy` in scripts and shell aliases now.
- Read happy release notes for deprecation/removal timelines.
- Pin the happy version in CI if you rely on legacy backends.
- Wrap legacy commands in an alias that maps to the new one.
When it happens
Trigger: Invoking `happy gemini ...` (the ACP-based gemini agent path in index.ts) in any form.
Common situations: Scripts, aliases, or muscle memory still calling `happy gemini` after upgrading happy; docs/tutorials referencing the old command.
Related errors
- Usage: happy acp <agent-name> or happy acp -- <command> [arg
- Missing command after "--". Usage: happy acp -- <command> [a
- Daemon-spawned sessions cannot use local/interactive mode. U
- Codex CLI is not installed Please install Codex CLI using o
- Unsupported vendor: ${vendor}
AI-assisted analysis of slopus/happy@b824cd0a46 (2026-08-31).
Data as JSON: /api/errors/094a005af93b8c52.
Report an issue: GitHub.