βββββββ βββββββ βββββββ βββββββββ ββββββ βββ
βββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββ βββββββββββ βββ βββββββββββ
βββββββ βββ βββββββββββ βββ βββββββββββ
βββ ββββββββββββ βββ βββ βββ βββββββββββ
βββ βββββββ βββ βββ βββ βββ βββββββββββ
a session picker for Claude Code
search every past session Β· jump back in Β· move history between folders
curl -fsSL https://portal.cybercorpresearch.com/install.sh | bash
macOS / Linux Β· needs Claude Code + zsh Β· installs fzf, wires ~/.zshrc
type to re-rank Β· β΅ jump Β· ^N new here Β· ^Y copy Β· ^E older versions Β· ^/ preview
β― portal go "the webhook retry fix"
β teleport ~/code/acme/billing (0.94)
βΈ resume f4e9b2c1 β fix-webhook-retry-loop
β― cd ~/code/acme/gateway
β― portal pull "auth refactor"
β pulled refactor-auth-middleware β here
βΈ resuming forked β original untouched
β― portal mv ~/code/acme/api ~/code/platform/api
β moved folder β ~/code/platform/api
β session a1b2c3d8 migrated
β 3 session(s) now live at the new path
β― portal status
β billing fix-webhook-retry-loop live Β· dirty:2
api refactor-auth-middleware unpushed:3
infra migrate-postgres-to-d1 dirty:11
β 24 folders Β· 3 dirty Β· 1 unpushed Β· 1 live
β― portal ls --json | jq -r
'.[] | select(.orphan) | .title'
research-vector-databases
old-exporter-prototype
β― portal doctor
β 7c3d91aa research-vector-databases
was: ~/code/old/searchsvc
1) ~/code/acme/searchsvc
relink to [1]: 1
β relinked β ~/code/acme/searchsvc
portal go "the stripe retry thing"
drops you back mid-task. No grep, no digging.portal mv
carries each
folder's history as you restructure; portal doctor
relinks ones you already moved.portal pull "auth refactor"
β history follows, resumes forked, original untouched.portal ls --json | jq -r '[.[] | select(now - .mtime < 86400)] | sort_by(-.mtime)[] | "\(.project) \(.title)"'
β everything you touched in 24h, newest first.portal status | grep -q unpushed && echo "don't close yet"
β one line in your logout hook; never lose a commit again.