Session Control¶
You can enable, disable, and adjust monitoring at any time during a Claude Code session.
Enable / disable¶
Disable monitoring for the current session:
Disable monitoring globally (all sessions):
Re-enable:
When disabled, the Zwischen hooks still fire but skip all server communication and enforcement. The agent runs unmonitored. The message_adversary MCP tool returns a message indicating supervision is disabled.
Unblocking without disabling¶
If the agent is stuck on a block and message_adversary is unavailable:
This clears all active blocks for the session but keeps supervision running. The reviewer continues watching and can issue new blocks. Use this instead of /z disable when you want to clear the jam without turning off monitoring entirely.
Influencing reviewer behavior¶
To make the reviewer more or less strict, use system_prompt in your settings file. With system_prompt_mode: append, your prompt is added after the server profile's built-in instructions. With system_prompt_mode: replace, it replaces them entirely. See Custom Prompts.
Switching agents¶
To switch Claude Code's agent persona mid-session:
This presents available agents from ~/.claude/agents/, resolves which reviewer profile maps to the selected agent (via the agents: list in settings.yaml), and cycles the reviewer to a fresh session. The reviewer's rubric is rebuilt with the new agent's .md file, so it monitors as if the agent started fresh. Claude Code then reads and follows the selected agent's instructions.
The reviewer always cycles on an agent switch. Unlike /z adversary, which changes only the reviewer's behavioral profile, /z agent changes both who Claude Code acts as and how the reviewer monitors it.
Switching profiles¶
To change the reviewer's behavioral profile mid-session:
/z adversary # Profile picker wizard
/z adversary code-review # Switch immediately, no wizard
/z adversary code-review --cycle # Switch and start a fresh session
By default, the reviewer keeps its conversation context -- all settings update immediately (operating rules, tool visibility) without cycling the session. Pass --cycle to tear down the session and start fresh with a handoff summary. Note that switching profiles without --cycle does not change the model – the reviewer stays on whatever model the session is running. To change models, use /z model.
Switching models¶
To change the reviewer's model mid-session:
Switching models always cycles the reviewer's session. The current reviewer writes a handoff summary, then a new session starts on the target model with that summary plus a tail of recent events. The reviewer's profile stays the same; only the model changes. The handoff and tail behavior are governed by your cycle settings – the same tail_depth and other cycle config that apply to /z cycle and automatic cycling.
When called without arguments, the skill checks which providers have usable credentials and shows a filtered model list. Only providers with configured credentials appear. For OpenAI, you're prompted to choose between OAuth and API key if both are available.
If credentials aren't available for the target model, the command fails with a hint to run zwischen auth in your terminal.
Resetting context¶
If the reviewer seems stale or disoriented after a long session:
This resets the reviewer's context window. The reviewer writes a handoff summary, a new session starts with that summary plus recent events, and monitoring continues. See Context Cycling.
Gating a task¶
To make the agent agree an approach with the reviewer before it starts a specific task:
This places a planning hold for that task on demand, regardless of the profile's planning_gate setting. The agent orients, sends the reviewer a plan via message_adversary, and starts real work once the reviewer releases it. See Planning Gate.
Watching the reviewer live¶
To open a live window streaming the reviewer's verdicts alongside your session:
This spawns a separate terminal window showing verdicts as they happen – blocks, disputes, and the reviewer's reasoning. It's live-only and read-only. See Live Monitor.
Restarting the daemon¶
If the Zwischen daemon is misbehaving:
This restarts the local daemon process. Monitoring resumes when the daemon comes back up.
To update the package and restart: