The children of Israel didn't strike them, because the princes of the congregation had sworn to them by Yahweh, the God of Israel. All the congregation murmured against the princes.
The Israelites considered their oath to the Gibeonites as binding, especially since it was a promise given in the name of Yahweh (Joshua 9:19).