Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Wednesday, July 1
    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»Environment»Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns
    Environment

    Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns

    Markel ZillaBy Markel ZillaJuly 1, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 20

    Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns

    Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns

    Klaus Thymann, an acclaimed Danish investigative journalist and photographer who was reportedly arrested in Uganda over alleged wildlife-related offences. (Photo: Courtesy)

    Read this story aloud

    Listen to the clean text version of this article

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

    The Danish wildlife journalist was arrested while seeking work permits in Kampala, with authorities yet to disclose the alleged offences as concerns grow over increasing pressure on Uganda’s media

    Ugandan authorities have reportedly arrested Danish wildlife journalist and investigative reporter Klaus Thymann over alleged wildlife-related offences, although officials have not disclosed the specific charges.
    Thymann was arrested on Monday at the Uganda Wildlife Authority (UWA) headquarters in Kampala, where he had gone to obtain work permits. He is being held at Kira Road Police Station and is expected to be transferred to Kasese District in western Uganda, where the alleged offences are said to have occurred.
    “Yes, we arrested him,” UWA spokesperson Bashir Hangi told The Monitor.

    More To Read

    • The international legal order is broken: Two key changes needed to fix it
    • Kenya overhauls disaster financing after Sh188 billion flood losses stall economic recovery
    • NMG Uganda keeps news flowing online after military raid hits broadcast operations
    • Uganda orders evacuation of nationals as anti-migrant violence escalates in South Africa
    • East African Press Councils warns growing attacks on media threaten democracy and press freedom
    • Scientists link deadly European heatwave to fossil fuel-driven global warming

    Authorities have not explained the reason for Thymann’s arrest, but reports suggest it may be linked to his environmental work in protected areas.
    Thymann is widely known for documenting the Rwenzori Mountains, where he has extensively researched the shrinking glaciers caused by climate change.
    In 2012, he conducted field surveys in the region with conservation teams, documenting early signs of glacier retreat.

    Latest Stories

    • LeBron James’ Lakers journey ends as NBA’s all-time scoring king moves on
    • Trump suffers major defeat as US Supreme Court protects birthright citizenship for migrants’ children
    • Nearly 50,000 missing after Venezuela twin earthquakes as death toll tops 1,700
    • Kenya unveils Sh1.081 trillion plan to transform agriculture and create 2 million jobs

    His updated findings, released in 2025, showed further ice loss and drew criticism from Kampala, which argued that the changes were due to natural causes rather than climate change.
    The reported arrest comes amid growing concerns over increasing pressure on journalists in Uganda, where media workers and outlets have faced heightened government scrutiny and restrictions.
    On Sunday, a military raid on the Nation Media Group Uganda premises in Namuwongo disrupted newspaper printing, television broadcasts and radio operations. Television and radio stations, including NTV Uganda, Spark TV, KFM and Dembe FM, were taken off air during the overnight operation.
    The move drew criticism from media and human rights groups, which warned it threatened press freedom. Officials later said discussions were underway that could lead to the resumption of operations at the affected outlets.
    “We have agreed that we shall reopen both Daily Monitor and NTV soon. However, we shall first have discussions with the management of both sister companies. I will inform them when we can have this meeting,” Patriotic League of Uganda (PLU) Central Executive Committee member Andrew Mwenda said on X.
    Uganda’s Chief of Defence Forces, Gen Muhoozi Kainerugaba, who ordered the closures, later said consultations had also been extended to international partners before a final decision would be made.
    “As comrade @AndrewMwenda said, we are having discussions with our allies in the UK and Europe about re-opening both NTV and Daily Monitor. We shall take the results of these discussions to Mzee for final approval,” Muhoozi wrote.

    Other Topics To Read

    Top Stories Today

    • Cabinet approves funding boost for key Isiolo-Mandera highway sections
    • Kenya eyes 2 million new jobs under Sh1.081 trillion agriculture plan
    • LeBron James leaves Los Angeles Lakers after eight seasons
    • US top court rejects Trump plan to end citizenship for children of illegal migrants
    • Death toll rises above 1,700 after Venezuela quakes, 50,000 still missing
    • State audit uncovers Sh6.2 billion payroll irregularities, triggers criminal investigation

    `;
    }

    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

    More than 80 Kenyans return home from South Africa amid xenophobic unrestNews
    |Mary Wambui
    |11 hours ago
    Refugees under new UK entry scheme to pay back for support granted, Minister saysNews
    |Mary Wambui
    |8 hours ago
    Court rules Ruto’s Cabinet is unconstitutional, orders gender-balanced appointments within 120 daysNational
    |Carolyne Kubwa
    |10 hours ago
    Gachagua alleges crackdown on media, says journalists at risk ahead of 2027 polls
    Gachagua alleges crackdown on media, says journalists at risk ahead of 2027 pollsNews
    |Lucy Mumbi
    |16 hours ago
    Mombasa strengthens global cruise tourism appeal with landmark Asian cruise ship visitNews
    |Farhiya Hussein
    |8 hours ago
    Five records Cape Verde have broken at FIFA World Cup 2026Sports
    |The New Times
    |16 hours ago
    Records tumble as historic 2026 FIFA World Cup group stage rewrites football historySports
    |Erick Kariuki
    |1 day ago
    Police arrest suspect linked to violent robberies in Mombasa and MalindiCoast
    |Farhiya Hussein
    |1 day ago
    Only 20 per cent of sunscreens meet safety and effectiveness standards, new report findsHealth
    |Charity Kilei
    |1 day ago
    Study warns against screen use in babies, links early exposure to developmental risksHealth
    |Charity Kilei
    |23 hours ago

    arrests Danish journalist Uganda wildlife
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Markel Zilla
    • Website

    Related Posts

    Nigeria lands four wild card slots for Africa Scrabble Championship

    July 1, 2026

    Inside African Parks: Investigation Uncovers Corruption Claims, Procurement Questions and Workplace Complaints Across Malawi Reserves – Malawi News | Breaking News, Politics, Business & Sports

    July 1, 2026

    Nigeria gets four Wild Cards for Africa Scrabble Championship

    July 1, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Here come the charter flights: heil the tourist season! – Already plenty of Italians, drawn also by the better climate

    July 1, 2026

    Nigeria lands four wild card slots for Africa Scrabble Championship

    July 1, 2026

    Stop Grouping People and Grow the Economy and We Will Be Fine

    July 1, 2026

    AfCFTA, UNDP, Nigeria Demand Urgent Action to Put Women at Centre of Africa’s Economic Integration

    July 1, 2026

    Law enforcement agencies united in ensuring safety of residents

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

    Here come the charter flights: heil the tourist season! – Already plenty of Italians, drawn also by the better climate

    Nigeria lands four wild card slots for Africa Scrabble Championship

    Business

    Stop Grouping People and Grow the Economy and We Will Be Fine

    Most Popular

    Health

    AfCFTA, UNDP, Nigeria Demand Urgent Action to Put Women at Centre of Africa’s Economic Integration

    Legal

    Law enforcement agencies united in ensuring safety of residents

    Lifestyle

    Fela Kuti is more famous today than ever – what’s behind his global power

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