> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zmeel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# configure

> Update individual configuration sections on a running Zmeel instance.

`zmeel configure` lets you update specific sections of your Zmeel config interactively, without re-running the full onboarding wizard. Each section has its own set of prompts. After you answer them, the config file is updated immediately.

<Note>
  You must run `zmeel onboard` at least once before using `zmeel configure`. If no config file exists, `configure` exits with an error.
</Note>

## Usage

```bash theme={null}
zmeel configure
zmeel configure --section <section>
```

Without `--section`, you are prompted to pick a section from a menu. With `--section`, the named section opens directly and the command exits when that section is saved — no loop.

## Options

<ParamField query="-s, --section" type="string">
  The configuration section to update. When provided, the command opens that section directly and exits after saving. Accepted values: `llm`, `database`, `logging`, `server`, `storage`, `secrets`.
</ParamField>

<ParamField query="-c, --config" type="string">
  Path to the config file. Defaults to `~/.zmeel/instances/default/config.json`.
</ParamField>

<ParamField query="-d, --data-dir" type="string">
  Data directory root. Isolates all state from `~/.zmeel`.
</ParamField>

## Sections

<ParamField query="llm" type="section">
  LLM provider and API key. Supported providers: `claude` (Anthropic) and `openai`. You can clear the LLM config to remove an existing provider.
</ParamField>

<ParamField query="database" type="section">
  Database connection. Choose between embedded PostgreSQL (no external dependency) or an external PostgreSQL connection string.
</ParamField>

<ParamField query="logging" type="section">
  Log level and output mode. Controls where Zmeel writes its server logs.
</ParamField>

<ParamField query="server" type="section">
  Deployment mode, port, public URL, and allowed hostnames. Also configures the auth base URL mode — use `explicit` when your instance is behind a reverse proxy with a custom domain.
</ParamField>

<ParamField query="storage" type="section">
  Storage provider. Choose `local_disk` for single-machine deployments or `s3` for S3-compatible object storage. `local_disk` is the default.
</ParamField>

<ParamField query="secrets" type="section">
  Secrets encryption settings. Controls the provider and key file path used to encrypt agent credentials and other sensitive values at rest.
</ParamField>

## Examples

```bash theme={null}
# Update your LLM provider and API key
zmeel configure --section llm

# Change the server port or deployment mode
zmeel configure --section server

# Switch storage from local disk to S3
zmeel configure --section storage

# Open the interactive section picker
zmeel configure
```

## Config file location

Changes are written to `~/.zmeel/instances/default/config.json`. To manage a different instance, pass `--data-dir` or `--config`:

```bash theme={null}
zmeel configure --section llm --data-dir ./tmp/zmeel-dev
```

<Tip>
  After changing configuration, run `zmeel doctor` to verify that the updated settings are valid and that all services can connect.
</Tip>
