Skip to content

Unable to use additional_dependencies with Rust hooks in repos that have multiple binaries #1682

@rouge8

Description

@rouge8

Summary

I'm trying to add a pre-commit hook for the latest fish_indent, as seen in the config below, but I get this error:

prek install-hooks
error: Failed to install hook `fish_indent`
  caused by: Command `install cli dep` exited with an error:

[status]
exit status: 101

[stderr]
Updating git repository `https://github.com/fish-shell/fish-shell`
error: multiple packages with binaries found: fish, xtask. When installing a git repository, cargo will always search the entire repo for any Cargo.toml.
Please specify a package, e.g. `cargo install --git https://github.com/fish-shell/fish-shell fish`.

Willing to submit a PR?

  • Yes — I’m willing to open a PR to fix this.

Platform

Darwin 24.6.0 arm64

Version

prek 0.3.3 (Homebrew 2026-02-15)

.pre-commit-config.yaml

repos:
  - repo: local
    hooks:
      - id: fish_indent
        name: fish_indent
        language: rust
        additional_dependencies:
          - cli:https://github.com/fish-shell/fish-shell:4.5.0
        entry: fish_indent
        args: [-w]
        files: .+\.fish

Log file

2026-02-21T04:31:40.253240Z DEBUG prek: 0.3.3 (Homebrew 2026-02-15)
2026-02-21T04:31:40.253301Z DEBUG Args: ["prek", "-vvv", "install-hooks"]
2026-02-21T04:31:40.264213Z TRACE get_root: close time.busy=10.8ms time.idle=54.2µs
2026-02-21T04:31:40.264253Z DEBUG Git root: /Users/andy/tmp/prek-rust-fish_indent
2026-02-21T04:31:40.264287Z DEBUG Found workspace root at `/Users/andy/tmp/prek-rust-fish_indent`
2026-02-21T04:31:40.264300Z TRACE Include selectors: ``
2026-02-21T04:31:40.264307Z TRACE Skip selectors: ``
2026-02-21T04:31:40.264412Z DEBUG discover{root="/Users/andy/tmp/prek-rust-fish_indent" config=None refresh=false}: Loaded workspace from cache
2026-02-21T04:31:40.264445Z DEBUG discover{root="/Users/andy/tmp/prek-rust-fish_indent" config=None refresh=false}: Loading project configuration path=.pre-commit-config.yaml
2026-02-21T04:31:40.265072Z TRACE discover{root="/Users/andy/tmp/prek-rust-fish_indent" config=None refresh=false}: close time.busy=736µs time.idle=12.2µs
2026-02-21T04:31:40.265281Z TRACE Checking lock resource="store" path=/Users/andy/.cache/prek/.lock
2026-02-21T04:31:40.265300Z DEBUG Acquired lock resource="store"
2026-02-21T04:31:40.266737Z TRACE Using system installed rustup at /Users/andy/.cargo/bin/rustup
2026-02-21T04:31:40.266840Z TRACE Checking lock resource="rustup" path=/Users/andy/.cache/prek/tools/rustup/.lock
2026-02-21T04:31:40.266853Z DEBUG Acquired lock resource="rustup"
2026-02-21T04:31:40.266881Z TRACE Executing `/Users/andy/.cargo/bin/rustup toolchain list -v`
2026-02-21T04:31:40.278184Z TRACE Executing `/Users/andy/.cargo/bin/rustup toolchain list -v`
2026-02-21T04:31:40.288828Z TRACE Executing `/Users/andy/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rustc --version`
2026-02-21T04:31:40.289086Z TRACE Executing `/Users/andy/.rustup/toolchains/nightly-aarch64-apple-darwin/bin/rustc --version`
2026-02-21T04:31:40.306240Z TRACE Found matching system rust name=nightly-aarch64-apple-darwin
2026-02-21T04:31:40.306276Z TRACE Using system rust rust=/Users/andy/.rustup/toolchains/nightly-aarch64-apple-darwin@1.95.0-nightly
2026-02-21T04:31:40.306289Z TRACE Released lock path=/Users/andy/.cache/prek/tools/rustup/.lock
2026-02-21T04:31:40.306524Z TRACE Executing `/Users/andy/.rustup/toolchains/nightly-aarch64-apple-darwin/bin/cargo install --bins --root /Users/andy/.cache/prek/hooks/rust-To61QTPD8Vc5UN6OVBvK --git https://github.com/fish-shell/fish-shell [...]`
2026-02-21T04:31:40.599658Z TRACE Released lock path=/Users/andy/.cache/prek/.lock

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions