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

  1. Switch to `happy agy` (Antigravity CLI) for the supported backend.
  2. Update scripts/aliases from `happy gemini` to `happy agy`.
  3. Install/authenticate the Antigravity CLI if not yet set up (see `happy agy --help` / happy connect for the new backend).
  4. 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

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


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