scalpel@labs: ~/glossary/pinned-colors.mdx5 sections

Pinned Colors: Protect the Ones You Keep Coming Back To

Pinning marks a colour as protected. Pinned colours sort to the top, survive the 100-item cap, and are kept when you Clear history. A pinned colour can also be given a name.

extension: Scalpel Colorupdated: 2026-08-14read_time: 2 min
less pinned-colors.mdx

Why it matters

History is deliberately disposable: it collapses duplicates and drops the oldest colour past 100, which is exactly what you want for a working log. But a few colours are not disposable. The ones you reach for every day (your brand blue, a neutral grey you always come back to) deserve protection.

Pinning carves them out. They float to the top, they are not evicted when history fills up, and Clear history leaves them alone. It turns the same list into both a fast-moving scratchpad and a small, durable set of favourites, without a second feature to manage.

How it works

When you pin a colour, the extension marks it with a flag in storage. That flag affects three behaviours:

Sort order. Pinned colours appear at the top of the history list, newest-pinned-first, then regular history below.

Eviction. When the history exceeds 100 items, the oldest unpinned colour is deleted first. Pinned colours are never evicted by the cap, no matter how full history gets. (The edge case: if history is entirely pinned colours, new picks can still be added, but the list grows without bound. By design.)

Clear history. The "Clear history" button removes all unpinned items. Pinned colours survive it.

You can also name a pinned colour. A name is optional but pairs well with pinning: you're protecting a colour and giving it a human label so you can find it faster.

What does not matter

Pinning is not the same as saving a palette. A saved palette is a curated group you can export to JSON or CSS variables. A pinned colour is a single entry in history that doesn't get thrown away. Use pinning for the two or three colours you use every session. Use saved palettes for a complete, named set.

Pinning doesn't sync across devices. Everything lives in chrome.storage.local, on your machine, so pinned colours don't follow you to another browser or computer. That's by design: the extension makes zero network requests, so there's nowhere for them to sync.

Code example

// Pinned colour structure in chrome.storage.local
{
  "colour-history": [
    {
      "hex": "#38bdf8",
      "source": "eyedropper",
      "timestamp": 1718123456789,
      "pinned": true,
      "name": "Brand blue"    // Optional name
    },
    {
      "hex": "#f3f4f6",
      "source": "harvest",
      "timestamp": 1718023456789,
      "pinned": true,
      "name": "Neutral grey"
    },
    {
      "hex": "#7c3aed",
      "source": "manual",
      "timestamp": 1718000456789,
      "pinned": false         // Regular history entry, can be evicted
    }
  ]
}

// On Clear history, unpinned items vanish; pinned ones remain
// Sort order: pinned items first, newest-pinned-first, then unpinned

How Scalpel Color shows it

Open the History tab. Each colour row has a star icon on the left. Click to pin or unpin a colour. Pinned colours float to the top and their star fills in. Click the three-dot menu on any history row to name it, or use the "Save as palette" option to save a whole group of colours together. The "Clear history" button at the bottom removes only unpinned items, leaving your pinned colours untouched.