> ## Documentation Index
> Fetch the complete documentation index at: https://kernel.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Termination & Timeouts

Kernel browsers should be terminated after you're done with them.

> [!NOTE]
>
> Using Playwright/Puppeteer's method `browser.close()` does not delete the browser. Use one of the methods below to delete the browser.

## Deleting a browser via session ID

Every browser instance has a `session_id`. You can delete any browser using its session ID:

```typescript Typescript/Javascript theme={null}
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

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

```python Python theme={null}
from kernel import Kernel

kernel = Kernel()
kernel.browsers.delete_by_id("htzv5orfit78e1m2biiifpbv")
```

```go Go theme={null}
package main

import (
	"context"

	"github.com/kernel/kernel-go-sdk"
)

func main() {
	ctx := context.Background()
	client := kernel.NewClient()

	if err := client.Browsers.DeleteByID(ctx, "htzv5orfit78e1m2biiifpbv"); err != nil {
		panic(err)
	}
}
```

## Automatic deletion via timeout

If you don't manually delete a browser, it will be automatically deleted after a configurable `timeout` (default 60 seconds). The timeout begins once the browser enters [standby](https://kernel.sh/docs/browsers/standby) — i.e. when there's no CDP or WebDriver client, no Live View viewer, and no [computer controls](https://kernel.sh/docs/browsers/computer-controls.md) request in flight.

You can set a custom timeout of up to 72 hours when creating a browser:

```typescript Typescript/Javascript theme={null}
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

const browser = await kernel.browsers.create({ timeout_seconds: 300 });
console.log(browser.session_id);
```

```python Python theme={null}
from kernel import Kernel

kernel = Kernel()

browser = kernel.browsers.create(timeout_seconds=300)
print(browser.session_id)
```

```go Go theme={null}
package main

import (
	"context"
	"fmt"

	"github.com/kernel/kernel-go-sdk"
)

func main() {
	ctx := context.Background()
	client := kernel.NewClient()

	browser, err := client.Browsers.New(ctx, kernel.BrowserNewParams{
		TimeoutSeconds: kernel.Int(300),
	})
	if err != nil {
		panic(err)
	}

	fmt.Println(browser.SessionID)
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.