A small Chrome/Edge extension that adds quality-of-life tweaks to the claude.ai web interface.
Disclaimer: This is an unofficial, third-party browser extension for claude.ai. It is not affiliated with, endorsed by, or supported by Anthropic in any way. "Claude" and "claude.ai" are properties of Anthropic. Use at your own risk.
- Resizable sidebar — adds a drag handle to the right edge of the sidebar. Drag to resize; double-click to reset to the default width. Your chosen width is saved across sessions.
- Project chips — tags each chat in the sidebar with a colored chip showing which project it belongs to. Each project gets a stable, distinct color.
This extension is not published to any store. Load it unpacked:
- Clone or download this repository.
- Open your browser's extensions page:
- Chrome:
chrome://extensions - Edge:
edge://extensions
- Chrome:
- Enable Developer mode.
- Click Load unpacked and select the
extension/folder. - Open or reload claude.ai.
The extension runs a single content script on https://claude.ai/*:
- It locates the sidebar
<nav>, injects a resize handle, and persists the width inlocalStorage(cwt.sidebarWidth). - It fetches your chat conversations via claude.ai's own API (
/api/organizations/.../chat_conversations) to map each chat to its project, then renders the project chips. This uses your existing logged-in session — no credentials are collected, stored, or sent anywhere.
A MutationObserver re-applies the tweaks as claude.ai re-renders its UI.
This extension is designed to be easy to audit. If you're concerned about privacy, you can confirm for yourself that it sends nothing to third parties:
-
Read the source. It's three unminified files —
content.js(~250 lines),manifest.json, andstyles.css. There is no build step and no bundled dependencies, so the code in this repo is exactly what runs in your browser. -
Check the manifest.
manifest.jsondeclares nopermissionsand nohost_permissions, and only runs onhttps://claude.ai/*. Your browser's extension details page will also show that its only access is toclaude.ai. -
Watch the Network tab (the definitive check). Open claude.ai, open DevTools (F12) → Network tab, then reload the page and use the extension. Every request it makes goes to
claude.aiitself — you will not see requests to any other domain. The only API calls it makes are to claude.ai's own endpoints (/api/organizationsand/api/.../chat_conversations). -
It can't silently update. Because you load it unpacked from this repo, it has no auto-update channel. The code you reviewed is the code that keeps running until you manually pull changes.
The extension reads your chat list (chat names, summaries, and project names) via claude.ai's own API, using your existing logged-in session. This is used purely to draw the colored project chips in the sidebar. That data:
- never leaves your browser — it is held in memory and logged to the DevTools console for inspection;
- is not sent to the extension's author or any third party;
- the only thing persisted is your sidebar width and a per-project color map, stored
in
localStorageon claude.ai (cwt.sidebarWidth,cwt.projectHues).
No credentials, cookies, or message contents are collected, stored, or transmitted.
| File | Purpose |
|---|---|
extension/manifest.json |
Manifest V3 definition |
extension/content.js |
Content script (resize handle + project chips) |
extension/styles.css |
Styles for the injected elements |
claude.ai's markup and API are not public and may change at any time, which can break this extension. It is provided as-is, with no guarantee of continued compatibility.