stablyai/orca · warning · Error
Quick Open scan too large (${reason}). Install ripgrep ${loc
Error message
Quick Open scan too large (${reason}). Install ripgrep ${location} to enable fast, gitignore-aware listing: ${cmd} What it means
Thrown by listQuickOpenFiles() when ripgrep is unavailable and the no-ripgrep fallback (listFilesWithGit) raised a QuickOpenReaddirBudgetError — i.e. the directory walk exceeded the readdir entry budget because the tree was too large to enumerate safely without ripgrep. buildInstallRgMessage composes the final string with the underlying reason, an install command detected from the OS (apt/dnf/pacman/brew), and whether the scan runs locally or remotely. It is guidance, not a crash: install ripgrep to restore fast, gitignore-aware listing.
Source
Thrown at src/main/ipc/filesystem-list-files.ts:61
// every worktree instead of just the active one. The shared helper
// normalizes, validates, and root-relativizes every input.
const excludePathPrefixes = buildExcludePathPrefixes(authorizedRootPath, excludePaths)
const wslDistroForOutput = parseWslPath(authorizedRootPath)?.distro ?? localGitOptions.wslDistro
const listWithoutRipgrep = async (): Promise<string[]> => {
try {
return await listFilesWithGit(
authorizedRootPath,
excludePathPrefixes,
localGitOptions,
signal,
maxResults
)
} catch (err) {
if (!isQuickOpenReaddirBudgetError(err)) {
throw err
}
throw new Error(await buildInstallRgMessage(err))
}
}
if (
wslDistroForOutput &&
!(await checkRgAvailable(authorizedRootPath, localGitOptions.wslDistro))
) {
return listWithoutRipgrep()
}
const files = new Set<string>()
const children: {
child: ChildProcess
isDone: () => boolean
finish: () => void
}[] = []
// Why: WSL-routed rg can emit Linux-native absolute paths. UNC repos carry
// their distro in the path; Windows-path repos carry it in project runtime.
const { primary, ignoredPass } = buildRgArgsForQuickOpen({View on GitHub (pinned to 1136503c6a)
Solutions
- Install ripgrep using the command in the message (e.g. 'sudo apt install ripgrep', 'brew install ripgrep').
- Ensure the rg binary is on PATH for the process running the scan (and inside the WSL distro for WSL repos).
- Restart Orca after install so rg availability is re-detected.
- If installing is impossible, reduce the scanned tree size (narrower workspace) so the no-rg fallback stays under budget.
Example fix
// before: rg missing -> 'Quick Open scan too large (readdir budget exceeded)...' // after, on Debian/Ubuntu: // sudo apt install ripgrep // then restart Orca
Defensive patterns
Strategy: validation
Validate before calling
// Verify ripgrep availability before triggering Quick Open scans
import { checkRgAvailable } from './rg-availability'
async function ensureRgForScan(rootPath: string, wslDistro?: string): Promise<boolean> {
return checkRgAvailable(rootPath, wslDistro)
} Try / catch
try {
await listQuickOpenFiles(rootPath, store, excludePaths, signal, maxResults)
} catch (e) {
if (e instanceof Error && /Install ripgrep/.test(e.message)) {
// surface install guidance to the user; after install, restart and retry
} else throw e
} Prevention
- Install ripgrep on every machine that runs Quick Open (apt/dnf/pacman/brew).
- For WSL repos, ensure rg is installed inside the distro and on its PATH.
- Restart Orca after installing rg so availability is re-detected.
When it happens
Trigger: listQuickOpenFiles runs in an environment where checkRgAvailable is false (or rg failed to start), so it calls listWithoutRipgrep; that fallback hits the readdir budget for a large tree and throws a budget error, which is converted into this install-rg message.
Common situations: Fresh Linux/WSL machine without ripgrep installed and a very large repo; ripgrep binary removed or not on PATH in the SSH/WSL distro; a remote Quick Open scan where the host lacks rg; CI/packaged build that did not bundle rg.
Related errors
- No user WSL distro found. Install/enable WSL or pass --distr
- Timed out waiting for ${description}
- Could not reserve a guest port: ${result.stdout}
- This benchmark requires a Windows host with WSL
- WSL distro '${distro}' needs Node.js 18 or newer to run Orca
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/9ef351237a7f207c.
Report an issue: GitHub.