nikivdev/code · error

`f hive` is deprecated and currently disabled while Hive is

Error message

`f hive` is deprecated and currently disabled while Hive is being retired.

Use these replacements instead:
  - Natural-language shell work: `do shell "<query>"`
  - Run-owned agents from `~/run`: `run <agent>` or `do <agent>`
  - Personal env vars: `f env guide` or `f env set KEY=VALUE`
  - Code move flows: `f migrate code`
  - AI session helpers: `f codex ...` or `f claude ...`

Flow-side Hive cleanup is in progress. The old `f hive` entrypoint is no longer the supported path.

What it means

The entire `f hive` CLI entrypoint is deprecated and hard-disabled while Hive is being retired. run_command immediately bails with a detailed deprecation message regardless of arguments. It exists only to redirect users to replacement flows and to fail loudly rather than silently misbehave.

Source

Thrown at src/hive.rs:490

                let matched = terms.iter().any(|term| {
                    let needle = term.to_lowercase();
                    !needle.is_empty() && content_lower.contains(&needle)
                });
                if matched && !matches.contains(&name) {
                    matches.push(name);
                }
            }
        }
    }

    matches.truncate(max);
    matches
}

/// Handle the `f hive` CLI command.
pub fn run_command(cmd: crate::cli::HiveCommand) -> Result<()> {
    let _ = cmd;
    anyhow::bail!(deprecation_message())
}

#[cfg(test)]
mod tests {
    use super::*;
    use crate::cli::HiveCommand;

    #[test]
    fn test_agent_source_display() {
        assert_eq!(format!("{}", AgentSource::ProjectConfig), "project");
        assert_eq!(format!("{}", AgentSource::GlobalHive), "hive");
    }

    #[test]
    fn test_deprecation_message_mentions_shell_and_env_replacements() {
        let message = deprecation_message();
        assert!(message.contains("do shell"));
        assert!(message.contains("run <agent>"));

View on GitHub (pinned to a747e741ae)

Solutions

  1. Replace shell/natural-language work with `do shell "<query>"`
  2. Run owned agents with `run <agent>` or `do <agent>` from ~/run
  3. Use `f env guide` / `f env set KEY=VALUE` for personal env vars
  4. Use `f migrate code` for code-move flows and `f codex ...` / `f claude ...` for AI session helpers

Example fix

// before
f hive code-move
// after
f migrate code
Defensive patterns

Strategy: validation

Validate before calling

if cmd_first_arg_is("hive") {
    eprintln!("f hive is disabled; use 'do shell', 'run <agent>', or 'f migrate code'");
    return;
}

Prevention

When it happens

Trigger: Invoking any `f hive ...` subcommand; run_command matches the HiveCommand and unconditionally calls anyhow::bail!(deprecation_message()).

Common situations: Older scripts, docs, aliases, or muscle memory still calling `f hive`; automated workflows written before the Hive retirement; tutorials referencing the removed feature.

Related errors


AI-assisted analysis of nikivdev/code@a747e741ae (2026-09-01). Data as JSON: /api/errors/3e5c54191a0ad21f. Report an issue: GitHub.