Chara opposed to Asriel's ideas about breaking the barrier because it was "something that should never happen" for them.
After becoming a god, Asriel talked to Chara for expressing their different point of view. Chara wanted to erase the glitched timeline by at the same time erasing Frisk with a new option "ERASE", while Asriel wanted to Continue and keep that timeline safe from Chara.
However, Asriel destroyed the "ERASE" option with a thunderbolt. It was at this moment that the last battle started. As they were fighting, Chara tried to show that Asriel was wrong, Asriel was ready to fight with Chara. But with an accidental move, both of them showed their heart locket as a symbol that reminded them their lost friendship and that stopped Asriel acting in that way.
Chara tried to forget it by destroying their heart locket. Until they cried. Asriel asks Frisk for help. At that moment, the 6 souls assisted Asriel and took out Chara's HATE.
After the battle, Asriel tried to save his lost friend from their own HATE. But unfortunately, Chara wasn't able to maintain alive without determination and their body shattered. As a gift, Chara gave to Asriel what was left of them, they gave their soul to Asriel, containing the traits that he absorbed.
Asriel broke The Barrier and will keep the silence (of everything that would explain why he was here) toward Toriel and Asgore.