# CLI

This guide covers the essential command-line options for configuring and running Qtap.

## Basic Syntax

```bash
qtap [flags]
```

## Essential Flags

**Configuration**

| Flag                    | Description                                       |
| ----------------------- | ------------------------------------------------- |
| `--config=`             | Path to YAML configuration file or HTTP/HTTPS URL |
| `--registration-token=` | Token for cloud-connected mode                    |

**Logging Options**

<table><thead><tr><th width="187">Flag</th><th width="160">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>--log-level=</code></td><td><code>info</code></td><td>Set logging detail level (debug, info, warn, error)</td></tr><tr><td><code>--log-encoding=</code></td><td><code>console</code></td><td>Log format (console, json)</td></tr></tbody></table>

**TLS Configuration**

<table><thead><tr><th width="168">Flag</th><th>Default</th><th width="293">Description</th></tr></thead><tbody><tr><td><code>--tls-probes=</code></td><td><code>nodetls,openssl,gotls,javassl</code></td><td>TLS libraries to monitor (<code>nodetls,openssl,gotls,javassl)</code></td></tr></tbody></table>

**Tagging**

<table><thead><tr><th width="206">Flag</th><th>Description</th></tr></thead><tbody><tr><td><code>--tags=</code></td><td>Deployment tags for categorization (comma-separated key:value pairs)</td></tr></tbody></table>

**Debugging**

<table><thead><tr><th width="231">Flag</th><th>Description</th></tr></thead><tbody><tr><td><code>--enable-dev-tools</code></td><td>Enable browser-based DevTools UI at <code>http://localhost:10001/devtools</code></td></tr></tbody></table>

**Other**

| Flag            | Description              |
| --------------- | ------------------------ |
| `-v, --version` | Display Qtap version     |
| `-h, --help`    | Display help information |

## Common Usage Examples

**Running with a Local Configuration File**

```bash
qtap --config=/path/to/qpoint.yaml
```

**Running with a Remote Configuration File**

```bash
qtap --config=https://config.example.com/qpoint.yaml
```

**Running with** [**Qplane**](https://claude.ai/qplane/)

```bash
qtap --registration-token=YOUR_TOKEN
```

**Adjusting Log Level for Troubleshooting**

```bash
qtap --config=/path/to/qpoint.yaml --log-level=debug
```

**Using JSON Log Format for Structured Logging**

```bash
qtap --config=/path/to/qpoint.yaml --log-encoding=json
```

**Monitoring Specific TLS Libraries**

```bash
qtap --config=/path/to/qpoint.yaml --tls-probes=openssl,gotls,javassl
```

**Cloud-Connected with Enhanced Debugging**

```bash
qtap --registration-token=YOUR_TOKEN --log-level=debug --log-encoding=json
```

**Adding Deployment Tags**

```bash
qtap --registration-token=YOUR_TOKEN --tags="env:prod,region:us-east"
```

**Enabling DevTools for Interactive Debugging**

```bash
qtap --config=/path/to/qpoint.yaml --enable-dev-tools
# Access at http://localhost:10001/devtools
```

**Demo Mode with DevTools**

```bash
curl -s https://get.qpoint.io/demo | sudo sh -s -- --enable-dev-tools
# Qtap runs in /tmp with DevTools enabled
```

**Remote Config with Debugging**

```bash
qtap --config=https://config.example.com/qpoint.yaml --log-level=debug
```

**Checking the Qtap Version**

```bash
qtap --version
```

## Configuration Sources

The `--config` flag supports multiple sources:

* **Local files**: `/path/to/qpoint.yaml`
* **Remote URLs**: `https://config.example.com/qpoint.yaml`

Remote configurations are automatically cached locally and support reload functionality via SIGHUP.

#### TLS Probes Available

| Probe     | Description                  |
| --------- | ---------------------------- |
| `openssl` | Monitor OpenSSL traffic      |
| `gotls`   | Monitor Go TLS traffic       |
| `nodetls` | Monitor Node.js TLS traffic  |
| `javassl` | Monitor Java SSL/TLS traffic |

To monitor multiple libraries, combine them with commas (no spaces):

```
--tls-probes=openssl,gotls,javassl
```

## DevTools Interactive Debugging

The `--enable-dev-tools` flag enables a browser-based interface for real-time HTTP/S traffic inspection. See the [DevTools Guide](/getting-started/qtap/configuration/devtools.md) for complete documentation including:

* Quick start with demo mode
* SSH tunnel setup for remote servers
* Use cases and troubleshooting workflows
* Screenshots and visual walkthrough


---

# 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.qpoint.io/getting-started/qtap/cli.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.
