CS Duale demands $1.3 trillion climate fund for Africa at COP29
CS Duale demands $1.3 trillion climate fund for Africa at COP29
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 intensifyPolitics
|Farhiya Hussein
|7 hours ago
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 healthcareNorthern Kenya
|Abdirahman Khalif
|6 hours ago
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 monthsMiddle-East
|Bashir Mbuthia
|1 day ago
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 hungerRegional
|XINHUA
|1 day ago
Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effectsNews
|Hussein Hassan
|1 day ago
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 evacuationsNews
|Mary Wambui
|1 day ago
