---
title: "Choose which topics to show"
description: "Select the topics monedula-sim-link visualizes, by exact name, by regular expression or both, and include internal topics such as __consumer_offsets."
url: https://monedula.dev/flock/docs/sim-link/how-to/choose-topics/
---
By default `connect` shows every non-internal topic of the cluster.

## Before you start

- A working `connect` command for your cluster, from [Connect to a secured cluster](/flock/docs/sim-link/how-to/connect-to-a-secured-cluster/) or the [tutorial](/flock/docs/sim-link/tutorials/see-your-cluster-in-the-simulator/).

## Steps

### 1. Pick topics by exact name

`--topics` takes a comma-separated list of exact topic names, and on its own selects just those:

```bash
monedula-sim-link connect --brokers localhost:9092 --topics orders,payments
```

Every name must exist. If one is missing, the command fails and names it, for example `topics not found in the cluster: nope`, and it creates nothing.

### 2. Or pick topics by pattern

`--topics-regex` takes a Go regular expression and adds every non-internal topic whose name matches:

```bash
monedula-sim-link connect --brokers localhost:9092 --topics-regex '^prod-'
```

The pattern is not anchored, so `prod-` also matches `staging-prod-copy`. Add `^` and `$` when you mean the whole name.

### 3. Combine both

When you give both flags, the selection is the exact names plus every non-internal topic that matches the pattern:

```bash
monedula-sim-link connect --brokers localhost:9092 \
  --topics orders --topics-regex '^payments-'
```

### 4. Include an internal topic by name

Internal topics are the ones the broker flags as internal, such as `__consumer_offsets`, and topics with a leading underscore, such as `_schemas`. They are never selected by default or by `--topics-regex`. Listing one by exact name in `--topics` is the only way to include it:

```bash
monedula-sim-link connect --brokers localhost:9092 --topics __consumer_offsets --clamp
```

`__consumer_offsets` has 50 partitions by default, more than the simulator renders, so the example adds `--clamp`.

## What the selection affects

A selected topic named exactly `orders` becomes the simulator's primary topic; without one, the primary topic is a one-partition placeholder, with a warning. At most 6 other topics fit. From a longer selection the tool keeps the topics you listed with `--topics`, then the most eventful of the rest, and warns which it kept; [Handle large clusters](/flock/docs/sim-link/how-to/handle-large-clusters/) has the ranking. A consumer group appears only if it has committed offsets on a shown topic, and at most 4 groups are shown. Names the simulator cannot carry, such as `billing.events`, are renamed. The [mapping reference](/flock/docs/sim-link/reference/mapping/) has each rule.

## Check it worked

Run the command with `--dry-run`. The `topics:` table lists every selected topic as `real name -> simulator name`, so you can check the selection before you share the link.

If the selection finds nothing, `connect` fails with `topic selection matched nothing` and a reminder that internal topics are excluded unless you list them with `--topics`. A cluster that has no non-internal topics fails with its own message. It never prints a link to an empty cluster.

## Related

- The [`connect` command reference](/flock/docs/sim-link/reference/cli/connect/) lists both flags.
- [Preview a link before you share it](/flock/docs/sim-link/how-to/preview-with-dry-run/) explains the rest of the `--dry-run` output.