Pat the chuck roast dry with paper towel. Season it on all sides with 1 teaspoon of the salt and all of the black pepper.
Heat the oil in a large skillet over medium-high heat. Add the roast and sear for 3 to 4 minutes on each side, until deeply browned. Transfer the roast to the slow cooker.
Reduce the heat to medium. Add the onion to the skillet and cook about 3 minutes, stirring occasionally, until it begins to soften and brown.
Add the garlic, tomato paste, and cocoa powder. Cook for 1 minute, stirring constantly. The mixture will be quite thick.
Pour the Cabernet into the skillet. Scrape the bottom of the pan to loosen all the browned bits. Simmer 3 to 4 minutes, until the wine has reduced slightly.
Stir in the beef broth, Worcestershire sauce, thyme, rosemary, and remaining ½ teaspoon salt. Bring to a gentle simmer, then pour over the roast in the slow cooker.
Arrange the potatoes and carrots around the roast, tucking as many as possible into the cooking liquid. Add the celery and bay leaves, then place any remaining vegetables on top of the roast. The vegetables do not need to be submerged, and the liquid will not cover them. Do not add extra liquid.
Cover and cook on LOW for 8 hours, until the roast is fork-tender and pulls apart easily. Try not to lift the lid during cooking.
Transfer the roast and vegetables to a serving platter. Cover loosely with foil. Discard the bay leaves.
Pour the cooking liquid into a saucepan and skim off excess fat. Bring to a gentle simmer over medium heat.
Whisk the cornstarch and cold water together in a small bowl. Slowly whisk the slurry into the simmering liquid. Cook 2 to 3 minutes, stirring frequently, until the gravy thickens.
Taste the gravy and season generously with additional salt and pepper. It will need more salt than you expect. If the wine gives it a sharper finish than you prefer, stir in 1 teaspoon brown sugar.
Slice or pull the roast into large pieces. Serve with the vegetables and spoon the gravy generously over everything. Garnish with parsley if desired.
Notes
You will not taste the cocoa. One teaspoon adds complexity and reinforces the roasted flavors of the beef, tomato paste, and Cabernet.
Salt the gravy at the end. A long slow cook mutes seasoning, so the finished gravy needs a fair amount of additional salt to taste right.
Do not add extra liquid. The cooking liquid will not cover the roast or vegetables at the start. This is normal. Both release plenty of moisture as they cook.
Choose a wine you enjoy drinking. It does not need to be expensive, but avoid anything labeled "cooking wine."
The roast is ready when it pulls apart easily. If it still feels firm at 7 hours, it needs more time, not less.
Yukon Gold potatoes hold their shape while going creamy inside. Baby potatoes or peeled russets also work.
For more gravy, decide before you start and use 1½ cups of beef broth instead of 1, plus an extra teaspoon or two of cornstarch.
One-pot option. If you have a multi cooker with a sear or sauté function, you can brown the roast, build the base, slow cook, and thicken the gravy all in the same pot.