> ## Documentation Index
> Fetch the complete documentation index at: https://tbd-6fc993ce-hypeship-docs-website-deploy-hook.mintlify.site/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.

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

## Deleting a browser via session ID

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

<CodeGroup>
  ```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)
  	}
  }
  ```
</CodeGroup>

## 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](/browsers/standby) — i.e. when there's no CDP or WebDriver client, no Live View viewer, and no [computer controls](/browsers/computer-controls) request in flight.

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

<CodeGroup>
  ```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)
  }
  ```
</CodeGroup>
