Heat the canola oil in a medium skillet over high heat. Add the thinly sliced shallots and cook until they begin to bubble, then reduce heat to medium and cook, stirring often, until golden brown, about 12 minutes.
Use a slotted spoon to transfer the shallots to a paper towel–lined plate; they will crisp as they cool.
Bring a large pot of salted water to a boil. Add the green beans and cook until just tender and still crisp, 3 to 5 minutes. Drain in a colander.
Meanwhile, melt the butter in a large skillet over medium heat. Stir as it foams and remove from heat as soon as it turns golden brown and smells nutty to make brown butter.
Add the drained green beans to the skillet with the brown butter and toss to coat evenly. Season with kosher salt and black pepper to taste.
Transfer the beans to a serving bowl or platter, sprinkle with the crispy shallots and toasted hazelnuts, and serve warm.