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»Trending»Amnesty urges East African Court to probe activist Mwabili Mwagodi’s abduction
    Trending

    Amnesty urges East African Court to probe activist Mwabili Mwagodi’s abduction

    Anjianjei ConstantineBy Anjianjei ConstantineJuly 5, 2026No Comments10 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Amnesty urges East African Court to probe activist Mwabili Mwagodi’s abduction
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 19

    Amnesty urges East African Court to probe activist Mwabili Mwagodi’s abduction

    Amnesty urges East African Court to probe activist Mwabili Mwagodi’s abduction

    Human rights activist Mwabili Mwagodi assisted by medical personnel. He is currently receiving treatment at Pandya Memorial Hospital in Mombasa. (Photo: Hussein Khalid)

    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.

    Amnesty further faulted the silence of both governments throughout the period the activist was missing, saying it was deeply troubling and signals a lack of commitment to justice and human rights protection

    Amnesty International Kenya has urged the East African Court of Justice to step in and launch an independent probe into the alleged abduction of Kenyan activist Mwabili Mwagodi in Tanzania, saying both the Kenyan and Tanzanian governments cannot be trusted to handle the matter impartially.
    In a statement on Sunday, July 27, just hours after Mwagodi was found abandoned in Kwale County, Amnesty called on the regional court to lead investigations and ensure that legal action is taken against those responsible for his disappearance and mistreatment.
    “We reiterate our call for independent, impartial investigations and accountability in the East African Court of Justice, as well as protection for Mwagodi and other activists who face increased risks,” the group stated.

    More To Read

    • Questions mount as five June 25 protesters found injured, one still missing
    • Open roads now- Rights groups say after police block major Nairobi roads ahead of June 25 protests
    • Amnesty proposes establishment of ‘Reparations Fund’ to fast-track victim compensation
    • Amnesty International Kenya appoints George Morara as new Executive Director
    • KNCHR pledges a stronger protection framework for human rights defenders
    • Amnesty International decries escalating assaults, obstruction of journalists in Kenya

    Amnesty further faulted the silence of both governments throughout the period the activist was missing, saying it was deeply troubling and signals a lack of commitment to justice and human rights protection.
    “The silence of both Tanzanian and Kenyan governments during his prolonged detention, transportation, and abandonment is deeply troubling,” the statement added.
    Amnesty also noted that executive and judicial inaction in both countries, not only in Mwagodi’s case but in other recent incidents, undermines public trust and makes it impossible for national systems to lead credible investigations.

    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

    The organisation demanded that all activists facing potential abduction or enforced disappearance in both Kenya and Tanzania be granted the necessary protection.
    “We salute the public pressure generated by his family, the public, and human rights organisations,” Amnesty said, crediting the collective outcry for helping to secure Mwagodi’s release.
    Echoing the same concerns, the Kenya Human Rights Commission (KHRC) also demanded that both governments be held to account for what it described as a coordinated cross-border abduction.
    “KHRC demands that the Kenyan and Tanzanian authorities be held accountable for the cross-border collusion that led to the abduction and enforced disappearance of Mwagodi, as well as any harm that may have been inflicted upon him,” KHRC said.
    Mwagodi, a well-known human rights activist, reportedly disappeared in Tanzania on Wednesday, July 23. He resurfaced early Sunday, July 27, after being dropped in Kwale County.
    According to Vocal Africa CEO Hussein Khalid, Mwagodi was able to contact his family and later voluntarily walked into the Diani Police Station for help. However, police officers attempted to detain him until Vocal Africa intervened to secure his release.
    “When he finally reached Diani, around 3:00 am, Mwabili Mwagodi actually thought presenting himself to the police would be a good thing, so he voluntarily went to Diani Police Station,” Hussein explained.
    Mwagodi is currently undergoing a medical check-up at a hospital in Mombasa before being reunited with his family.

    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
    |4 hours ago
    UK, France agree with Oman on multinational military mission to secure Strait of Hormuz
    UK, France agree with Oman on multinational military mission to secure Strait of HormuzNews
    |Mary Wambui
    |15 hours ago
    Egypt end 92-year wait to reach World Cup last 16
    Egypt end 92-year wait to reach World Cup last 16News
    |Erick Kariuki
    |19 hours ago
    South Africa, Egypt and Morocco emerge as Africa's leading hubs for the super rich
    South Africa, Egypt and Morocco emerge as Africa’s leading hubs for the super richBusiness
    |Alfred Onyango
    |13 hours ago
    Busia school named among global finalists for 2026 education prize
    Busia school named among global finalists for 2026 education prizeEducation
    |Bashir Mbuthia
    |9 hours ago
    Renewable energy boom cuts global fossil fuel bill by Sh62 trillion in 2025
    Renewable energy boom cuts global fossil fuel bill by Sh62 trillion in 2025Business
    |Alfred Onyango
    |20 hours ago
    Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
    Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plansSports
    |Bashir Mbuthia
    |4 hours ago
    Malian army reports attempted attacks on multiple military positions
    Malian army reports attempted attacks on multiple military positionsWorld
    |XINHUA
    |14 hours ago
    Sudanese army intensify offensive to retake strategic city of Kurmuk on Ethiopia border
    Sudanese army intensify offensive to retake strategic city of Kurmuk on Ethiopia borderRegional
    |Addis Standard
    |12 hours ago
    Weight-loss drug Wegovy approved in UK for MASH-related liver fibrosis
    Weight-loss drug Wegovy approved in UK for MASH-related liver fibrosisNews
    |Charity Kilei
    |12 hours ago

    African Amnesty court East urges
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Anjianjei Constantine
    • Website

    Related Posts

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

    July 5, 2026

    Lufthansa Group expands its presence in East Africa

    July 5, 2026

    Mystery of tuskless male African elephant in Samburu leaves scientists puzzled

    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.