Skip to main content
Kernel browsers should be terminated after you’re done with them.

Deleting a browser via session ID

Every browser instance has a session_id. You can delete any browser (persistent or non-persistent) using its session ID:
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

await kernel.browsers.deleteByID('htzv5orfit78e1m2biiifpbv');

Deleting a persistent browser by persistence ID

For convenience, persistent browsers can also be deleted using their persistence_id:
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

await kernel.browsers.delete({
  persistence_id: 'unique-browser-id-for-persistence',
})
This will permanently delete the persistent browser and all its saved state.

Automatic deletion via timeout

If you don’t manually delete a non-persisted browser, it will be automatically deleted after a configurable timeout (default 60 seconds). The timeout begins when the browser does not see a CDP or live view connection. You can set a custom timeout of up to 24 hours when creating a browser:
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

const browser = await kernel.browsers.create({ timeout_seconds: 300 });
console.log(browser.session_id);
Persistent browsers are not automatically deleted via timeout. They exist indefinitely until you manually delete them.