I wanted this too, so I made a TamperMonkey userscript for it until it's an official feature:
// ==UserScript==
// @name Kagi Random Companion
// @namespace http://tampermonkey.net/
// @version 2026-01-17
// @description Get a new companion each time you visit Kagi!
// @match https://kagi.com/
// @icon https://kagi.com/apple-touch-icon.png
// @grant none
// ==/UserScript==
(async function() {
'use strict';
// Comment out any companions you don't want to see,
// or uncomment those which you want to enable:
const companions = [
// "default",
"doggo",
"kagibara",
"katto",
"kagiroo",
"doggo_orion",
"doggo_detective",
"doggo_sniff",
"doggo_fly",
"doggo_happy",
"doggo_spin",
"doggo_world",
"doggo_work",
// "doggo_halloween",
"doggo_summer",
"doggo_winter"
]
const companion = companions[Math.floor(Math.random() * companions.length)]
await fetch("https://kagi.com/settings", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
body: `companion_id=${companion}&no_redirect=true`,
credentials: "include"
});
})();
Edit: Script updated 01-17-26 to include new companions