Context Picker (Ctrl+P)

Trust and control are features, not disclaimers.

What "context" means here

Context = what gets sent to the agent alongside your prompt. Hash never executes without your approval.

The four context categories

CategoryWhat it includesAuto-selected?
AutoDetectcwd, git branch, kubectl contextYes
HistoryRecent commands (last 10)No — you pick
EnvEnvironment variablesNo — you pick
CustomAnything you addNo

How Ctrl+P works

  1. Press Ctrl+P before sending a ?? request
  2. Use ↑/↓ to navigate items
  3. Press Space to toggle selection
  4. Press Enter to confirm and send

Shortcuts:

  • a — select all
  • n — deselect all
  • Esc — cancel

Size management

Context has a default limit of 8KB. The picker shows a size gauge:

  • Green: <50% of limit
  • Yellow: 50–80%
  • Red: >80% — trim something

Large LastOutput (from pipes) can hit this fast. Use the picker to trim.

Auto-detected context

Hash automatically detects:

  • cwd — current working directory
  • git branch — via git rev-parse --abbrev-ref HEAD
  • kubectl context — via kubectl config current-context

These are pre-selected but you can deselect them.

What gets sent (and what doesn't)

Sent (if selected):

  • Working directory path
  • Git branch name (not repo contents)
  • Kubernetes context name
  • Environment variable names and values you select
  • Recent command strings (not outputs unless piped)

Never sent automatically:

  • File contents (unless you pipe them)
  • Full environment (only what you select)
  • Passwords or secrets (if named obviously)

Practical playbook

  1. Start minimal. Select only what's relevant.
  2. Add on failure. If agent misunderstands, add context.
  3. Trim large outputs. Use | head -50 before piping.
  4. Check the gauge. Red = you're probably sending junk.

Common questions

"Why is my env var missing?"

Env vars are opt-in. Open Ctrl+P and select it.

"Why is git branch included?"

AutoDetect is on by default. Deselect if you don't want it.

"Can I set defaults?"

Not currently — AutoDetect items are always pre-selected. Use the picker to adjust each time.