Preheat your oven or Traeger grill to 375F.
Cut the butternut squash in half, lengthwise, and use a spoon to remove the seeds. Season the flesh with 1 tablespoon olive oil and lightly season with salt. Place the squash cut side-down onto a sheet pan lined with parchment paper and transfer to the oven or Traeger. Roast the squash the thickest part is completely fork-tender, around 45 minutes. Remove the squash from the oven or Traeger and let them cool down. Use a spoon to scoop out all of the flesh and transfer it to a bowl. Mash the squash with a fork until completely smooth.
While the squash roasts, add the hazelnuts to a dry frying pan and set over medium low heat. Toast the nuts, stirring regularly, until golden brown and fragrant. Transfer them to a bowl and set aside. In the same pan, add 1 tablespoon of olive oil and heat until shimmering. Add the sage leaves and cook until crispy, around 1 minute total. Transfer the sage to a plate lined with paper towel and set aside.
Place the cassava flour on a large cutting board or clean countertop and make a deep well in the middle. Add 1 cup of the squash purée and the egg. Using your hands, a fork or a bench scraper, continuously fold the mixture over onto itself from all sides until all of the flour is incorporated and a ball of dough forms. It should be smooth, soft and hold its shape when pressed with your finger. If the dough is too sticky or wet, add a small amount of cassava flour and repeat.
Divide the dough into four equal-sized pieces and roll into individual balls. Gently roll each ball of dough back and forth into a ¾-inch-thick rope. Cut the rope into individual gnocchi around 1-inch long and dust with a little bit of cassava flour to prevent sticking. If desired, gently roll each gnocchi against the back of a fork to create indentations and set aside.
Fill a stock pot with water and bring to a boil. Add 2 teaspoons kosher salt to the water and carefully add the gnocchi. Cook until the gnocchi float to the surface, around 2 minutes. Cook an additional 2 to 3 minutes or until the gnocchi are cooked through yet still a little firm and springy.
Meanwhile, set the skillet used to fry the sage over medium heat. Add the butter and heat it until golden brown and no longer bubbling, around 2 minutes. Add the garlic and cook, stirring, until fragrant, around 1 minute. Add the tomato paste and chili flakes, if using, and cook, stirring until incorporated, around 2 minutes. Add ¾ cups of the squash purée and stir to incorporate. Ladle in 2 cups of the pasta cooking water and stir to incorporate. Add ¼ cup of freshly-grated parmigiano Reggiano, if using, and stir to incorporate. Taste the sauce for seasoning and adjust with salt and pepper as desired.
Using a slotted spoon, transfer the gnocchi to the sauce and toss well to coat. Spoon the gnocchi into individual serving bowls, garnish with freshly-grated Parmigiano Reggiano, if using, toasted hazelnuts, crispy sage leaves, and a drizzle of olive oil. Serve immediately.