# Selecting scanners

The client will generally automatically detect manifest files and select/activate scanners accordingly. However some scanners are not enabled by default and, sometimes, it may be preferable to run separate analysis with different scanners enabled in order to get different reports. These parameters provide the control required.

**`--scan-java`** \
Controls if the Java scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/java.md) for further information)\
Example: **`--scan-java=false`** (to disable it)

**`--scan-nodejs`** \
Controls if the NodeJS scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/nodejs.md) for further information)\
Example: **`--scan-nodejs=false`** (to disable it)

**`--scan-dotnet`** \
Controls if the .NET scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/.net.md) for further information)\
Example: **`--scan-dotnet=false`** (to disable it)

**`--scan-javascript`** \
Controls if the Vanilla Javascript scanner is run\
Default: Due to the fact that this scanner will potentially need to analyse any single file in the codebase, recursively,  **it will NOT run unless requested.** (see the [specific section](/languages-support/vanilla.md) for further information)\
Example: **`--scan-javascript=true`** (to enable it)

**`--scan-ruby`** \
Controls if the Ruby scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/ruby.md) for further information)\
Example: **`--scan-ruby=false`**  (to disable it)

**`--scan-rust`** \
Controls if the Rust scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/rust.md) for further information)\
Example: **`--scan-rust=false`** (to disable it)

**`--scan-elixir`** \
Controls if the Elixir scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/elixir-erlang.md) for further information)\
Example: **`--scan-elixir=false`** (to disable it)

**`--scan-scala`** \
Controls if the Scala scanner is run\
Default: Will run if a compatible manifest is present (see the the [specific section](/languages-support/java.md) for further information)\
Example: **`--scan-scala=false`** (to disable it)

**`--scan-python`** \
Controls if the Python scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/python.md) for further information)\
Example: **`--scan-python=false`** (to disable it)

**`--scan-perl`** \
Controls if the Perl scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/perl.md) for further information)\
Example: **`--scan-perl=false`** (to disable it)

**`--scan-golang`** \
Controls if the Golang scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/golang.md) for further information)\
Example: **`--scan-golang=false`** (to disable it)

**`--scan-cpp`** \
Controls if the C/C++ scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/c++.md) for further information)\
Example: **`--scan-cpp=false`** (to disable it)

**`--scan-r`** \
Controls if the R scanner is run\
Default: Will run if a compatible manifest is present (see the [specific section](/languages-support/r.md) for further information)\
Example: **`--scan-r=false`** (to disable it)

**`--scan-unity`** \
Controls if the Unity/.NET scanner is run\
Default: Due to the fact that the manifest files used by the Unity Package Manager are very similar to the ones used by other package managers,  **it will NOT run unless requested.** (see the [specific section](/unity-packages.md) for further information)\
Example: **`--scan-unity=true`** (to enable it)

**`--enabled-scanners`** \
Allows to activate only certain scanners by specifying a list of languages.\
Default: All scanners will be active during an analysis. It can be used in conjunction with the other options detailed here.\
Example: **`--enabled-scanners=swift,ruby,java`** (enables only swift, ruby and java)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.meterian.io/the-client/command-line-parameters/selecting-scanners.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
