# MULTIPLE_SUBGRAPHS

## The three modes

1. No interrupts needed: opt out entirely.

```python
subgraph = subgraph_builder.compile(checkpointer=False)
```

2. Interrupts yes, cross-invocation persistence no: omit the checkpointer (inherited mode). Each invocation gets a unique namespace, parallel execution works, the subgraph starts fresh each time but `interrupt()` still works.

```python
subgraph = subgraph_builder.compile()
```

3. Cross-invocation persistence needed: keep `checkpointer=True`. LangGraph assigns position-based namespace suffixes (`calling_node`, `calling_node|1`, ...). For stable names, wrap each subgraph call in a uniquely named node.

## Rule

Do not default to `checkpointer=True` on subgraphs. Most repeated-subgraph patterns want mode 2. Read the subgraph persistence docs before choosing mode 3.