Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Monday, July 6
    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»CS Duale demands $1.3 trillion climate fund for Africa at COP29
    Environment

    CS Duale demands $1.3 trillion climate fund for Africa at COP29

    Markel ZillaBy Markel ZillaJuly 6, 2026No Comments10 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 8

    CS Duale demands $1.3 trillion climate fund for Africa at COP29

    CS Duale demands $1.3 trillion climate fund for Africa at COP29

    Environment Cabinet Secretary Aden Duale addressing a press conference at COP29 in Azerbaijan’s capital Baku on November 12, 2024. (Handout)

    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.

    CS Duale stressed that the $1.3 trillion fund is needed to support the victims of climate disasters, adding that it should come in the form of grants, not loans

    Environment Cabinet Secretary Aden Duale has called for urgent action to address climate change and secure crucial financial support for vulnerable nations.
    Speaking to journalists at the ongoing COP29 in Baku, Azerbaijan on Tuesday, Duale highlighted Africa’s demand for a new climate financing mechanism worth $1.3 trillion, which he described as the “irreducible minimum” for the continent.
    The target seeks to hold polluting nations accountable for the devastating climate impacts faced by vulnerable regions, particularly in Africa, which suffers the worst effects of climate change despite contributing minimally to global emissions.

    More To Read

    • The world has the science to transform food systems: The next frontier is scaling it
    • A Super El Niño is coming: Five hard‑won lessons the world can learn from Africa
    • Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effects
    • KUTRRH named Centre of Excellence for ear and hearing care
    • Kenya halts parallel importation of medicines in crackdown on substandard drugs
    • How the cocoa price crash is crushing West African farmers

    CS Duale stressed that the $1.3 trillion fund is needed to support the victims of climate disasters, adding that it should come in the form of grants, not loans.
    “We are bringing in as Africa a new climate financing mechanism of $1.3 trillion, which we want polluters to pay for the victims of climate effects,” he stated.
    Kenya, already facing severe consequences of climate change, serves as a powerful example of why such funding is critical.

    Latest Stories

    • DCI arrests man accused of conning job seekers Sh8.6 million in fake KDF, NPS and PSC recruitment scam
    • Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcare
    • The world has the science to transform food systems: The next frontier is scaling it
    • Nigeria demands probe after two citizens killed in South Africa amid rising xenophobia concerns

    In the last five years, droughts have ravaged 5 per cent of the country’s GDP, while floods and landslides have led to over 400 fatalities, including 42 in Nairobi alone.
    Prime Cabinet Secretary Musalia Mudavadi (centre), Environment CS Aden Duale (second from left), Environment PS Festus Ng’eno (left) with delegates at COP29 on November 12, 2024, in Baku, Azerbaijan. (Handout)
    The impact on infrastructure and the economy has been devastating, further underscoring the urgency of the climate finance discussions.
    At COP29, Kenya is also advocating for broader climate adaptation and mitigation strategies to help African nations build resilience.
    CS Duale noted that the country is committed to green energy and sustainable development, and Kenya is eager to establish partnerships for tackling shared environmental challenges.
    “Kenya is set to champion impactful climate adaptation and mitigation measures for Africa at COP29,” he said, noting that the country’s sustainability efforts align with President William Ruto’s national agenda.
    Going further, Duale also reiterated Kenya’s call for accessible climate finance for developing nations, which should not only address immediate climate risks but also foster long-term resilience.
    This approach ties into Kenya’s broader goals of sustainable development, with an emphasis on climate adaptation, clean energy, and equitable access to resources.
    As COP29 discussions unfold, Kenya’s delegation, led by Prime Cabinet Secretary Musalia Mudavadi and Duale, is also advocating for financial reforms to ensure developing nations receive the support they need.
    These reforms would ensure that vulnerable countries are not left behind in the global effort to combat climate change.
    With over 70,000 delegates in attendance, including heads of state and government, COP29 has already seen significant progress.
    The summit, which runs from November 11-22, witnessed a breakthrough agreement on carbon credit standards, which is seen as a critical step toward improving international climate action.
    COP29 President Mukhtar Babayev has called the agreement a “game-changing tool” to channel resources to developing nations, marking a pivotal moment in global climate negotiations.

    Other Topics To Read

    Top Stories Today

    • Man arrested over Sh8.6 million fake KDF, police jobs scam
    • Saba Saba organisers notify police of peaceful march to Parliament
    • Wajir expands healthcare with new Baitulmaal Level 4 Hospital project
    • Why scaling innovation is the missing link in global food security
    • Abuja warns of diplomatic fallout after killing of Nigerians in South Africa
    • Kenya’s Stephen Yiembe lands historic UEFA Super Cup officiating role

    `;
    }

    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

    Zamzam fires warning over ODM nomination as Mombasa succession politics intensify
    Zamzam fires warning over ODM nomination as Mombasa succession politics intensifyPolitics
    |Farhiya Hussein
    |7 hours ago
    Stephen Yiembe makes history as first Kenyan referee appointed for UEFA Super Cup
    Stephen Yiembe makes history as first Kenyan referee appointed for UEFA Super CupFootball
    |Erick Kariuki
    |7 hours ago
    Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcare
    Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcareNorthern Kenya
    |Abdirahman Khalif
    |6 hours ago
    Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeat
    Cherotich, Odira shine as Kenya dominates Prefontaine Classic despite rare Kipyegon defeatSports
    |Erick Kariuki
    |21 hours ago
    Report records 83 harassment incidents against Christians in Israel over three months
    Report records 83 harassment incidents against Christians in Israel over three monthsMiddle-East
    |Bashir Mbuthia
    |1 day ago
    Government announces final repatriation flight for Kenyans in South Africa
    Government announces final repatriation flight for Kenyans in South AfricaNews
    |Rachael Mutabasi
    |1 day ago
    UN agencies warn South Sudan funding shortfall pushes millions toward acute hunger
    UN agencies warn South Sudan funding shortfall pushes millions toward acute hungerRegional
    |XINHUA
    |1 day ago
    Slum residents urged to adopt 'localised solutions' to mitigate climate change effects
    Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effectsNews
    |Hussein Hassan
    |1 day ago
    IGAD pushes regional action to tackle plastic pollution
    IGAD pushes regional action to tackle plastic pollutionNews
    |Rachael Mutabasi
    |1 day ago
    60 more Kenyans arrive home from South Africa as government steps up evacuations
    60 more Kenyans arrive home from South Africa as government steps up evacuationsNews
    |Mary Wambui
    |1 day ago

    Climate Demands Duale Fund trillion
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Markel Zilla
    • Website

    Related Posts

    South African Court Allows Private Rhino Horn Exports

    July 6, 2026

    Record green electricity production: Renewables supply 58 percent

    July 6, 2026

    Kenya needs Sh79 trillion to achieve net zero carbon emissions by 2050 – DP Gachagua

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Pope urges Europe to protect migrants in visit to Island Frontier

    July 6, 2026

    South African Court Allows Private Rhino Horn Exports

    July 6, 2026

    I left Google and spent a year traveling. 6 months on a Thai island led me to a career I never expected.

    July 6, 2026

    Ruto calls for production of affordable fertiliser in Africa

    July 6, 2026

    Legal experts in Lanka oppose changing judges retirement age

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

    Pope urges Europe to protect migrants in visit to Island Frontier

    South African Court Allows Private Rhino Horn Exports

    I left Google and spent a year traveling. 6 months on a Thai island led me to a career I never expected.

    Most Popular

    Ruto calls for production of affordable fertiliser in Africa

    Legal experts in Lanka oppose changing judges retirement age

    Woman jailed five years for sexually exploiting four girls

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