Given a directed graph G and a list ( s 1 , t 1 ), …, ( s d , t d ) of terminal pairs, the Directed Steiner Network problem asks for a minimum-cost subgraph of G that contains a directed s i → t i path for every 1≤ i ≤ d . The special case Directed Steiner Tree (when we ask for paths from a root r to terminals t 1 , …, t d ) is known to be fixed-parameter tractable parameterized by the number of terminals, while the special case Strongly Connected Steiner Subgraph (when we ask for a path from every t i to every other t j ) is known to be W[1]-hard parameterized by the number of terminals. We systematically explore the complexity landscape of directed Steiner problems to fully understand which other special cases are FPT or W[1]-hard. Formally, if ℋ is a class of directed graphs, then we look at the special case of Directed Steiner Network where the list ( s 1 , t 1 ), …, ( s d , t d ) of demands form a directed graph that is a member of ℋ. Our main result is a complete characterization of the classes ℋ resulting in fixed-parameter tractable special cases: we show that if every pattern in ℋ has the combinatorial property of being “transitively equivalent to a bounded-length caterpillar with a bounded number of extra edges,” then the problem is FPT, and it is W[1]-hard for every recursively enumerable ℋ not having this property. This complete dichotomy unifies and generalizes the known results showing that Directed Steiner Tree is FPT [Dreyfus and Wagner, Networks 1971], q -Root Steiner Tree is FPT for constant q [Suchý, WG 2016], Strongly Connected Steiner Subgraph is W[1]-hard [Guo et al., SIAM J. Discrete Math. 2011], and Directed Steiner Network is solvable in polynomial-time for constant number of terminals [Feldman and Ruhl, SIAM J. Comput. 2006], and moreover reveals a large continent of tractable cases that were not known before.