# ai-newtab: Claude writes your new tab page from your own browsing

> AI Homepage is a MIT licensed Chrome extension that replaces the new tab page with one an agent writes after reading your browsing history and the pages you follow while signed in, and it rebuilds itself in the background each morning. The judgement is that the privacy model is stated unusually plainly for a project like this, and that the status section is the first thing to read, because the author says outright that it is early and not ready for a store.

**ThariqS/ai-newtab** — Claude generates a daily new tab page based on your browser history.

- Repository: https://github.com/ThariqS/ai-newtab
- Stars: 875 · Forks: 88
- Language: TypeScript
- License: MIT
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/thariqs-ai-newtab

## A homepage assembled from what you read

AI Homepage replaces the Chrome new-tab page with one that is written for you, and the mechanism is that an agent looks at what you have actually been browsing, opens the pages you follow while signed in as you, and writes a fresh homepage from what it finds there. The page then rebuilds itself in the background, so each new tab is up to date rather than frozen at the moment it was written. The screenshot in the README shows a morning-newspaper layout, with the caption noting that the homepage is built from your own browsing, so the stories will differ for everyone. The newspaper is only one look, and the README makes the point that you can describe any look and the next build follows it, naming a quiet one-column digest, a dense dashboard, a green-on-black terminal and a zine as the range. The interesting design decision is that the layout is an instruction to the model rather than a template in the code.

## What leaves your machine during a build

The privacy paragraph is placed up front, and it is specific rather than reassuring. To build your homepage, the extension sends a summary of your browsing history, meaning the top domains, the visit counts and a few page titles, and the cleaned-up HTML of up to 8 pages, to the Anthropic API, using your own API key. The reason those pages can contain private content is stated plainly, since they are loaded in your signed-in browser. What happens afterwards matters just as much. The agent session and every uploaded page are deleted when each build ends, and your API key stays in the extension's local storage rather than being sent anywhere. For a project that reads signed-in pages, that is the right shape of disclosure, and the README points to a dedicated privacy section in ARCHITECTURE.md for the detail. It is also a data flow to understand before you install it, since a summary of your history still leaves the machine on every build.

## Building it and loading it into Chrome

You need three things, a Chrome or other Chromium browser, Node.js 20 or newer, and an Anthropic API key. The build is a clone and two package manager calls, and the project pins pnpm at 10.11.1 so it works even if you have no pnpm installed:

```bash
git clone https://github.com/ThariqS/ai-newtab.git
cd ai-newtab
npx pnpm@10.11.1 install
npx pnpm@10.11.1 build
```

If you already have pnpm, plain pnpm install and pnpm build work too. Loading it into Chrome is then a manual step through the extensions page. Go to chrome://extensions, turn on Developer mode in the top right, click Load unpacked and choose the apps/extension/.output/chrome-mv3 directory. If Chrome asks whether to keep the changed new-tab page, choose Keep it, since the extension has to claim that page to replace it.

## The first build, and the progress view

The first run is short to describe. Open a new tab, paste your Anthropic API key, click Build today's homepage, and watch it work. The progress view walks through each stage, preparing the agent, reading your history, opening pages in your browser, analyzing them and writing your homepage, which is a good design because the slowest part is the browser work and it would be hard to debug otherwise. The first build takes a few minutes. You can close the tab while it runs, because the build lives in the extension's background worker and the result appears in any new tab you open, so there is no need to sit and watch it. If Chrome closes mid-build, the next new tab offers a Resume interrupted build option, which is a small piece of engineering that saves a rebuild.

## Settings, the block list and the model choice

The settings box is where the look and the content are decided, and the README is clear that anything written there goes into every build and takes priority over the agent's own defaults. A single sentence can set both, say a morning newspaper with serif type and a big masthead, or a dense dashboard with GitHub pull requests and issues first, then Hacker News, then everything else, or a set of personal rules such as skipping sports and politics and always showing the weather and the next three calendar events. Save and rebuild applies the change immediately. The block list is the second half of the privacy story, with one host per line, subdomains included and a wildcard prefix supported, and the editable defaults covering common webmail, sign-in and document hosts. The list applies to both the history summaries and the URLs requested through getPageHtml, a page that redirects onto a blocked host is dropped before its content is uploaded, and local network addresses, meaning localhost, private IP addresses and local and internal hosts, are always blocked. Finally you pick the model that writes the page, Claude Sonnet 5.5 by default as the balance of quality and cost, Claude Haiku 5.5 for speed and price, and Claude Opus 5.5 as the most careful and the most expensive, with the choice taking effect from the next build.

