Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Thursday, July 16
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • More
      • Sports
      • Politics
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Politics»Ol Kalou by-election: Gachagua demands police officers wear uniforms, use marked vehicles
    Politics

    Ol Kalou by-election: Gachagua demands police officers wear uniforms, use marked vehicles

    Chukwu GodloveBy Chukwu GodloveJuly 15, 2026No Comments11 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Ol Kalou by-election: Gachagua demands police officers wear uniforms, use marked vehicles
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 18

    Listen to article

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

    Thanks for listening. Continue with a related story, or tap the speaker icon on the next page to listen.

    π„πšπ¬π­π₯𝐞𝐒𝐠𝐑 π•π¨π’πœπž 𝐚𝐭 𝐍𝐒𝐧𝐞 – All set for Ol Kalou by-election on Thursday as security tightened

    Zawadi Charity

    Β Β·Β 

    13 hours agoRead nextOpens a fresh page.

    The DCP leader said the deployment of more than 2,000 police officers in Olkalou was unprecedented in Kenya’s electoral history and called for all officers involved in security operations to be identifiable.

    The Democracy For The Citizens Party (DCP) has demanded that the over 1,000 police officers deployed in Ol Kalou ahead of the by-elections operate in uniform, use clearly marked police vehicles and display their service numbers, saying the measures will help ensure transparency and maintain public confidence during the vote.
    In a letter addressed to the Inspector General of Police, Douglas Kanja, on Wednesday, former Deputy President Rigathi Gachagua said the large security deployment should not be used to disrupt the voting process, intimidate candidates, agents or voters, but should instead support a peaceful and credible election.
    Gachagua accused some security officers of acting outside the command of the IG and claimed that plainclothes officers had been involved in incidents targeting DCP supporters during the campaign period.

    More To Read

    • π„πšπ¬π­π₯𝐞𝐒𝐠𝐑 π•π¨π’πœπž 𝐚𝐭 𝐍𝐒𝐧𝐞 – All set for Ol Kalou by-election on Thursday as security tightened
    • IEBC fines Nakuru East MP David Gikaria Sh2.5 million for electoral code breach
    • Goonism: How unemployment is driving youths into politically backed gangs
    • Activist moves to court seeking suspension of Ol Kalou by-election over poll integrity concerns
    • IG Kanja deploys over 1,000 police officers to secure Ol Kalou by-election
    • IEBC: Voters risk Sh1 million fine, three-year jail term for photographing ballots in Ol Kalou by-election

    β€œThe security challenge in Ol Kalou and across Kenya isn’t too much about the goons but the plain clothes rogue police officers outside of your command,”  Gachagua told Kanja.
    He said the campaigns in Ol Kalou had remained peaceful, disputing claims that young people had been involved in activities likely to disrupt the elections.
    According to Gachagua, a group he referred to as the Nairobi Sierra Group, allegedly linked to politicians, was responsible for several incidents during the campaigns, including an attack on DCP officials at the Royal Garden Hotel in Ol Kalou Town on July 1, 2026.

    Latest Stories

    • Court orders CBK to recognise Sakaja’s new Finance CEC as Nairobi County bank signatory
    • State Department for Lands given two weeks to submit report on contested properties
    • Nigeria offers clues to new US Africa strategy
    • MPs summon PSC officials over irregular recruitment in government agencies

    He said the officials were beaten, their items, including a mobile phone, were taken, and eight statements were recorded at Ol Kalou police station without further action being taken.
    He also claimed that on July 9, 2026, the DCP campaign team was attacked by plainclothes police officers using unmarked vehicles who sprayed them with pepper spray at 2:00 pm.
    Gachagua further alleged that on July 11, 2026, the DCP sound truck was attacked and damaged by hooded gunmen, while on July 13, 2026, there was an attempted assassination of East African Legislative Assembly (EALA) MP Kanini Kega.
    β€œOn July 13, 2026, there was an attempted assassination on EALA MP Kanini Kega. Why haven’t you spoken about it?” he questioned.
    The DCP leader said the deployment of more than 2,000 police officers in Ol Kalou was unprecedented in Kenya’s electoral history and called for all officers involved in security operations to be identifiable.
    β€œThe 2,000 Police Officers deployed must be uniformed, they must display their service numbers, they must not be hooded, and they must use clearly marked police vehicles,” Gachagua said.
    He warned that if violence occurred during the by-election, the responsibility would fall on the police because of the high number of officers deployed.
    β€œIf any violence occurs in Ol Kalou, a peaceful constituency, it is your fault and your police. With such an historic number, there should be no iota of electoral violence whatsoever. With 2,000 police officers, there should be no violence unless it is caused by the officers themselves,” he added.
    Gachagua further alleged that some deployed officers had received instructions to interfere with different stages of the election process, including voting, counting and tallying.
    β€œThey have been specifically sent to disrupt the commencement of the voting in the morning, disrupt voting, intimidate and harass agents, disrupt counting and tallying of votes and ensure that the UDA candidate is announced the winner,” he claimed.
    He also alleged that General Service Unit officers and Anti-Stock Theft Unit officers had instructions to use excessive force if protests occurred after the outcome of the election.
    β€œThe contingent of the GSU officers and anti-stock theft platoons deployed by yourself have instructions to ensure that might there be public disorder after the will of the people is overturned, they should quell it with a brute force never witnessed in the history of Kenya,” Gachagua said.
    The DCP leader criticised the state of the police service under IG Kanja’s leadership, saying the public had lost confidence in the institution. He asked the IG to use the Ol Kalou by-election as an opportunity to restore public confidence in the police service.
    β€œYou have a golden opportunity now; in fact, you may want to use the Ol Kalou by-election to redeem your dwindling public image and reputation among the officers you lead and the people of Kenya,” he said.
    He called on IG Kanja to immediately withdraw non-uniformed police officers deployed in Ol Kalou and focus on maintaining peace and protecting law and order during the by-election.
    On Tuesday, Kanja said the 114 polling stations would receive security officers in line with standard deployment procedures. He assured residents of Ol Kalou that they would be able to exercise their democratic rights in a peaceful and secure environment.

    Other Topics To Read

    Top Stories Today

    • Ol Kalou by-election: Gachagua demands police officers wear uniforms, use marked vehicles
    • Court orders CBK to recognise Sakaja’s new Finance CEC as Nairobi County bank signatory
    • State Department for Lands given two weeks to submit report on contested properties
    • MPs summon PSC officials over irregular recruitment in government agencies
    • KRA recovers Sh35.06 billion through negotiated tax settlements after resolving 993 cases
    • Skills for an uncertain future: How youth can navigate a changing job market

    `;
    }

    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

    MPs summon PSC officials over irregular recruitment in government agenciesNews
    |Lucy Mumbi
    |1 hour ago
    Why South Africa is Kenya’s top overseas destination for commercial property investmentBusiness
    |Alfred Onyango
    |3 hours ago
    Ol Kalou by-election: Gachagua demands police officers wear uniforms, use marked vehiclesNews
    |Lucy Mumbi
    |33 minutes ago

    <img src="https://absafricatv.com/wp-content/uploads/2026/07/Cargo-Port-1.jpg" alt="KRA sets August 3 start date for new Advance Cargo Declaration system“>

    KRA sets August 3 start date for new Advance Cargo Declaration systemNews
    |Bashir Mbuthia
    |3 hours ago

    Protected witness says he unknowingly transported ex-Kasipul MP Ong'ondo Were's alleged killer

    Protected witness says he unknowingly transported ex-Kasipul MP Ong’ondo Were’s alleged killerNews
    |Carolyne Kubwa
    |13 hours ago
    Activist moves to court seeking suspension of Ol Kalou by-election over poll integrity concernsNews
    |Carolyne Kubwa
    |21 hours ago
    India protests attacks on two commercial vessels in Strait of Hormuz which left one seafarer deadMiddle-East
    |Mary Wambui
    |15 hours ago

    US launches campaign to block ICC probes of American officials and military, citing threat to sovereignty

    US launches campaign to block ICC probes of American officials and military, citing threat to sovereigntyWorld
    |Bashir Mbuthia
    |12 hours ago
    Viwandani MCA Aaron Kang’ara Wangare charged over violent Donholm robbery and property damageCity Affairs
    |Carolyne Kubwa
    |15 hours ago
    Africa’s youth are finding jobs – but not the ones they imaginedBusiness
    |The Conversation
    |12 hours ago

    byelection Demands Gachagua Kalou police
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Chukwu Godlove

    Related Posts

    Pretoria accuses Ghana and Nigeria of spreading false news over xenophobia to isolate SA

    July 16, 2026

    Body of Ghanaian killed in South Africa repatriated as government demands justice

    July 16, 2026

    Ghana to conduct independent autopsy on citizen killed in South Africa xenophobic attacks

    July 16, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    China and South Africa to turn coal into oil

    July 16, 2026

    Africa’s Grid Bottleneck Is Straining Industrial Growth

    July 16, 2026

    Wema Bank Strengthens Fintech Ecosystem Through Strategic Partner Engagement

    July 16, 2026

    Ebola outbreak: Uganda starts 42-day countdown to being declared free of the virus

    July 16, 2026

    Thomson Wilks swipes CMS South Africa finance specialist

    July 16, 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

    China and South Africa to turn coal into oil

    Environment

    Africa’s Grid Bottleneck Is Straining Industrial Growth

    Business

    Wema Bank Strengthens Fintech Ecosystem Through Strategic Partner Engagement

    Most Popular

    Health

    Ebola outbreak: Uganda starts 42-day countdown to being declared free of the virus

    Legal

    Thomson Wilks swipes CMS South Africa finance specialist

    Lifestyle

    Femi Adebayo Celebrates Daughter Niniola Jannah As She Turns 21

    © 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.