Dozens of protesters, some wearing masks, broke through a police cordon and forced their way into Macedonia's parliament building, attacking politicians following a months-long deadlock to form a new government.
The crowd stormed the building after the country's opposition social democrats and parties representing Macedonia's ethnic Albanian minority voted in a new speaker.
Shouting and throwing chairs, they attacked politicians including opposition leader Zoran Zaev, who was shown on camera bleeding from a head wound.
Mr Zaev and other members of his party were then surrounded as protesters waved national flags, shouted "traitors" and refused to let them leave.
Macedonia has been without a government since December, when former prime minister Nikola Gruevski's conservative party won elections, but failed to get enough votes to form a government.
Coalition talks have broken down over ethnic Albanian demands that Albanian be recognised as an official second language.
A quarter of the country's population is ethnic Albanian.
Mr Zaev has been seeking a mandate to form a government for months, after reaching a deal with an ethnic Albanian party, the Democratic Union for Integration, to form a coalition.
But President Gjorge Ivanov refused to hand him the mandate.
The Macedonian parliament - the Assembly of the Republic of Macedonia - has been trying to elect a new speaker for three weeks.
Police said around 10 officers were injured during the clashes.
Protesters have been holding nightly rallies for the past two months in Skopje and other cities over the political crisis.