How I Pulled the Full System Prompt from Meta's Support AI

How I Pulled the Full System Prompt from Meta's Support AI

June 2, 2026
Hacking the New York City Building Permit Portal

Hacking the New York City Building Permit Portal

April 16, 2026

Blog

Projects

Flappy Bird

Flappy Bird

Contact

About

© 2026 Don't Stop, LLC

Privacy PolicyTerms of Use

Projects

Merchant Clearing House

Point of Sale2026

A register, invoicing, and online checkout for small merchants, with payments built in.

Topics.so

Marketing2026

Social analytics that understand every post, and a studio that learns from the numbers.

Breaking & Entering

Social Media2026

A marketing media brand's site, rebuilt with AI.

ChatPEP

AI2026

An AI research assistant for peptides.

DisplayList.fun

Wearables2026

A list app for Meta Ray-Ban Display glasses.

Fair.tickets

Entertainment2026

Ticketing with zero fees, built for creators.

Nødro

Productivity2025

A scheduling link built with restraint.

Rhythm

Entertainment2023

A streaming service for full concerts.

Chicago.care

Healthcare2022

A vaccine and care finder, featured on NBC.

GCN

Cryptocurrency2022

Bitcoin mining for everyone.

Open source

claude-account-switcher

Open Source2026

Switch Claude Code accounts from the VS Code status bar, on any platform.

NG

name-to-gender

Open Source2026

Input a first name and get a predicted gender with a probability score.

UI

mrbd-ui-kit

Open Source2026

A UI framework for building Meta Ray-Ban Display web apps.

TT

tailwindcss-text-box-trim

Open Source2026

A Tailwind CSS plugin for trimming the whitespace around text.

claude-account-switcher

Switch Claude Code accounts without leaving VS Code.

Timeline
September 2026 - Present
VS Code with the Switch Claude account picker open, listing Work as the active account, Personal, and Side project with an expired refresh token, above an option to log in to another account. The status bar shows Work.
The account picker and the status bar item, shown with sample accounts.

claude-account-switcher is a VS Code extension for Claude Code on macOS, Linux, and Windows. Click the account in the status bar, pick another, and Claude Code signs in as that account. Every account shares one set of conversations, projects, and settings.

I keep more than one Claude account, and the switcher I tried could not find the login on a Mac. So I built one in an afternoon and had it ready to open source that evening.

Timeline

  1. September 16, 2026, afternoon

    The login was somewhere else

    The switcher I installed swapped a credentials file in ~/.claude. On macOS, Claude Code keeps its login in the Keychain instead, and a token refresh removes that file, so swapping it changed nothing.

  2. September 16, 2026, afternoon

    One history, many logins

    A separate config folder per account would have worked, but it splits conversations, projects, and settings apart. I wanted them shared, so the extension keeps one ~/.claude and swaps only the Keychain item. Reading the Claude CLI showed how it names that item, including the hash it adds when CLAUDE_CONFIG_DIR is set.

  3. September 16, 2026, 4:11 pm

    Switching, eight minutes later

    Built, installed, and switching accounts eight minutes after deciding to make it. The token format came from the CLI and was tested against throwaway Keychain items, never a real login.

  4. September 16, 2026, evening

    Ready for open source

    A release pass in under half an hour: one function per file, a tsup build, full docs, and a test suite held at 100% coverage in CI. Each regression test was checked by putting its bug back and watching the test fail.

    • Tokens reach the macOS security tool over stdin, never the process list
    • Every Keychain write is read back and compared before it counts
    • Rotated tokens are saved before each switch, every five minutes, and when VS Code closes
    • Every window reads state from disk and writes atomically, so one never saves over another
  5. September 16, 2026, night

    Every platform

    Linux and Windows keep Claude Code's login in a credentials file instead of a Keychain, so the extension swaps that file there and keeps each saved account's tokens in the editor's secret storage. A Mac uses the same file when the Keychain turns a write away, such as over SSH.

  6. Up next

    Marketplace and Open VSX

    A version bump publishes to the VS Code Marketplace and Open VSX and cuts a GitHub release, so Cursor, Windsurf, and VSCodium can install it too.

Impact

  • One click in the status bar to move between accounts, with one shared history.
  • Tests held at 100% coverage in CI, plus tests that run against the real Keychain.
  • No network requests and no telemetry, and saved tokens never leave the Keychain or the editor's secret storage.

My role

Sole author and maintainer: the extension, the tests, CI and releases, and the docs.

Written in TypeScriptOpen source on GitHub
  • TypeScript
  • VS Code
  • macOS Keychain
  • Vitest
  • GitHub Actions
PreviousBreaking & EnteringA marketing media brand's site, rebuilt with AI.
UI
Nextmrbd-ui-kitA UI framework for building Meta Ray-Ban Display web apps.