Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Sunday, July 5
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Politics»Why KNUT leadership race is as fierce as national politics
    Politics

    Why KNUT leadership race is as fierce as national politics

    Chukwu GodloveBy Chukwu GodloveJuly 5, 2026No Comments11 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Why KNUT leadership race is as fierce as national politics
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 18

    Why KNUT leadership race is as fierce as national politics

    Why KNUT leadership race is as fierce as national politics

    Kenya National Union of Teachers officials led by their Secretary General Collins Oyuu during a past press briefing. (Photo: Teachers Updates)

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    6 min listen
    Audio reading is not supported on this browser.

    On Thursday, delegates from all 110 KNUT branches converged at the college for a Special Delegates Conference to oversee nominations, which, according to the KNUT constitution, must be conducted a day before the election and at the same venue

    For Kenyans not acquainted with much of the goings-on in the teaching profession, the Kenya National Union of Teachers (KNUT) may appear to be just another trade union championing the welfare and rights of its members.
    However, KNUT means much more to teachers, as reflected in the high-stakes rivalry and intrigues surrounding its national elections scheduled for Friday, April 3, at the Tom Mboya Labour College in Kisumu.
    The election will determine the union’s leadership, financial stability, and bargaining power against the Teachers Service Commission (TSC), with demands for a 60 per cent pay rise and improved teacher welfare at the centre.

    More To Read

    • Teachers’ professional demographics
    • Majority of teachers living paycheck to paycheck, struggling with burnout – KNUT report
    • Ruto’s promise of 50 teaching jobs to Akorino church sparks fresh debate on political patronage
    • KNUT elections go largely uncontested as Oyuu retains Secretary General seat
    • Employment court dismisses Wilson Sossion’s bid to halt KNUT polls

    Collins Oyuu vs Wilson Sossion
    Ahead of the election, the Union is set to conduct nominations on Thursday, as the contest between incumbent Secretary General (SG) Collins Oyuu and the possible comeback of his predecessor, Wilson Sossion, intensifies.
    A day earlier, the Employment and Labour Relations Court dismissed an application by Sossion seeking to halt the process.

    Latest Stories

    • Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
    • Morocco continue historic rise with record-breaking World Cup victory against Canada
    • Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
    • Report records 83 harassment incidents against Christians in Israel over three months

    Sossion, who had expressed interest in vying, had sought conservatory orders restraining KNUT officials from contesting the positions of secretary general and deputy secretary general pending the hearing and determination of his petition.
    He also sought to stop the Union from holding nominations until all 110 branches, 47 county councils, and eight regional councils had conducted elections and were properly constituted.
    In his main petition, which is still pending determination, Sossion moved to court seeking orders to restrain KNUT officials, their agents, or any person acting under their authority from barring him from contesting in the forthcoming elections.
    The former SG argued that his petition would be rendered ineffective if the orders were not granted and that denying them would not be in the public interest.
    “After a holistic review of the case, the court was persuaded that the core foundation of the application, that is nomination and eligibility, is well provided for by the constitution of the association,” Justice Jacob Gakeri ruled.
    “Public interest is not in favour of granting the conservatory orders sought, and as a consequence, that application was not allowed.”
    Despite a Court of Appeal ruling that Sossion was wrongfully deregistered as a teacher, Oyuu has maintained that the KNUT constitution renders him ineligible to vie.
    Speaking to The Eastleigh Voice, Elimu Bora Working Group Policy Advisor Boaz Waruku said the KNUT’s elections are usually high-stakes contests, comparable to governorship or presidential races in their influence.
    “In those positions, you lead teachers across the country, and everybody gets interested. The government gets interested in who becomes the person to negotiate for the teachers’ welfare,” said Waruku.
    Waruku added that the elections are crucial in determining how aggressively the union negotiates future Collective Bargaining Agreements (CBAs) with the TSC, particularly with demands for a 60 per cent pay raise.
    KNUT election, constitution
    Teachers have been pushing for a change in leadership to address issues such as promotion bottlenecks, poor medical schemes, and protection of union membership against the TSC.
    The election is thus expected to decide whether the union continues with its current management style or returns to the aggressive, militant approach of former leadership.
    According to the KNUT constitution, nominations must be conducted a day before the election and at the same venue.
    Delegates will nominate candidates for several positions, including national chairperson, first vice national chairperson, second vice national chairperson, secretary general, deputy secretary general, assistant secretary general, national treasurer, deputy national treasurer, assistant national treasurer, two national women representatives, three trustees, and representatives for persons with disabilities (PWDs).
    The leadership team constitutes the National Executive Council (NEC), the Union’s top decision-making organ.
    The current NEC leadership includes Oyuu as SG, Patrick Karinga as national chairperson, Hesbon Otieno as deputy SG, John Ndiku as national treasurer, Aggrey Namisi as second national vice chairperson, and Lenox Mshila as assistant SG.
    Other NEC members are Alex Dunga, Eunice Bosco, Olando Kwach, and Elli Korinko.
    The NEC works alongside branch executive secretaries across the country to manage the union’s affairs and negotiate collective bargaining agreements with the TSC.
    The KNUT constitution stipulates that any elected official at the branch level who wishes to vie for a national position must resign before submitting nomination papers. Oyuu issued the election notice on March 13, at least two weeks before the conference.
    “All branches are therefore directed to prepare and appoint delegates to the special conference through properly constituted branch executive committee meetings, as provided for in the KNUT constitution,” he directed branch executive secretaries.

    Other Topics To Read

    Top Stories Today

    • Weekly new Ebola cases reach highest level since outbreak began: WHO
    • Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
    • Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
    • Report records 83 harassment incidents against Christians in Israel over three months
    • Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report
    • Over 1,000 Sudanese return home from Egypt under ongoing repatriation programme

    `;
    }

    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

    Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
    Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrationsRegional
    |Bashir Mbuthia
    |6 hours ago
    DP Kindiki hails cooperatives as key to Kenya's economic transformation
    DP Kindiki hails cooperatives as key to Kenya’s economic transformationNews
    |Rachael Mutabasi
    |12 hours ago
    Pope Leo XIV shines spotlight on Mediterranean migration crisis
    Pope Leo XIV shines spotlight on Mediterranean migration crisisWorld
    |Mary Wambui
    |10 hours ago
    Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
    Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
    |Bashir Mbuthia
    |13 hours ago
    Colombia beats Ghana to complete World Cup round of 16 lineup
    Colombia beats Ghana to complete World Cup round of 16 lineupSports
    |XINHUA
    |20 hours ago
    Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent - report
    Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – reportClimate Change
    |Alfred Onyango
    |7 hours ago
    Captain Riyad Mahrez announces retirement after Algeria World Cup exit
    Captain Riyad Mahrez announces retirement after Algeria World Cup exit2026 FIFA World Cup
    |Bashir Mbuthia
    |1 day ago
    Google to ban chrome extensions that 'jailbreak' AI chatbots
    Google to ban chrome extensions that ‘jailbreak’ AI chatbotsNews
    |Margaret Wanjiru
    |15 hours ago
    Over 1,000 Sudanese return home from Egypt under ongoing repatriation programme
    Over 1,000 Sudanese return home from Egypt under ongoing repatriation programmeSouth Sudan
    |Bashir Mbuthia
    |7 hours ago
    Busia school named among global finalists for 2026 education prize
    Busia school named among global finalists for 2026 education prizeEducation
    |Bashir Mbuthia
    |11 hours ago

    fierce KNUT Leadership national race
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Chukwu Godlove

    Related Posts

    2027 politics stall LG autonomy despite Supreme Court ruling

    July 5, 2026

    Ruto assents to Appropriations Bill to cushion govt after rejecting Finance Bill, 2024

    July 5, 2026

    Kenya’s Gen Z: The misunderstood voices amid rising political divisions

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Taita Taveta seeks to host next Uganda festival to boost tourism

    July 5, 2026

    World Wildlife Day: State launches action plan to save sable antelope

    July 5, 2026

    ARTHUR GOLDSTUCK | What Africa is teaching the world about AI

    July 5, 2026

    Ruto urges African countries to cut reliance on imported medicines as AIM2030 push takes off

    July 5, 2026

    What did SCOTUS rule on birthright citizenship?

    July 5, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    Travel

    Taita Taveta seeks to host next Uganda festival to boost tourism

    Environment

    World Wildlife Day: State launches action plan to save sable antelope

    Business

    ARTHUR GOLDSTUCK | What Africa is teaching the world about AI

    Most Popular

    Health

    Ruto urges African countries to cut reliance on imported medicines as AIM2030 push takes off

    Legal

    What did SCOTUS rule on birthright citizenship?

    Lifestyle

    DJ Spark – 2026 Trending Party, Afro Hit Mixtape

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.