Skip to main content
Investigation helps you answer behavioral questions about one or more repositories. Wish searches the indexed source, reads the relevant ranges, and returns a report that separates supported findings from unresolved questions. Use it when you need an answer you can inspect and reproduce, such as:
  • Where is a feature enabled, and which permission or feature-flag checks control it?
  • What happens when an API request fails?
  • Which components, functions, and services participate in a behavior?
  • Do several repositories implement the same contract consistently?

Before you start

You need access to at least one connected repository with an available code index. Investigation reads the indexed revision; it does not clone or execute the repository.

Run an investigation

1

Open Wish

Click Ask Codemod Wish in the bottom-right corner of the app. You can also use Cmd+J on macOS or Ctrl+J on Windows and Linux.
2

Add Investigation

Type @investigate and select Investigate from the menu.
3

Tag the repositories

Use @ to tag every repository that should be in scope. You can investigate one repository or compare behavior across several repositories in the same request.
4

Ask a focused question

Describe the behavior you want Wish to trace. Include concrete names such as a feature, API route, flag, component, or error condition when you know them.For example:
Trace how dashboard saved views are enabled, authorized, loaded, and handled when loading fails.
5

Explore the report

Wish shows a concise answer in the conversation. Select Explore evidence to inspect the findings, searches, relationship map, and remaining uncertainty.
Investigations run as durable background work. If the live connection is interrupted, Wish reconnects to the existing investigation instead of starting the analysis again. To cancel an active investigation, select Stop in the message composer.

Read the investigation report

The report keeps the answer and its supporting material together.

Observations and inferences

An observation states what the cited source directly shows. An inference connects cited source into a scoped interpretation, such as the likely effect of two checks used together. New reports do not turn unsupported statements into findings. Wish places unresolved or insufficiently supported points in Limitations and Next checks instead.

How Wish checks the answer

Wish uses Grep to discover source and preserves the exact repository revision, file path, and line range for each captured excerpt. Before saving a report, it checks whether findings and map entries have matching source support and can revise claims that are broader than their evidence. These checks reduce unsupported claims, but they do not prove runtime behavior. Dynamic configuration, generated code, external services, and source outside the selected repositories can affect the result. The report calls out those gaps in Limitations.
A search with no matches does not always prove that code is absent. If a search was limited or failed, the report marks its coverage as partial. Review Queries and Limitations before relying on a negative conclusion.

Investigate multiple repositories

Tag multiple repositories when a behavior crosses repository boundaries or when you want to compare implementations. Wish keeps the repository identity attached to every source range and can search all selected repositories or narrow an individual query to one of them. Good multi-repository questions include:
  • Where is this shared API produced, and which consumers depend on it?
  • Which repositories still use the deprecated contract?
  • How do authorization checks differ between these services?
Keep the question specific enough that the relationship between repositories is clear. For broad requests, begin with the shared symbol, route, package, or configuration key that connects them.

Troubleshooting

Add one or more repository mentions to the same message as @investigate. Investigation only searches repositories that you explicitly include.
Review Limitations for the specific parts of the question that remain unresolved and their suggested next checks. Limited or failed exploratory searches remain visible under Queries for transparency, but they do not make the report incomplete when the investigation recovered another way.
Only nodes with a precise, claim-specific source range open the source inspector. Use the related findings and limitations to locate supporting evidence when a conceptual node has no precise range.
The saved report keeps evidence from the indexed revision used during the investigation. Opening a query in Grep reruns it against the current index, which may have changed since the report was created.