I have a Kohler canister valve toilet that is 3-4 years old. I used it this morning shortly before leaving for work. A few minutes after it finished flushing, I was back in the bathroom to finish getting ready and it started running. Since I needed to get to work, I turned off the water supply and left. When I returned home, I turned it on and it didn't run. I flushed it and it ran, stopped, and was fine all evening. Then I used it again, it finished flushing, and I went to do something else. I came back and it was running. It stopped after 15-20 seconds but it was still dripping consistently inside the tube connected to the flap. Flushing it again caused it to stop running.
I'm assuming that some part needs to get replaced, but not sure what. I did replace the gasket on the valve about a year ago.