1 min read

Taming the Bookmark Jungle with Claude Code and Vimium

Over time, my Edge bookmarks had turned into a digital junk drawer. A thousand+ lines of JSON, half-forgotten folders, and no quick way to reach the sites I actually need every day.

So I finally cleaned it up. Here's what I did, and how Claude Code became my mechanic's stand for the job.

Discovering the Bookmark File

On macOS, Edge keeps everything in a single JSON file:

~/Library/Application Support/Microsoft Edge/Default/Bookmarks

Before touching anything, I made backups. Then I peeked inside — thousands of lines of nested folders, URLs, and metadata.

Analyzing with Claude Code

Instead of hand-editing JSON, I used Claude Code. The workflow:

  1. Load the file into a Claude Code project (always a copy, never the live one).
  2. Ask for a schema map — structure of roots, folders, and URL nodes.
  3. Flatten for analysis — create a TSV with path, name, URL, type, GUID to spot duplicates.
  4. Define target structure — rules for where Jira, GitHub, dashboards, etc. should live.
  5. Generate a dry-run reorg plan — mapping of old paths to new destinations.
  6. Write new JSON — preserve all GUIDs and dates, only move nodes.
  7. Validate — confirm total counts match and all roots are intact.

By keeping IDs and metadata, Edge sync didn't complain.

The New Structure

Top-level shortcuts: GitHub, Jira, dashboards (dev/stage/prod), Argo, Hacker News

Organized folders: Work/Dev, Learning, Reading, Watch List, Personal

No more scrolling through endless folders — core tools visible at a glance.

Vimium Superpowers

Reorganizing was half the battle. The real upgrade was pairing it with Vimium.

Custom search engines let me jump anywhere in two keystrokes:

o + pr      → GitHub my PRs
o + jira    → Jira board
o + dashdev → Dev Dashboard
b + term    → Bookmark search

It completely bypasses the browser's sluggish address bar suggestions.

Takeaways

  • Use Claude Code not just for code, but for structured JSON editing with rules.
  • Preserve metadata (GUIDs, timestamps) to keep browser sync happy.
  • Layer in Vimium to unlock keyboard-first navigation.