search: count --all-repos in the empty-query fast-fail guard · Entire

search: count --all-repos in the empty-query fast-fail guard

2f7fe5d→main·

alishakawaguchi·1mo ago·1 file·+4 added/-1 removed

The non-interactive "query required" guard built its own hasFilters without --all-repos, so entire search --all-repos --json (or piped/accessible) with an empty query errored instead of running a wildcard search. Mirror search.Config.HasFilters here (the guard runs before git/auth, so it can't call searchCfg.HasFilters() directly).

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Sessions

34b6a5be974fView transcript

[?
Redesign Search TUI Table with Master-Detail LayoutClaude Code·Opus 4.8[1m]·2 steps](/content/gh/entireio/cli/session/a891fc9c-9a5b-4cbb-8341-7bb4230da520#timeline-34b6a5be974f/index.html)

Changes

1

80 unmodified lines

81
82
83
84
84
85
86
87
88
89
90

80 unmodified lines

w := cmd.OutOrStdout()
            isTerminal := interactive.IsTerminalWriter(w)
            hasFilters := authorFlag != "" || dateFlag != "" || branchFlag != "" || len(repos) > 0
            // Mirror search.Config.HasFilters (incl. --all-repos) so an empty
            // query with only filters isn't rejected here. This guard runs
            // before git/auth, so it can't call searchCfg.HasFilters() directly.
            hasFilters := authorFlag != "" || dateFlag != "" || branchFlag != "" || len(repos) > 0 || allRepos

// Fast-fail: no query + non-interactive mode = error (before auth/git checks)
            if query == "" && !hasFilters && (jsonOutput || !isTerminal || IsAccessibleMode()) {