Prep the slow cooker: Generously grease the inside of a 6-quart crockpot with butter or nonstick spray.
You can also line the bottom with a parchment sling for easier lifting.
Cube the bread: Cut day-old bread into 1-inch cubes. If your bread is fresh, spread the cubes on a sheet pan and let them air dry for an hour, or toast at 300°F (150°C) for 10–12 minutes until lightly dried, not browned.
Dice the apples: Peel, core, and chop the apples into small, even pieces so they soften at the same rate.
Make the custard: In a large bowl, whisk eggs, milk, granulated sugar, brown sugar, vanilla, cinnamon, nutmeg, and salt until smooth. Whisk in the melted butter.
Combine: Add the bread cubes and apples to the bowl.
If using raisins or nuts, fold them in now. Stir gently to coat every piece with custard. Let it sit for 5–10 minutes so the bread absorbs the liquid.
Transfer to the crockpot: Pour the mixture into the greased crockpot and spread into an even layer.
Lightly press down so everything sits in the custard.
Cook low and slow: Cover and cook on Low for 3 to 3 1/2 hours, or on High for 1 1/2 to 2 hours. It’s done when the edges are set, the center is just barely jiggly, and a knife inserted near the middle comes out mostly clean.
Rest: Turn off the cooker, uncover, and let it rest for 10–15 minutes. This helps the custard finish setting and makes slicing easier.
Serve: Spoon warm servings into bowls.
Top with a drizzle of caramel, a dollop of whipped cream, or a scoop of vanilla ice cream for a classic finish.