Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tbd-6fc993ce-hypeship-docs-chrome-policy-on-demand.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Browser pools accept an optional chrome_policy object that applies Chrome enterprise policies to every browser in the pool. The same field is also available on on-demand browsers — see Chrome policies for the general reference, supported keys, and on-demand usage.

Setting chrome policies on a pool

Pass a chrome_policy object when creating or updating a pool. Keys are Chrome policy names and values are the corresponding settings.
import Kernel from '@onkernel/sdk';

const kernel = new Kernel();

const pool = await kernel.browserPools.create({
  name: "my-configured-pool",
  size: 5,
  chrome_policy: {
    HomepageLocation: "https://kernel.sh",
    HomepageIsNewTabPage: false,
    ShowHomeButton: true,
    NewTabPageLocation: "https://kernel.sh/docs",
    RestoreOnStartup: 4,
    RestoreOnStartupURLs: ["https://kernel.sh"],
    BookmarkBarEnabled: true,
    ManagedBookmarks: [
      { toplevel_name: "Company Resources" },
      { name: "Dashboard", url: "https://example.com/dashboard" },
      { name: "Documentation", url: "https://example.com/docs" },
      {
        name: "Tools",
        children: [
          { name: "Jira Board", url: "https://example.com/jira" },
          { name: "Slack", url: "https://example.com/slack" },
          { name: "GitHub PRs", url: "https://example.com/github" },
          { name: "Runbooks", url: "https://example.com/runbooks" }
        ]
      }
    ]
  }
});

Updating policies on an existing pool

You can update chrome_policy on an existing pool. Pass discard_all_idle: true to immediately replace all idle browsers with the new policy configuration.
{
  "chrome_policy": {
    "HomepageLocation": "https://kernel.sh",
    "HomepageIsNewTabPage": false,
    "ShowHomeButton": true,
    "NewTabPageLocation": "https://kernel.sh/docs",
    "RestoreOnStartup": 4,
    "RestoreOnStartupURLs": ["https://kernel.sh"],
    "BookmarkBarEnabled": true,
    "ManagedBookmarks": [
      {"toplevel_name": "Company Resources"},
      {"name": "Dashboard", "url": "https://example.com/dashboard"},
      {"name": "Documentation", "url": "https://example.com/docs"},
      {
        "name": "Tools",
        "children": [
          {"name": "Jira Board", "url": "https://example.com/jira"},
          {"name": "Slack", "url": "https://example.com/slack"},
          {"name": "GitHub PRs", "url": "https://example.com/github"},
          {"name": "Runbooks", "url": "https://example.com/runbooks"}
        ]
      }
    ]
  },
  "discard_all_idle": true
}

Available policies

See Chrome policies for a reference of commonly used policy keys. Any policy listed in the Chrome Enterprise policy documentation can be used in the chrome_policy object.