> For the complete documentation index, see [llms.txt](https://docs.warpstream.com/warpstream/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.warpstream.com/warpstream/reference/cli-reference/warpstream-local.md).

# warpstream local

## warpstream local

The `warpstream local` subcommand runs a fully in-memory, self-contained WarpStream cluster (Kafka + Schema Registry + Tableflow) with **no connection to the WarpStream control plane**. It is intended as a drop-in replacement for `warpstream playground` in CI pipelines and other automated environments where a hosted control plane dependency is undesirable.

Unlike `warpstream playground` and `warpstream demo`, `warpstream local` does not create a temporary WarpStream account and does not require any outbound network connectivity. All state (metadata, credentials, and data) lives in memory and is discarded when the process exits.

When `warpstream demo` or `warpstream playground` is started in a CI environment, the Agent automatically reroutes to `warpstream local` and prints a warning that local mode is the intended mode for CI.

The following table displays the available `warpstream local` arguments.

| Argument                   | Description                                                                                                                                                                                                                                                                                                              |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| -advertiseHostnameCustom   | Custom hostname value to advertise to service discovery for clustering purposes if the custom advertise strategy is selected                                                                                                                                                                                             |
| -advertiseHostnameStrategy | Which hostname strategy should be used the agent should advertise itself on. Auto means that it will try to automatically find an IP that makes sense. If you select custom them you have to also define -advertiseHostnameCustom. Currently supported strategy: \[auto-ip4, auto-ip6, local, custom]. (default "local") |
| -bucketURL                 | Object storage bucket URL for new writes (default "mem://warpstream\_local")                                                                                                                                                                                                                                             |
| -httpPort                  | Port to run the Kafka Agent's internal HTTP server on (default 8080)                                                                                                                                                                                                                                                     |
| -kafkaPort                 | Port to run the Kafka server on (default 9092)                                                                                                                                                                                                                                                                           |
| -requireSASLAuthentication | Controls whether the agents will enforce that all connections are SASL authenticated. When enabled, the generated username and password are printed at startup.                                                                                                                                                          |
| -schemaRegistryHTTPPort    | Port to run the Schema Registry agent's internal HTTP server on (default 8070)                                                                                                                                                                                                                                           |
| -schemaRegistryPort        | Port to run the Schema Registry server on (default 9094)                                                                                                                                                                                                                                                                 |
| -tableflowInternalHTTPPort | Port to run the Tableflow agent's internal HTTP server on (default 8081)                                                                                                                                                                                                                                                 |
| -timeout                   | End local mode after this duration has elapsed, use Xh format to change. `0` means run forever, which is the default (playground defaults to `4h`; local is intended for CI and does not auto-terminate unless opted in).                                                                                                |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.warpstream.com/warpstream/reference/cli-reference/warpstream-local.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
