---
title: AiZynthFinder troubleshooting
description: Fix empty results, early stops, unrealistic disconnections, and timeouts.
tags:
  - aizynthfinder
  - troubleshooting
---

This page helps you diagnose the common [AiZynthFinder](/docs/aizynthfinder) job problems — no purchasable routes, searches that stop early, unrealistic disconnections, fast failures, and unwanted bond breaks — with the stock, policy, search-algorithm, and v4.0 filter settings to adjust for each. Most issues come down to two levers: the stocks you selected (which decide what counts as purchasable) and the search configuration (which decides how hard it looks).

## Common issues

- **No purchasable routes**: ensure at least one stock is selected and up to
  date; try expanding stock or allowing one more search step. Note: AiZynthFinder typically achieves 80-86% success rates for finding purchasable routes, so some challenging molecules may require parameter adjustments.
- **Search stops early**: depth/iteration limits may be too low; modestly
  increase them and rerun. Consider switching search algorithms (e.g., from Greedy Best First to MCTS) for more thorough exploration.
- **Unrealistic disconnections**: tighten template policy or reduce breadth;
  review template IDs in the log. In v4.0+, enable filter policies to automatically reject chemically implausible reactions.
- **Job fails fast**: check log for invalid SMILES or missing stock
  configuration; correct and resubmit.
- **Unwanted bond disconnections**: use bonds-to-freeze constraints (v4.0+) to protect specific structural motifs from being disconnected during retrosynthesis.

## Debug checklist

1. Confirm stock set, policy, search algorithm, and search limits in job metadata.
2. Compare target SMILES against previous successful runs to rule out sanitation
   differences.
3. If results are still empty, run with a slightly larger breadth and depth,
   then prune manually.
4. Try alternative search algorithms: MCTS (default), Nested Monte Carlo (deeper exploration), or Greedy Best First (faster screening).
5. For v4.0+, check if filter policies are rejecting valid reactions; temporarily disable to diagnose.
6. Share the job ID and target with support if repeated failures occur.

## No routes vs. all routes non-purchasable

These two outcomes look similar but have different fixes:

- **No routes found at all**: the search could not disconnect the target within its constraints. Expand stock sources, loosen the policy, or increase search depth/limits; verify the input SMILES is valid.
- **Routes found but none purchasable**: the target *is* synthetically reachable, but at least one intermediate is not in your selected stocks. Add more comprehensive stock sources, or accept that a key intermediate needs custom synthesis. See [outputs & interpretation](/docs/aizynthfinder/outputs).

## Search timeout or slow runs

- Search time grows steeply with molecular size and complexity — a typical run is 5–30 minutes.
- Reduce search breadth, or switch from a heavier policy (`uspto_500k`) to a lighter one (`uspto_50k`) for faster screening.
- Use `greedy_best_first` for quick passes over many molecules; reserve MCTS or nested MCTS for the targets that warrant deeper exploration. See [configuration](/docs/aizynthfinder/configuration).

## Prevent repeats

- Keep a small validation target set to benchmark configuration changes.
- Document stock and policy choices in job notes for reproducibility.
- Periodically refresh stocks to align with vendor availability.

## Read next
