Race for AUC leadership: A Look at 2025 election process for chairperson and deputy
Race for AUC leadership: A Look at 2025 election process for chairperson and deputy
Read this story aloud
Listen to the clean text version of this article
Ready
4 min listen
Audio reading is not supported on this browser.
For the 2025 elections, Eastern Africa has nominated candidates for chairperson, while Northern Africa has put forward candidates for deputy chairperson
The process for electing the African Union Commission (AUC) chairperson and deputy chairperson, which will take place today, February 15, 2025, is an important and closely followed event.
The 2025 elections will take place at the 38th AU Summit in Addis Ababa, Ethiopia, and the race for the chairperson has notable candidates – Raila Odinga of Kenya, Mahmoud Ali Youssouf of Djibouti and Richard Randriamandrato of Madagascar.
Meanwhile, the contest for the deputy chairperson includes contenders like Salah Francis (Algeria), Selma Malika (Algeria), Mohamed Fathi (Egypt), Hana Morsy (Egypt), Najat Elhajjaji (Libya), and Latifa Akharbach (Morocco).
More To Read
- African Union welcomes US-Iran peace deal, praises diplomatic efforts
- Djibouti records sharp increase in migrant transit as Gulf-bound journeys rise
- AU Commission appoints Yann Bedzigui as new Chief of Staff
- PLO Lumumba urges Ramaphosa to act on rising xenophobic attacks in South Africa
- Algeria’s Fateh Boutbig elected President of Pan-African Parliament in Midrand vote
- Djibouti’s presidential election meets international standards – observers
The voting process will begin with the election of the chairperson, followed by the election of the deputy chairperson.
Once these positions are filled, the assembly will appoint the commissioners chosen by the AU Executive Council.
The election follows a principle of inter-regional rotation to ensure fair representation of all African regions – Eastern, Northern, Central, Southern, and Western Africa.
Latest Stories
- Taita Taveta County unveils cooperative fund to boost rural access to credit
- Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
- Karua, Matiang’i demand arrest and resignation of PS Fikirini over Cecil Ouma shooting
- A Super El Niño is coming: Five hard‑won lessons the world can learn from Africa
For the 2025 elections, Eastern Africa has nominated candidates for chairperson, while Northern Africa has put forward candidates for deputy chairperson.
Gender parity
To promote gender parity, each region must submit both male and female candidates for the deputy chairperson role.
Additionally, the chairperson and deputy chairperson cannot come from the same region, ensuring diverse representation in leadership.
Both the chairperson and deputy chairperson serve a four-year term, which is renewable once.
This year, seven countries will be absent from the vote due to suspension, following a lack of constitutional order.
These countries include Burkina Faso, Chad, Gabon, Guinea, Mali, Sudan, and Niger.
Voting process
To secure the chairmanship, a candidate must receive support from at least 33 of the 48 member states participating in the voting.
The election may go for up to three rounds if the required majority is not reached in the first round. In the first round, all candidates appear on the ballot, and voting is done through secret ballots.
If no candidate secures the needed 33 votes, the election proceeds to the second round, which is limited to the top two candidates.
If the required majority is still not achieved by the third round, the candidate with the fewer votes is expected to withdraw, and the remaining candidate must secure the majority, or else the election will be suspended.
If only one candidate remains after three rounds, the election will end if that candidate fails to meet the required two-thirds majority.
In this case, voting will be suspended, and the deputy chairperson will temporarily assume the role of the chairperson until new elections are held.
If the election is for the deputy chairperson and a deadlock occurs, the most senior commissioner will act in the role until a new vote is organised.
In the 2017 election, for instance, Kenya’s Amina Mohamed and Moussa Faki faced off, with Faki eventually securing the chairperson’s position after seven rounds, garnering 38 votes.
Other Topics To Read
Top Stories Today
- Karua, Matiang’i demand arrest of PS Fikirini over Cecil Ouma shooting
- Taita Taveta to launch cooperative fund to boost rural credit access
- World Champion Lilian Odira beats Keely Hodgkinson in Eugene thriller
- Coast leaders rally support for 10-point agenda, reject divisive politics
- A Super El Niño is coming: Five lessons Africa can teach the world
- Faith Kipyegon reveals hamstring injury after rare defeat in Eugene
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
|Bashir Mbuthia
|1 day ago
Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of seasonAthletics
|Erick Kariuki
|3 hours ago
Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highwayNews
|Rachael Mutabasi
|1 day ago
Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrationsSomalia
|Abdirahman Khalif
|7 hours ago
Court declares Ruaraka School land public, rules Sh1.5 billion payout illegalNews
|Carolyne Kubwa
|1 day ago
Lilian Odira targets personal best and Diamond League final after dream victory in EugeneAthletics
|Erick Kariuki
|1 hour ago
Mbappé fires France past Paraguay into World Cup quarter-finalsSports
|Erick Kariuki
|12 hours ago
Pakistan to host next round of US-Iran talks on July 11Middle-East
|XINHUA
|7 hours ago
Invisible peacebuilders: How ‘diplomacy works’ to prevent conflictWorld
|UN News
|11 hours ago
Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killingsNews
|Lucy Mumbi
|10 hours ago