npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

caflip

v0.4.0

Published

A fast account switcher for coding agents like Claude Code and Codex.

Readme

caflip (Coding Agent Flipper)

A fast account switcher for coding agents like Claude Code and Codex.

caflip provider + account interactive flow Pick provider first, then switch account.

caflip is built for one job: if you have multiple Claude or Codex accounts, switch between them quickly.

Today, caflip supports both Claude Code and Codex accounts. Your skills, settings, themes, CLAUDE.md, MCP servers, keybindings, and all other configuration stay exactly the same while switching accounts.

Use case: you have personal/work Claude or Codex accounts and want to switch quickly without re-login flows every time.

Platform Support

| Platform | Credential Storage | |---|---| | macOS | System Keychain | | Linux | CLAUDE_CONFIG_DIR/.credentials.json when set, otherwise ~/.claude/.credentials.json; secret-tool is kept as compatibility sync | | WSL | Same as Linux | | Windows | Not yet supported |

Install

Binary (recommended)

curl -fsSL https://raw.githubusercontent.com/LucienLee/caflip/main/install.sh | bash

To uninstall the standalone binary installed by this script:

curl -fsSL https://raw.githubusercontent.com/LucienLee/caflip/main/uninstall.sh | bash

Via npm (Node.js)

npm install -g caflip

Via Bun

bun install -g caflip

For package-manager installs, uninstall with the same package manager:

npm uninstall -g caflip
bun remove -g caflip

Local Development

bun run dev -- help

Quick Start

# Show current active account / all managed accounts across both providers
caflip status
caflip list

# Pick provider interactively, then add/remove/login
caflip add
caflip remove
caflip login

# Add your first Claude account (must already be logged in)
caflip claude add --alias personal

# Add another Claude account
caflip claude add --alias work

# Pick provider interactively, then pick account
caflip

# Switch Claude by alias
caflip claude work
caflip claude personal

# Rotate Claude accounts
caflip claude next

# Use Codex provider explicitly
caflip codex add --alias codex-work
caflip codex list
caflip codex next

# Run official provider login through caflip, then register the session
caflip claude login
caflip codex login

# Pass provider-specific flags after --
caflip claude login -- --email [email protected] --sso
caflip codex login -- --device-auth

After switching, restart the target CLI (Claude Code or Codex) to pick up new authentication.

Commands

| Command | Description | |---|---| | caflip | Interactive provider picker (Claude/Codex) | | caflip list | List managed accounts for Claude and Codex | | caflip status | Show current active account for Claude and Codex | | caflip add [--alias name] | Pick provider, then add current account | | caflip login [-- <args...>] | Pick provider, then run provider login and register the resulting session | | caflip remove [email] | Pick provider, then remove an account | | caflip claude [command] | Run command for Claude provider | | caflip codex [command] | Run command for Codex provider | | caflip [provider] | Interactive account picker for that provider | | caflip [provider] <alias> | Switch by alias for that provider | | caflip [provider] list | List managed accounts | | caflip [provider] add [--alias name] | Add current account | | caflip [provider] login [-- <args...>] | Run provider login and register the resulting session | | caflip [provider] remove [email] | Remove an account | | caflip [provider] next | Rotate to next account | | caflip [provider] status | Show current active account | | caflip [provider] alias <name> [account] | Set alias for current or target account | | caflip help | Show help |

Alias Usage

# Set alias for current active account
caflip claude alias work

# Set alias by list number
caflip codex list
# 1: [email protected] · team(org-ab12Cd)
# 2: [email protected] · team(org-xy98Qw)
caflip codex alias aibor 2

# Reuse an existing alias as the target
caflip claude alias primary work

# Email works only when it matches exactly one managed account
caflip codex alias work [email protected]

<account> accepts:

  • the account number shown in caflip [provider] list
  • an existing alias
  • an email, only when that email matches exactly one managed account

If the same email exists in multiple workspaces or organizations, use the list number or an existing alias instead.

Codex display labels use provider metadata conservatively:

  • workspace plans such as team or business show email · plan(orgShortId)
  • free shows email · free
  • alias is the primary human-readable name when you need your own team label

add, remove, and login can be used without a provider prefix. In that case, caflip asks you to choose Claude or Codex first, then continues the normal command flow.

remove target accepts email only. Omit it to choose from the interactive picker after selecting a provider.

login can be used without arguments for the default login flow. Pass provider-specific flags after --:

caflip login
caflip claude login
caflip claude login -- --email [email protected] --sso
caflip codex login -- --device-auth

status shows the currently active account for the selected provider. It does not list every saved account.

Use list when you want to inspect all managed accounts for a provider.

Shell Prompt Integration

Show the current account in your prompt:

# .zshrc
PROMPT='$(caflip claude status) > '
PROMPT='$(caflip codex status) > '

Account data lives in:

  • ~/.caflip-backup/claude/
  • ~/.caflip-backup/codex/

On Linux and WSL, caflip follows Claude's config root for active Claude credentials and config:

  • if CLAUDE_CONFIG_DIR is set, caflip reads "$CLAUDE_CONFIG_DIR/.credentials.json" and "$CLAUDE_CONFIG_DIR/.claude.json"
  • otherwise it falls back to ~/.claude/.credentials.json and then Claude's standard config lookup

Credits

Inspired by cc-account-switcher.

License

MIT