Welcome! Here is an alternative way to make each tcolorbox as separate page. It does not use the standalone class, though.
\documentclass{article}
\usepackage[active,tightpage]{preview}
\usepackage{tcolorbox}
\usepackage{lipsum}
\tcbset{before=\begin{preview},after=\end{preview}}
\begin{document}
\begin{tcolorbox}
\lipsum[1]
\end{tcolorbox}
\begin{tcolorbox}
\lipsum[1-2]
\end{tcolorbox}
\end{document}

The trick is to automatically wrap the tcolorbox in a preview environment via
\tcbset{before=\begin{preview},after=\end{preview}}
This trick may be combined with John Kormylo's nice answer to get
\documentclass[multi=wrapper,crop]{standalone}
\usepackage{tcolorbox}
\usepackage{lipsum}
\newenvironment{wrapper}{}{}
\tcbset{before=\begin{wrapper},after=\end{wrapper}}
\begin{document}
\begin{wrapper}
\begin{tcolorbox}
\lipsum[1]
\end{tcolorbox}
\end{wrapper}
\begin{wrapper}
\begin{tcolorbox}
\lipsum[1-2]
\end{tcolorbox}
\end{wrapper}
\end{document}
articledocumentclass. It's clear and simple. But what confused me is whystandaloneclass can not directly using the option [multi=tcolorbox]. It push the user to redefine a new nonsense enviorment. – user26992 Jun 03 '20 at 06:51saveboxesthat are created, and is not specific totcolorbox. If you consider\documentclass[tikz,border=3mm]{standalone} \newsavebox\mybox \begin{document} \savebox\mybox{\tikz{\node{boom};}} \tikz{\node{boom};} \end{document}, you get the same effect, and if you comment out the\saveboxit runs through. (I am not claiming that this cannot be fixed somehow.) – Jun 03 '20 at 06:58\begin{wrapper}and\end{wrapper}calls should be removed. – frougon Aug 11 '21 at 12:54