Skip to content

settings.yaml Reference

Complete reference for ~/.zwischen/settings.yaml. All keys are optional unless noted.

env

Environment variables injected at startup. Real environment variables take precedence.

Key Required Description
ZWISCHEN_API_KEY Yes Your Zwischen API key
OPENAI_API_KEY No OpenAI provider key
ANTHROPIC_API_KEY No Anthropic provider key
GEMINI_API_KEY No Google provider key
DEEPSEEK_API_KEY No DeepSeek provider key

projects

List of per-directory enable/disable rules. Evaluated in order; longest matching path wins. If omitted, Zwischen is enabled everywhere.

Key Type Description
path string Directory path (tilde-expanded)
enabled boolean Whether Zwischen monitors sessions in this directory

defaults

Baseline configuration for all reviewed agents. Accepts all keys listed below.

profiles

Named entries that deep-merge on top of defaults for specific agents. Each profile accepts all keys listed below, plus a required agents list.

Key Type Description
agents list of strings Agent names this profile matches. Required for the profile to activate. First match wins.

Configuration keys

These keys are valid in both defaults and individual profiles entries.

Model and credentials

Key Type Default Description
model string Model ID for the reviewer. See Supported Models.
api_key string Provider API key. Held in process memory only.
auth_mode string "api_key" "api_key" or "oauth". OAuth is supported for OpenAI only.
profile_id string "general" Which server-side adversary profile to use.

Reviewer behavior

Key Type Default Description
system_prompt string Custom system prompt for the reviewer.
system_prompt_mode string "replace" "replace": replaces the server profile's prompt. "append": appends to it. Only meaningful when system_prompt is set.
include_claude_md boolean true Forward your project's CLAUDE.md to the reviewer as context.
web_search boolean false Allow the reviewer to use web search during review.
model_tuning boolean true Apply provider-specific and model-specific prompt adjustments from Zwischen Labs.
scrutiny_level integer Server default Initial scrutiny level for the reviewer (1–5). Can be changed mid-session with /z level.

Tool visibility and enforcement

Nested under the tools key. All sub-keys accept a list of tool names.

Key Description
tools.output_visible Tools whose full output the reviewer can see during live review.
tools.pre_review Tools reviewed before execution. Reviewer can block the call before it runs.
tools.write_review Like pre_review, but specialized for Edit/Write — reviewer sees the proposed diff.
tools.whitelisted Tools passed through without blocking, still streamed as context. Available during blocks.
tools.review_exempt Tools invisible to the reviewer — no streaming, no enforcement.

Context cycling

Nested under the cycle key.

Key Type Description
cycle.threshold_pct float Fraction of context window usage that triggers a cycle (e.g., 0.15).
cycle.tail_depth integer Number of recent messages carried over after a cycle.

Full example

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
  profile_id: general
  include_claude_md: true

profiles:
  code-review:
    agents: [coder, web-dev]
    model: claude-sonnet-4-6
    tools:
      output_visible: [Read, Edit, Write]
      write_review: [Edit, Write]
  research:
    agents: [orchestrator]
    model: gemini-2.5-pro
    cycle:
      threshold_pct: 0.15
  bulk-processing:
    agents: [file-processor]
    tools:
      review_exempt: [Read, Glob, Grep]