## Four tools and no server in between

The How it works section describes the loop in four steps. getHistory gives the agent a ranked summary of your most visited domains. getPageHtml picks up to 8 pages, which the extension opens in a background window, cleans up and mounts into the agent's sandbox as files. Then grep and read let the agent pull headlines, posts and links out of those files inside the sandbox. Finally write has it produce one React component, which the new tab renders. The architecture point is in the paragraph after that list. The extension's background worker drives a Claude Managed Agents session directly, with no server in between, and the two custom tools run inside the extension because they need chrome.history and chrome.tabs. Everything else happens in the agent's sandbox, where shell access is off, because scraped pages are untrusted input. The repository holds a packages directory, an apps directory, a harness directory, an ARCHITECTURE.md with the event flow and the gotchas, a docs directory and a pnpm workspace file.

## Cost, limits, and an early status warning

The Good to know section is candid about the parts that will affect your bill and your expectations. Each build is a single agent session billed to your API key, the cost depends on the model and on how much it reads, Haiku is the cheapest choice, and you can turn off automatic rebuilds to build only when you ask. The automatic morning rebuild is on by default and produces one morning edition a day, in the background, the first time Chrome is open between 5am and noon, with the day skipped if Chrome is not open then, and it only starts once you have built by hand, and it tries at most once per morning so it never loops. On what the agent sees, it ranks sites in your history and opens up to 8 per build, skipping search engines, webmail, banking and logged-out marketing pages, and anything it cannot open is reported rather than hidden. Links are real, since every link comes from a page the agent actually read and it is told never to invent a URL. The status note is the one to read before anything else, because it says the project is early and experimental, that it is a tool you run yourself with your own key, and that you should not publish it to a store as it is. The licence is MIT, the repository publishes no GitHub releases, and the last push was on 2026-10-19 with the repository not archived.

## Conclusion

ai-newtab fits a person who wants a personal front page assembled from what they actually read, and who is comfortable running an agent against their own signed-in browser with their own API key. It is the wrong choice for a shared or managed device, because the extension reads history and opens pages as the signed-in user, and it is a poor fit for anyone who needs the new tab page to be reproducible, since the page is generated rather than authored. Before you install it, read the Status section, because the author asks you not to publish it to a store as it stands, and decide which model the builds should use, since each build is a separate billed agent session on your key.

## FAQ

### What data does the AI Homepage extension send to Anthropic?

A summary of your browsing history, covering the top domains, visit counts and a few page titles, and the cleaned-up HTML of up to 8 pages, sent with your own API key. The pages are loaded in your signed-in browser so they can include private content, and the agent session and every uploaded page are deleted when the build ends while your key stays in the extension's local storage.

### How do I install the AI Homepage extension in Chrome?

Clone the repository, run npx pnpm@10.11.1 install and npx pnpm@10.11.1 build, then open chrome://extensions, turn on Developer mode, click Load unpacked and choose apps/extension/.output/chrome-mv3. If Chrome asks whether to keep the changed new-tab page, choose Keep it.

### Which Claude model can the ai-newtab extension use to write the page?

Claude Sonnet 5.5 is the default and the balance of quality and cost, Claude Haiku 5.5 is the fastest and cheapest, and Claude Opus 5.5 is the most careful editor and the most expensive. A change of model takes effect from your next build.

## Sources

- [Issues](https://github.com/ThariqS/ai-newtab/issues)
- [License: MIT](https://github.com/ThariqS/ai-newtab/blob/main/LICENSE)
- [README](https://github.com/ThariqS/ai-newtab/blob/main/README.md)
- [ThariqS/ai-newtab on GitHub](https://github.com/ThariqS/ai-newtab)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/thariqs-ai-newtab
