grep tool passes empty file type to ripgrep

Offen Anfängerfreundlich
#655 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
68/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
cli
Bereich
cli, tooling

Rechercherichtung

Beginne mit der Implementierung des integrierten grep-Tools und dem Einstiegspunkt, der seine ripgrep-Argumente erstellt. Reproduziere das Problem mit einem Glob und einem nicht gesetzten type und überprüfe anschließend, dass kein leerer type übergeben wird und nicht unterstützte type-Werte einen eindeutigen Fehler erhalten. Führe die vorhandenen Tests des grep-Tools aus, falls vorhanden, und ergänze Abdeckung für beide Fälle.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

I asked Command Code to search my project log files for errors using its built-in search tools. Command Code invoked its grep tool, but the search failed before it searched anything.

What I expected

When I ask Command Code to search matching log files with a pattern such as:

  • Glob: **/*.log
  • Pattern: error|exception|failed|failure|fatal|critical|warning|stack trace|traceback

I expect Command Code's search tool to search the matching files. If no file type is selected, the tool should search based on the glob alone.

What happened

Command Code's grep tool returned:

grep: rg: unrecognized file type:

This indicates that the tool is passing an empty type value to ripgrep, effectively invoking something like:

rg --type '' ...

Command Code also tried using type: "text", which returned:

grep: rg: unrecognized file type: text

text is not a registered ripgrep file type.

I did not run grep, rg, or the file search manually. Command Code invoked the search tool as part of handling my request.

How to reproduce

  1. Run Command Code 1.14.0 on macOS.
  2. Ask Command Code to search project log files for errors.
  3. Command Code invokes the built-in grep tool with a valid project path, glob: "**/*.log", and an error pattern.
  4. Leave the file type empty or unset.
  5. Observe rg: unrecognized file type:.
  6. Setting the type to text produces rg: unrecognized file type: text instead.

Environment

  • Command Code: 1.14.0
  • macOS 26.4, ARM64
  • zsh (/bin/zsh)

Workaround

Command Code worked around the problem by using its glob tool to locate log files and then opening the files individually with read_file. That worked, but it is inconvenient for large or numerous log files and does not provide the normal search/context behavior.

I was asking Command Code to investigate real application failures in the logs, including database connection errors, missing database tables, missing PHP classes, an unknown ActiveRecord property, and audit-log schema errors. I have not included any credentials or tokens that were present in those logs.

Possible fix

The type field should be optional, and an empty value should not be passed to ripgrep. The tool could also validate file types against ripgrep's registered types and return a clear validation error for unsupported values.

Vorherrschende Sprache
Keine Sprachdaten
Sterne
4k
Forks
350
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CommandCodeAI/command-code

Alle Issues in CommandCodeAI/command-code

Ähnliche Issues

Weitere Issues zu CLI

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.