Skip to content

Settings File

Zwischen reads all configuration from ~/.zwischen/settings.yaml. This file is created by the install wizard and can be edited directly at any time. Settings are re-read on every session start, so changes take effect immediately without restarting the daemon.

Structure

The settings file has four top-level blocks:

env:
  ZWISCHEN_API_KEY: "your-key-here"

projects:
  - path: ~/work/sensitive-repo
    enabled: false
  - path: ~/work
    enabled: true

defaults:
  model: gpt-5.4
  api_key: your-provider-key

profiles:
  code-review:
    agents: [coder, web-dev]
    model: claude-sonnet-4-6

env

Environment variables injected at startup. ZWISCHEN_API_KEY is required. Values here are defaults — real environment variables take precedence.

projects

Per-directory enable/disable rules. See Project Rules.

defaults

Baseline configuration for all reviewed agents. See the sections below for all available keys.

profiles

Named configuration overrides for specific agents. See Profiles.

Settings resolution

Settings resolve in order, with each layer deep-merging on top of the previous:

  1. Server defaults — built into the Zwischen server
  2. defaults — your baseline configuration
  3. First matching profile — overrides for specific agents

For nested dicts like cycle and tools, the merge is key-by-key. A profile that sets tools.output_visible doesn't erase your defaults.tools.pre_review — both are preserved.

Exception: system_prompt and system_prompt_mode do not deep-merge. A profile's system_prompt is used as-is — it does not inherit from or append to defaults.system_prompt.

Minimal example

The smallest working configuration:

env:
  ZWISCHEN_API_KEY: "your-key-here"

defaults:
  model: gpt-5.4
  api_key: your-provider-key

This reviews all agents with the default server profile, using GPT-5.4 as the reviewer model.

Next steps